create-pathfinder 1.7.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +3 -1
- package/CLAUDE.md +22 -0
- package/README.md +383 -65
- package/context/ai-interaction.md +78 -38
- package/context/coding-standards.md +119 -60
- package/copy-list.json +1 -0
- package/package.json +2 -1
- package/roles/developer.md +37 -0
- package/roles/planner.md +38 -0
- package/roles/tester.md +40 -0
- package/skills/challenge-me/SKILL.md +11 -7
- package/skills/complete-feature/SKILL.md +16 -10
- package/skills/handoff/SKILL.md +24 -4
- package/skills/kickstart-pathfinder/SKILL.md +6 -1
- package/skills/learning-review/SKILL.md +9 -6
- package/skills/load-feature/SKILL.md +20 -9
- package/skills/prototype/SKILL.md +3 -1
- package/skills/quiz-me/SKILL.md +33 -7
- package/skills/review-feature/SKILL.md +19 -11
- package/skills/role/SKILL.md +33 -0
- package/skills/setup-tracker/SKILL.md +42 -0
- package/skills/start-feature/SKILL.md +19 -15
- package/skills/sync-tracker/SKILL.md +81 -0
- package/skills/teach-architecture/SKILL.md +6 -5
- package/skills/teach-feature/SKILL.md +11 -8
- package/skills/to-specs/SKILL.md +41 -25
- package/skills/whereami/SKILL.md +87 -0
- package/src/cli.mjs +2 -1
- package/src/detect.mjs +1 -1
- package/src/install.mjs +5 -1
- package/src/kickstart-prompt.mjs +1 -1
- package/src/kit.mjs +70 -1
- package/templates/CHANGELOG.template.md +2 -1
- package/templates/feature-spec.template.md +19 -75
- package/templates/history.template.md +12 -0
- package/templates/lesson.template.md +22 -51
- package/templates/project-overview.template.md +80 -145
- package/context/current-feature.md +0 -46
- package/context/features/example-feature-spec.md +0 -103
- package/context/history.md +0 -14
- package/context/learning/learner-profile.md +0 -35
- package/context/learning/lessons/.gitkeep +0 -0
- package/context/learning/progress.md +0 -28
- package/context/project-overview.md +0 -211
- package/templates/progress-entry.template.md +0 -23
package/AGENTS.md
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Read `CLAUDE.md` first.
|
|
4
4
|
|
|
5
|
-
Project truth lives in `context/`. Follow the technology and delivery choices documented in `context/project-overview.md`; do not assume a framework, package manager, branch model, or release process.
|
|
5
|
+
Project truth lives in `context/`. Follow the technology and delivery choices documented in `context/project-overview.md`; do not assume a framework, package manager, branch model, or release process. That file, like `context/features/`, `context/history.md`, `context/current-feature.md`, and `context/handoff.md`, is created by the workflow that first needs it — its absence is normal, not an error. Track the durable ones in Git; `context/current-feature.md` and `context/handoff.md` are transient session state and belong in `.gitignore`. Never ignore `context/` as a whole.
|
|
6
6
|
|
|
7
7
|
Use the smallest relevant context for the active task. Keep each delivery chunk stable, reviewable, and verifiable.
|
|
8
8
|
|
|
9
|
+
The roles are `planner`, `developer`, and `tester`. When the human names one, read `roles/<name>.md` before anything else and follow it for that session. A role is a declarative contract stating what a worker is responsible for and what it must not do, where a skill states how to perform a task. Naming one is the only thing that activates it, so a session where none is named behaves exactly as if `roles/` were not there.
|
|
10
|
+
|
|
9
11
|
Canonical skills live under `skills/` and are the only behavior contract; anything under `.claude/skills/` or `.agents/skills/` is a generated pointer to one, so edit the canonical file and regenerate the adapter.
|
|
10
12
|
|
|
11
13
|
If this tool has no native skill discovery, invoke a skill by reading its canonical file directly: `Use skills/<name>/SKILL.md and follow it exactly.` That is the whole fallback — one line, and no second copy of a skill anywhere to find.
|
package/CLAUDE.md
CHANGED
|
@@ -15,6 +15,24 @@ For feature work, usually read:
|
|
|
15
15
|
|
|
16
16
|
Do not load the whole repo by default.
|
|
17
17
|
|
|
18
|
+
Pathfinder ships two context files: `ai-interaction.md` and
|
|
19
|
+
`coding-standards.md`. Everything else in `context/` — `project-overview.md`,
|
|
20
|
+
`features/`, `history.md`, `current-feature.md`, `handoff.md` — is written by
|
|
21
|
+
the workflow that first needs it. A missing file here is normal; skip it rather
|
|
22
|
+
than treating it as an error.
|
|
23
|
+
|
|
24
|
+
Track the durable ones in Git and ignore the two transient ones,
|
|
25
|
+
`current-feature.md` and `handoff.md`. `context/coding-standards.md` carries the
|
|
26
|
+
rule; do not ignore `context/` wholesale.
|
|
27
|
+
|
|
28
|
+
## Roles
|
|
29
|
+
|
|
30
|
+
When the human names a role, read `roles/<name>.md` before anything else and follow it for the session. A role says what a worker is responsible for, what it reads, and what it must not do, where a skill says how to perform a task.
|
|
31
|
+
|
|
32
|
+
The roles are `planner`, `developer`, and `tester`. Activate one with `/role <name>`.
|
|
33
|
+
|
|
34
|
+
Naming a role is the only thing that activates one. If the human names none, ignore `roles/` and work as this guide otherwise describes. A role narrows what a session may do and never widens it. Human authority sits outside the role system: approval, acceptance, merge, and release are always the human's.
|
|
35
|
+
|
|
18
36
|
## Project-selected policies
|
|
19
37
|
|
|
20
38
|
Follow the stack, architecture, commands, Git workflow, review policy, and release process documented in `context/project-overview.md`.
|
|
@@ -75,4 +93,8 @@ An adapter carries the canonical skill's frontmatter and a pointer to it, and no
|
|
|
75
93
|
- `learning-review` — review accumulated lessons, identify gaps, and create a reinforcement plan
|
|
76
94
|
- `reflect` — review completed work, and the reflection itself, and propose reusable workflow improvements for human approval
|
|
77
95
|
- `handoff` — preserve useful state between sessions or tools
|
|
96
|
+
- `role` — activate one named role for the current session
|
|
97
|
+
- `whereami` — report a compact read-only snapshot of the current session
|
|
78
98
|
- `skillsmith` — teach and create small local skills
|
|
99
|
+
- `setup-tracker` — configure an optional external work tracker
|
|
100
|
+
- `sync-tracker` — publish approved feature specs to the configured tracker, one-way and idempotently
|
package/README.md
CHANGED
|
@@ -1,87 +1,306 @@
|
|
|
1
1
|

|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**A reusable workflow kit for directing AI agents through software delivery,
|
|
4
|
+
while keeping judgment and consequential decisions human.**
|
|
4
5
|
|
|
5
|
-
This package
|
|
6
|
+
This package copies [Pathfinder](https://pathfinder-kit.vercel.app) into a Git
|
|
7
|
+
repository.
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
10
|
npx create-pathfinder
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
Pathfinder is a scaffolding CLI you run when setting up or updating a project.
|
|
14
|
+
It is not a runtime dependency and adds nothing to your application's
|
|
15
|
+
`node_modules`.
|
|
12
16
|
|
|
13
|
-
Then
|
|
17
|
+
Then start Pathfinder.
|
|
18
|
+
|
|
19
|
+
Claude Code:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
/kickstart-pathfinder
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Codex:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
$kickstart-pathfinder
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Any other coding agent:
|
|
14
32
|
|
|
15
33
|
```text
|
|
16
34
|
Use skills/kickstart-pathfinder/SKILL.md. Help me initialize this project.
|
|
17
35
|
Do not install packages or write product code yet.
|
|
18
36
|
```
|
|
19
37
|
|
|
20
|
-
|
|
38
|
+
For the workflow itself, roles, skills, and guides, see
|
|
39
|
+
[pathfinder-kit.vercel.app](https://pathfinder-kit.vercel.app).
|
|
40
|
+
|
|
41
|
+
Everything below documents the installer.
|
|
42
|
+
|
|
43
|
+
## Run it
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npx create-pathfinder
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
That is the intended invocation.
|
|
50
|
+
|
|
51
|
+
You can also use:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npm exec create-pathfinder
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
or install the CLI globally:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm i -g create-pathfinder
|
|
61
|
+
create-pathfinder
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Do not use:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm i create-pathfinder
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
for normal Pathfinder setup.
|
|
71
|
+
|
|
72
|
+
That installs the CLI as a dependency in your project's `package.json` and
|
|
73
|
+
`node_modules`; it does not run the scaffolding process.
|
|
21
74
|
|
|
22
75
|
## What it installs
|
|
23
76
|
|
|
24
|
-
The installer copies
|
|
77
|
+
The installer copies six kit entries into your repository:
|
|
25
78
|
|
|
26
79
|
| Path | What it is |
|
|
27
80
|
| --- | --- |
|
|
28
|
-
| `AGENTS.md`, `CLAUDE.md` | Entry files that tell
|
|
29
|
-
| `context/` | Project
|
|
30
|
-
| `
|
|
31
|
-
| `
|
|
81
|
+
| `AGENTS.md`, `CLAUDE.md` | Entry files that tell supported agents how to work in the project |
|
|
82
|
+
| `context/` | Project standards and interaction rules; other context is created only when needed |
|
|
83
|
+
| `roles/` | Three optional responsibility contracts: planner, developer, tester |
|
|
84
|
+
| `skills/` | Reusable procedures for discovery, specs, delivery, debugging, review, learning, and optional work tracking |
|
|
85
|
+
| `templates/` | Minimal starting shapes; records are created from them later, when a workflow needs one |
|
|
86
|
+
|
|
87
|
+
A fresh Pathfinder 2.0 project begins with only:
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
context/
|
|
91
|
+
├── ai-interaction.md
|
|
92
|
+
└── coding-standards.md
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Other context files are created lazily by the workflow that needs them.
|
|
96
|
+
|
|
97
|
+
Pathfinder does not copy its own repository `README.md`, `CHANGELOG.md`, CI
|
|
98
|
+
configuration, or brand assets. Your project gets the workflow kit, not the
|
|
99
|
+
repository that maintains it.
|
|
100
|
+
|
|
101
|
+
### Generated tool adapters
|
|
32
102
|
|
|
33
|
-
|
|
103
|
+
If you choose native tool integration, the installer also generates adapters:
|
|
34
104
|
|
|
35
105
|
| Path | What it is |
|
|
36
106
|
| --- | --- |
|
|
37
|
-
| `.claude/skills
|
|
107
|
+
| `.claude/skills/` | Generated Claude Code skill adapters |
|
|
108
|
+
| `.agents/skills/` | Generated Codex skill adapters |
|
|
38
109
|
|
|
39
|
-
|
|
110
|
+
These are derived from the canonical files under `skills/`; they are not a
|
|
111
|
+
second copy of the behavior.
|
|
40
112
|
|
|
41
113
|
## What it will not do to your repository
|
|
42
114
|
|
|
43
|
-
|
|
115
|
+
The installer is deliberately conservative.
|
|
116
|
+
|
|
117
|
+
### It never silently overwrites
|
|
118
|
+
|
|
119
|
+
Files that already exist are left exactly as they are and listed in the
|
|
120
|
+
summary.
|
|
121
|
+
|
|
122
|
+
Use:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
npx create-pathfinder --force
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
only when you want files that already exist overwritten — any copied file,
|
|
129
|
+
whoever created or edited it — and a file you wrote at a path an adapter
|
|
130
|
+
would occupy replaced.
|
|
131
|
+
|
|
132
|
+
### It requires a Git repository
|
|
133
|
+
|
|
134
|
+
Pathfinder installs into version control so its changes are reviewable and
|
|
135
|
+
undoable.
|
|
136
|
+
|
|
137
|
+
If the current directory is not a Git repository, an interactive run can offer
|
|
138
|
+
to initialize one.
|
|
139
|
+
|
|
140
|
+
If you decline, nothing is installed.
|
|
141
|
+
|
|
142
|
+
The installer does not run:
|
|
143
|
+
|
|
144
|
+
```text
|
|
145
|
+
git add
|
|
146
|
+
git commit
|
|
147
|
+
git push
|
|
148
|
+
git config
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
and it does not create or switch branches.
|
|
152
|
+
|
|
153
|
+
### It does not alter existing history
|
|
154
|
+
|
|
155
|
+
If the current directory is already a repository, or is inside one, Pathfinder
|
|
156
|
+
uses it as-is.
|
|
157
|
+
|
|
158
|
+
It does not reinitialize it.
|
|
159
|
+
|
|
160
|
+
### Dry runs are actually dry
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
npx create-pathfinder --dry-run
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
shows the same installation plan without writing files, initializing Git,
|
|
167
|
+
changing the clipboard, or opening an editor.
|
|
168
|
+
|
|
169
|
+
### It only owns Pathfinder-generated adapters
|
|
170
|
+
|
|
171
|
+
An adapter at:
|
|
172
|
+
|
|
173
|
+
```text
|
|
174
|
+
.claude/skills/<name>/SKILL.md
|
|
175
|
+
.agents/skills/<name>/SKILL.md
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
belongs to Pathfinder only when:
|
|
179
|
+
|
|
180
|
+
1. `<name>` is a Pathfinder skill, and
|
|
181
|
+
2. the file contains the `pathfinder:adapter` marker Pathfinder generated.
|
|
182
|
+
|
|
183
|
+
Your own:
|
|
184
|
+
|
|
185
|
+
```text
|
|
186
|
+
settings.json
|
|
187
|
+
settings.local.json
|
|
188
|
+
agents
|
|
189
|
+
commands
|
|
190
|
+
hooks
|
|
191
|
+
skills
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
are not Pathfinder-owned.
|
|
44
195
|
|
|
45
|
-
|
|
46
|
-
- **It will not install outside a Git repository**, so whatever it writes is reviewable and undoable. In an empty directory it offers to run `git init` for you — and that is the only Git command it will ever run. No `add`, no `commit`, no config, no branch. If you say no, nothing is written.
|
|
47
|
-
- **It never touches an existing history.** A directory that is already a repository, or inside one, is never asked about and never initialized.
|
|
48
|
-
- **`--dry-run` reports the same plan the real install would carry out**, including any `git init`, without writing anything.
|
|
49
|
-
- **It owns a generated adapter, and nothing else in your tool's directory.** A file at `.claude/skills/<name>/SKILL.md` or `.agents/skills/<name>/SKILL.md` belongs to the installer only if that name is a Pathfinder skill *and* the file carries the `pathfinder:adapter` marker it wrote. Your `settings.json`, `settings.local.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, and nothing is ever deleted.
|
|
196
|
+
A file you created at a would-be adapter path is left alone and reported.
|
|
50
197
|
|
|
51
|
-
|
|
198
|
+
Pathfinder does not delete unrelated tool configuration.
|
|
199
|
+
|
|
200
|
+
## Re-running Pathfinder
|
|
201
|
+
|
|
202
|
+
Re-running:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
npx create-pathfinder
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
in a project that already uses Pathfinder is supported.
|
|
209
|
+
|
|
210
|
+
Without `--force`:
|
|
211
|
+
|
|
212
|
+
- canonical files you already have are preserved
|
|
213
|
+
- new Pathfinder files can be added
|
|
214
|
+
- Pathfinder-owned adapters are regenerated
|
|
215
|
+
- unchanged adapters remain byte-identical
|
|
216
|
+
- unrelated files remain untouched
|
|
217
|
+
|
|
218
|
+
This is also how older Pathfinder projects gain newer generated adapters:
|
|
219
|
+
re-run the installer rather than using a separate migration command.
|
|
52
220
|
|
|
53
221
|
## Native skills for your coding tool
|
|
54
222
|
|
|
55
|
-
Pathfinder's skills
|
|
223
|
+
Pathfinder's canonical skills live at:
|
|
224
|
+
|
|
225
|
+
```text
|
|
226
|
+
skills/<name>/SKILL.md
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Claude Code and Codex can discover skills from their own directories, so the
|
|
230
|
+
installer can generate small adapters for them.
|
|
231
|
+
|
|
232
|
+
Non-interactively:
|
|
56
233
|
|
|
57
234
|
```bash
|
|
58
235
|
npx create-pathfinder --agents claude-code,codex
|
|
59
236
|
```
|
|
60
237
|
|
|
61
|
-
|
|
238
|
+
Supported ids:
|
|
239
|
+
|
|
240
|
+
| Id | Generated path | Example invocation |
|
|
62
241
|
| --- | --- | --- |
|
|
63
242
|
| `claude-code` | `.claude/skills/<name>/SKILL.md` | `/reflect` |
|
|
64
|
-
| `codex` | `.agents/skills/<name>/SKILL.md` |
|
|
243
|
+
| `codex` | `.agents/skills/<name>/SKILL.md` | `$reflect` |
|
|
244
|
+
|
|
245
|
+
Each adapter carries the skill's name and description and delegates to:
|
|
246
|
+
|
|
247
|
+
```text
|
|
248
|
+
skills/<name>/SKILL.md
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
The behavior remains canonical in one place.
|
|
252
|
+
|
|
253
|
+
You may configure one tool, both, or neither.
|
|
254
|
+
|
|
255
|
+
Choosing one never configures the other.
|
|
256
|
+
|
|
257
|
+
Pathfinder also never writes to personal/global skill directories such as:
|
|
258
|
+
|
|
259
|
+
```text
|
|
260
|
+
~/.claude/skills/
|
|
261
|
+
~/.agents/skills/
|
|
262
|
+
```
|
|
65
263
|
|
|
66
|
-
|
|
264
|
+
### Interactive selection
|
|
67
265
|
|
|
68
|
-
|
|
266
|
+
In an interactive terminal, the installer asks which supported tools to
|
|
267
|
+
configure.
|
|
69
268
|
|
|
70
|
-
|
|
269
|
+
Detected tools influence the default selection only. Detection does not
|
|
270
|
+
authorize writes by itself.
|
|
71
271
|
|
|
72
|
-
|
|
272
|
+
`Enter` accepts the tools found on your machine, and selecting none is always
|
|
273
|
+
available. Each option shows the directory it writes to before you choose it.
|
|
274
|
+
Under `PATHFINDER_PROMPT=classic` the same question is a numbered list answered
|
|
275
|
+
comma-separated, with `0` for none.
|
|
73
276
|
|
|
74
|
-
|
|
277
|
+
A third entry, **Something else…**, generates nothing and says so: the kit still
|
|
278
|
+
installs `AGENTS.md` at the repository root, which Codex, Cursor, and several
|
|
279
|
+
others read, and any agent can be given the line the adapters delegate to —
|
|
280
|
+
`Use skills/<name>/SKILL.md and follow it exactly.`
|
|
75
281
|
|
|
76
|
-
|
|
282
|
+
Without an interactive terminal, no tool adapters are generated unless
|
|
283
|
+
`--agents` is provided explicitly.
|
|
77
284
|
|
|
78
|
-
|
|
285
|
+
An unknown agent id exits 2 rather than quietly installing nothing.
|
|
286
|
+
|
|
287
|
+
## The Kickstart prompt
|
|
288
|
+
|
|
289
|
+
Every successful install prints the prompt that starts Pathfinder.
|
|
290
|
+
|
|
291
|
+
| Configured tool | Prompt |
|
|
79
292
|
| --- | --- |
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
| both
|
|
293
|
+
| Claude Code | `/kickstart-pathfinder` |
|
|
294
|
+
| Codex | `$kickstart-pathfinder` |
|
|
295
|
+
| both or neither | `Use skills/kickstart-pathfinder/SKILL.md. Help me initialize this project. Do not install packages or write product code yet.` |
|
|
296
|
+
|
|
297
|
+
The prompt is always printed.
|
|
298
|
+
|
|
299
|
+
Copying it to the clipboard is optional.
|
|
83
300
|
|
|
84
|
-
|
|
301
|
+
## Clipboard behavior
|
|
302
|
+
|
|
303
|
+
In an interactive terminal, Pathfinder can ask:
|
|
85
304
|
|
|
86
305
|
```text
|
|
87
306
|
? Copy that prompt to your clipboard? This replaces what is on it now.
|
|
@@ -92,64 +311,163 @@ In a terminal you are then asked whether to copy it, in a question that says wha
|
|
|
92
311
|
↑↓ move enter confirm
|
|
93
312
|
```
|
|
94
313
|
|
|
95
|
-
|
|
96
|
-
|
|
314
|
+
Nothing is copied without an explicit yes.
|
|
315
|
+
|
|
316
|
+
The clipboard is left untouched when:
|
|
317
|
+
|
|
318
|
+
- you choose No
|
|
319
|
+
- the question is unanswered
|
|
320
|
+
- `--no-clipboard` is used
|
|
321
|
+
- `--yes` is used
|
|
322
|
+
- `--dry-run` is used
|
|
323
|
+
- the run is non-interactive
|
|
324
|
+
|
|
325
|
+
Pathfinder never reads the clipboard.
|
|
97
326
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
327
|
+
When copying is requested, it uses an existing system utility such as:
|
|
328
|
+
|
|
329
|
+
```text
|
|
330
|
+
pbcopy
|
|
331
|
+
clip.exe
|
|
332
|
+
wl-copy
|
|
333
|
+
xclip
|
|
334
|
+
xsel
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
If no supported clipboard command is available, or copying fails, installation
|
|
338
|
+
still succeeds and the prompt remains visible in the terminal.
|
|
101
339
|
|
|
102
340
|
## Opening the project
|
|
103
341
|
|
|
104
|
-
The
|
|
342
|
+
The final interactive question can offer to open the installed project in an
|
|
343
|
+
editor already available on the machine.
|
|
344
|
+
|
|
345
|
+
Supported editor commands are:
|
|
346
|
+
|
|
347
|
+
```text
|
|
348
|
+
code
|
|
349
|
+
cursor
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
If one is detected, Pathfinder can ask:
|
|
105
353
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
354
|
+
```text
|
|
355
|
+
? Open this project in VS Code?
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
If several are available, it offers a choice.
|
|
359
|
+
|
|
360
|
+
If none are available, no editor question is shown.
|
|
361
|
+
|
|
362
|
+
Nothing is launched without an explicit selection.
|
|
109
363
|
|
|
110
|
-
|
|
364
|
+
The project is not opened when:
|
|
111
365
|
|
|
112
|
-
-
|
|
113
|
-
-
|
|
366
|
+
- you decline
|
|
367
|
+
- the question is unanswered
|
|
368
|
+
- you choose `Don't open`
|
|
369
|
+
- `--no-open` is used
|
|
370
|
+
- `--yes` is used
|
|
371
|
+
- `--dry-run` is used
|
|
372
|
+
- the run is non-interactive
|
|
373
|
+
|
|
374
|
+
A failed editor launch does not turn a successful installation into a failed
|
|
375
|
+
one. Pathfinder reports the project directory so you can open it yourself.
|
|
114
376
|
|
|
115
377
|
## Options
|
|
116
378
|
|
|
117
379
|
| Option | Effect |
|
|
118
380
|
| --- | --- |
|
|
119
|
-
| `--agents <ids>` | Generate
|
|
120
|
-
| `--dry-run` |
|
|
121
|
-
| `--force` | Overwrite files that already exist, and replace a file you wrote at a path an adapter would occupy |
|
|
122
|
-
| `--git-init` |
|
|
123
|
-
| `--no-git-init` | Never
|
|
124
|
-
| `--no-clipboard` | Never offer to copy the Kickstart prompt
|
|
125
|
-
| `--no-open` | Never offer to
|
|
126
|
-
| `--yes`, `--no-input` |
|
|
381
|
+
| `--agents <ids>` | Generate adapters for comma-separated supported tools. Valid ids: `claude-code`, `codex`. Alias: `--agent` |
|
|
382
|
+
| `--dry-run` | Show what would happen without changing anything |
|
|
383
|
+
| `--force` | Overwrite files that already exist, and replace a file you wrote at a path an adapter would occupy. Off by default |
|
|
384
|
+
| `--git-init` | Initialize Git if the current directory is not already in a repository |
|
|
385
|
+
| `--no-git-init` | Never initialize Git; refuse installation instead |
|
|
386
|
+
| `--no-clipboard` | Never offer to copy the Kickstart prompt |
|
|
387
|
+
| `--no-open` | Never offer to launch an editor |
|
|
388
|
+
| `--yes`, `--no-input` | Ask nothing and use non-destructive defaults |
|
|
127
389
|
| `-h`, `--help` | Show usage |
|
|
128
390
|
|
|
129
|
-
|
|
391
|
+
`--yes` does **not** authorize Git initialization, tool configuration,
|
|
392
|
+
clipboard writes, or editor launches.
|
|
393
|
+
|
|
394
|
+
For scripted setup, specify the actions you actually want, for example:
|
|
395
|
+
|
|
396
|
+
```bash
|
|
397
|
+
npx create-pathfinder \
|
|
398
|
+
--yes \
|
|
399
|
+
--git-init \
|
|
400
|
+
--agents claude-code
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
## Prompt styles
|
|
404
|
+
|
|
405
|
+
By default, interactive terminals use an arrow-key selector.
|
|
406
|
+
|
|
407
|
+
Set:
|
|
408
|
+
|
|
409
|
+
```bash
|
|
410
|
+
PATHFINDER_PROMPT=classic npx create-pathfinder
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
to use numbered choices and `y` / `n` prompts instead.
|
|
130
414
|
|
|
131
415
|
| Variable | Effect |
|
|
132
416
|
| --- | --- |
|
|
133
|
-
| `PATHFINDER_PROMPT=classic` |
|
|
134
|
-
| `NO_COLOR` |
|
|
417
|
+
| `PATHFINDER_PROMPT=classic` | Use classic typed prompts instead of the interactive selector |
|
|
418
|
+
| `NO_COLOR` | Disable terminal color; does not change prompt style |
|
|
419
|
+
|
|
420
|
+
Classic mode is useful for:
|
|
135
421
|
|
|
136
|
-
|
|
422
|
+
- screen readers
|
|
423
|
+
- scripts driving terminal input
|
|
424
|
+
- users who prefer typed choices
|
|
137
425
|
|
|
138
|
-
|
|
426
|
+
A terminal narrower than 49 columns and `TERM=dumb` select the classic
|
|
427
|
+
presentation on their own. Either way, `y` and `n` answer a Yes/No question in
|
|
428
|
+
one keystroke; under `PATHFINDER_PROMPT=classic` it is asked as `[Y/n]` on one
|
|
429
|
+
line.
|
|
430
|
+
|
|
431
|
+
Questions are asked only when both stdin and stdout are terminals.
|
|
432
|
+
|
|
433
|
+
In CI, redirected, or piped execution:
|
|
434
|
+
|
|
435
|
+
- no interactive questions are shown
|
|
436
|
+
- Git initialization requires `--git-init`
|
|
437
|
+
- adapters require `--agents`
|
|
438
|
+
- the clipboard is untouched
|
|
439
|
+
- no editor is launched
|
|
139
440
|
|
|
140
441
|
## Requirements
|
|
141
442
|
|
|
142
|
-
Node 18 or newer
|
|
443
|
+
- Node.js 18 or newer
|
|
444
|
+
- a Git repository, or permission to initialize one
|
|
445
|
+
|
|
446
|
+
The `git` executable is required only when Pathfinder needs to run `git init`.
|
|
447
|
+
|
|
448
|
+
Inside an existing repository, Pathfinder identifies the repository from the
|
|
449
|
+
filesystem and does not need to run Git commands.
|
|
143
450
|
|
|
144
|
-
The
|
|
451
|
+
The package has no runtime dependencies and installs nothing into the
|
|
452
|
+
destination project's `node_modules`.
|
|
145
453
|
|
|
146
|
-
|
|
454
|
+
## After installation
|
|
147
455
|
|
|
148
|
-
|
|
456
|
+
Pathfinder itself is documented separately from the installer.
|
|
457
|
+
|
|
458
|
+
Start here:
|
|
149
459
|
|
|
150
460
|
- [Documentation](https://pathfinder-kit.vercel.app)
|
|
151
|
-
- [
|
|
152
|
-
- [
|
|
461
|
+
- [Getting started](https://pathfinder-kit.vercel.app/guides/getting-started/)
|
|
462
|
+
- [Workflow](https://pathfinder-kit.vercel.app/guides/workflow/)
|
|
463
|
+
- [Skills](https://pathfinder-kit.vercel.app/skills/)
|
|
464
|
+
|
|
465
|
+
Repository resources:
|
|
466
|
+
|
|
467
|
+
- [GitHub](https://github.com/rikilamadrid/pathfinder)
|
|
153
468
|
- [Changelog](https://github.com/rikilamadrid/pathfinder/blob/main/CHANGELOG.md)
|
|
469
|
+
- [Why Pathfinder is not a framework](https://github.com/rikilamadrid/pathfinder/blob/main/NOT_A_FRAMEWORK.md)
|
|
470
|
+
|
|
471
|
+
## License
|
|
154
472
|
|
|
155
473
|
MIT © Lamadrid Labs
|