Skip to content

Pathfinder v1.5.0

Choose a tag to compare

@rikilamadrid rikilamadrid released this 13 Aug 11:55
· 34 commits to main since this release
d7b7f70

Pathfinder now configures itself for the coding tool you actually use.

Frictionless start

npx create-pathfinder no longer refuses to run outside a Git repository. It explains why version control is required and offers to run git init — only git init, only in the current directory, never in a parent. Decline and nothing is written.

Before it writes anything it reports what it found: whether this is a repository, whether git is on your PATH, whether Pathfinder is already installed, and which supported tools are available. Findings set defaults and nothing else.

Native skill discovery

Pathfinder's skills now appear in your tool's own skill list instead of being a path you paste.

  • Claude Code — adapters generated at .claude/skills/<name>/SKILL.md, invoked as /reflect
  • Codex — adapters generated at .agents/skills/<name>/SKILL.md, invoked as $reflect

Pick one, both, or neither. In a terminal you are asked, with detected tools as the default; a scripted run configures nothing unless --agents claude-code,codex says so. Choosing one harness never generates, removes, or claims anything under the other's directory, and a personal skills directory such as $HOME/.agents/skills is never touched.

The question's last entry is Something else…, and it generates nothing. Name a tool Pathfinder cannot configure and it says so plainly, then names the two things that do work — AGENTS.md at the repository root, and the line the adapters delegate to anyway.

One behavior contract, in one place

Canonical skills live under skills/ and are the only behavior contract. Everything under .claude/skills/ or .agents/skills/ is a generated pointer to one, rendered from the canonical skill's frontmatter alone — so editing a skill body produces byte-identical adapters. Edit the canonical file; regenerate the adapter.

prompts/ is retired

A fresh install copies five entries instead of six. Every launcher in prompts/ was a wrapper that delegated by path to skills/<name>/SKILL.md, and its stated purpose — a fallback for tools that cannot discover local skills — was never what it did: a tool too weak to find a local skill is not helped by a second local file telling it to open the first one.

An existing project keeps its prompts/ directory. The installer only ever writes, so re-running over a 1.4.x project leaves those files byte-for-byte intact, and they keep working because they point at skills/, which still ships. No migration command, no cleanup step, no deprecation shim.

Onboarding

Every install ends by printing the one prompt that starts a session, matched to the tool you configured — /kickstart-pathfinder, $kickstart-pathfinder, or the neutral form for both or neither. In a terminal you are then asked whether to copy it, with the question saying that it replaces what is on your clipboard now. Nothing is copied without an explicit yes, no clipboard is ever read, and the prompt is printed either way.

The last question offers to open the project — only in an editor already on your PATH (code, cursor), never one you do not have. Both the copy and the launch are conveniences: if either fails, the installer says so in one line and still exits 0.

Safe, non-destructive upgrades

Re-running npx create-pathfinder in a project that already has Pathfinder is safe, requires no flags, and is idempotent. Canonical files you have edited are skipped and listed; files new in this version are written; adapters are regenerated, byte-identical if nothing changed.

The installer owns a file at an adapter path only if the name is a Pathfinder skill and the file carries the pathfinder:adapter marker it wrote. Your settings.json, agents, commands, hooks, and any skill of your own are never read and never written. A file you wrote at an adapter path is left alone and named in the summary. Nothing is ever deleted.

That is how a project installed before v1.5.0 gains adapters — one ordinary run.

New flags

--agents <ids>, --git-init, --no-git-init, --yes (alias --no-input), --no-clipboard, --no-open.

Questions are asked only when stdin and stdout are both terminals. Piped, redirected, or in CI, nothing is asked and nothing is prompted for.


Full detail in CHANGELOG.md.