copilotkit 4.24.0 → 4.25.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/README.md +75 -14
- package/cli-build-info.json +7 -7
- package/index.js +8544 -6674
- package/onboarding/index.json +2 -2
- package/onboarding/prompts/authenticate/start.md +50 -45
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +30 -8
- package/onboarding/prompts/credentials/plan.md +115 -49
- package/onboarding/prompts/credentials/settle-credentials.md +7 -5
- package/onboarding/prompts/credentials/write-plan.md +15 -15
- package/onboarding/prompts/deployment/choose-local.md +44 -7
- package/onboarding/prompts/deployment/local-evaluation.md +12 -6
- package/onboarding/prompts/fallback/best-effort.md +8 -8
- package/onboarding/prompts/feature/a2ui/implement.md +15 -8
- package/onboarding/prompts/feature/a2ui/plan.md +15 -7
- package/onboarding/prompts/feature/a2ui/proof.md +14 -7
- package/onboarding/prompts/feature/a2ui/start.md +15 -14
- package/onboarding/prompts/feature/channels/implement.md +21 -9
- package/onboarding/prompts/feature/channels/plan.md +15 -7
- package/onboarding/prompts/feature/channels/proof.md +14 -7
- package/onboarding/prompts/feature/channels/start.md +20 -13
- package/onboarding/prompts/feature/chat-suggestions/implement.md +15 -8
- package/onboarding/prompts/feature/chat-suggestions/plan.md +15 -7
- package/onboarding/prompts/feature/chat-suggestions/proof.md +14 -7
- package/onboarding/prompts/feature/chat-suggestions/start.md +15 -14
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +32 -18
- package/onboarding/prompts/feature/learning/plan.md +15 -7
- package/onboarding/prompts/feature/learning/proof.md +37 -13
- package/onboarding/prompts/feature/learning/start.md +15 -14
- package/onboarding/prompts/feature/open-generative-ui/implement.md +15 -8
- package/onboarding/prompts/feature/open-generative-ui/plan.md +15 -7
- package/onboarding/prompts/feature/open-generative-ui/proof.md +14 -7
- package/onboarding/prompts/feature/open-generative-ui/start.md +15 -14
- package/onboarding/prompts/feature/realtime-sync/implement.md +20 -12
- package/onboarding/prompts/feature/realtime-sync/plan.md +15 -7
- package/onboarding/prompts/feature/realtime-sync/proof.md +14 -7
- package/onboarding/prompts/feature/realtime-sync/start.md +14 -13
- package/onboarding/prompts/feature/rich-threads/implement.md +21 -13
- package/onboarding/prompts/feature/rich-threads/plan.md +15 -7
- package/onboarding/prompts/feature/rich-threads/proof.md +14 -7
- package/onboarding/prompts/feature/rich-threads/start.md +14 -13
- package/onboarding/prompts/feature/stop.md +9 -3
- package/onboarding/prompts/feature/voice/implement.md +15 -8
- package/onboarding/prompts/feature/voice/plan.md +16 -8
- package/onboarding/prompts/feature/voice/proof.md +14 -7
- package/onboarding/prompts/feature/voice/start.md +15 -14
- package/onboarding/prompts/framework/ag2.md +6 -5
- package/onboarding/prompts/framework/agno.md +6 -5
- package/onboarding/prompts/framework/built-in.md +9 -6
- package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
- package/onboarding/prompts/framework/crewai-flows.md +12 -4
- package/onboarding/prompts/framework/custom-ag-ui.md +8 -2
- package/onboarding/prompts/framework/deep-agents.md +6 -5
- package/onboarding/prompts/framework/google-adk.md +2 -2
- package/onboarding/prompts/framework/langgraph-fastapi.md +8 -5
- package/onboarding/prompts/framework/langgraph-python.md +8 -5
- package/onboarding/prompts/framework/langgraph-typescript.md +8 -5
- package/onboarding/prompts/framework/llamaindex.md +6 -5
- package/onboarding/prompts/framework/mastra.md +9 -6
- package/onboarding/prompts/framework/ms-agent-dotnet.md +12 -4
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +12 -4
- package/onboarding/prompts/framework/ms-agent-python.md +6 -5
- package/onboarding/prompts/framework/pydantic-ai.md +6 -5
- package/onboarding/prompts/framework/strands-python.md +10 -6
- package/onboarding/prompts/framework/strands-typescript.md +10 -6
- package/onboarding/prompts/frontend/angular.md +10 -3
- package/onboarding/prompts/frontend/nextjs.md +36 -3
- package/onboarding/prompts/frontend/plan.md +13 -7
- package/onboarding/prompts/frontend/react-native.md +9 -2
- package/onboarding/prompts/frontend/react-spa.md +9 -2
- package/onboarding/prompts/frontend/vue.md +9 -2
- package/onboarding/prompts/implementation/build-and-validate.md +45 -19
- package/onboarding/prompts/proof/complete.md +3 -3
- package/onboarding/prompts/proof/oss-baseline.md +30 -13
- package/onboarding/prompts/proof/round-trip.md +55 -17
- package/onboarding/prompts/research/gather.md +21 -11
- package/onboarding/prompts/research/merge.md +8 -2
- package/onboarding/prompts/research/preflight.md +2 -2
- package/onboarding/prompts/research/route.md +14 -7
- package/onboarding/prompts/starter/clone.md +73 -16
- package/onboarding/prompts/stopped/run-failed.md +8 -2
- package/onboarding/prompts/subagent/create-plan.md +9 -2
- package/onboarding/prompts/subagent/implement-and-validate.md +2 -2
- package/onboarding/prompts/subagent/inspect-repository.md +12 -6
- package/onboarding/prompts/subagent/prove-oss-baseline.md +6 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +50 -9
- package/onboarding/prompts/unsupported/no-validated-path.md +8 -2
- package/package.json +1 -1
- package/release/release-tool.js +9 -3
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Preserve an existing React Native frontend. Use the selected page for a new frontend.
|
|
4
4
|
|
|
5
|
+
This step asks the developer nothing. If the run must wait for the developer anyway, report
|
|
6
|
+
the pause first:
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
10
|
+
```
|
|
11
|
+
|
|
5
12
|
React Native has no starter. For a target directory that holds no project, build the new
|
|
6
13
|
frontend from the documentation below.
|
|
7
14
|
|
|
@@ -18,7 +25,7 @@ documents `useRenderTool`, which is React Native's own hook for drawing a tool t
|
|
|
18
25
|
already has. That is a different job and needs a tool in the agent.
|
|
19
26
|
|
|
20
27
|
If the pages support the selection, record React Native and these URLs. Then run
|
|
21
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
28
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read credentials/finalize-plan`.
|
|
22
29
|
|
|
23
30
|
If the documentation does not support the selection, run
|
|
24
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
31
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read unsupported/no-validated-path`.
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Preserve an existing React SPA. Use the selected page for a new frontend.
|
|
4
4
|
|
|
5
|
+
This step asks the developer nothing. If the run must wait for the developer anyway, report
|
|
6
|
+
the pause first:
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
10
|
+
```
|
|
11
|
+
|
|
5
12
|
React SPA has no starter. For a target directory that holds no project, build the new
|
|
6
13
|
frontend from the documentation below.
|
|
7
14
|
|
|
@@ -14,7 +21,7 @@ not move the agent into it.
|
|
|
14
21
|
- https://docs.copilotkit.ai/react-spa.md
|
|
15
22
|
|
|
16
23
|
If the page supports the selection, record React SPA and this URL. Then run
|
|
17
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
24
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read credentials/finalize-plan`.
|
|
18
25
|
|
|
19
26
|
If the documentation does not support the selection, run
|
|
20
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
27
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read unsupported/no-validated-path`.
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Preserve an existing Vue 3 frontend. Use the selected page for a new frontend.
|
|
4
4
|
|
|
5
|
+
This step asks the developer nothing. If the run must wait for the developer anyway, report
|
|
6
|
+
the pause first:
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
10
|
+
```
|
|
11
|
+
|
|
5
12
|
Vue 3 has no starter. For a target directory that holds no project, build the new
|
|
6
13
|
frontend from the documentation below.
|
|
7
14
|
|
|
@@ -19,7 +26,7 @@ page above. Vue has its own `useComponent`, which is not the React package. Take
|
|
|
19
26
|
that reference page rather than from a Vue generative-UI guide, which is not published.
|
|
20
27
|
|
|
21
28
|
If the pages support the selection, record Vue 3 and these URLs. Then run
|
|
22
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
29
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read credentials/finalize-plan`.
|
|
23
30
|
|
|
24
31
|
If the documentation does not support the selection, run
|
|
25
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
32
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read unsupported/no-validated-path`.
|
|
@@ -12,7 +12,7 @@ acted on. Send one short report before you stop. The friction command follows th
|
|
|
12
12
|
setting the developer already chose, so it needs no separate question.
|
|
13
13
|
|
|
14
14
|
```text
|
|
15
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
15
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -49,6 +49,13 @@ spawn a fresh implementation subagent with the same handoff. Add that file to th
|
|
|
49
49
|
as a path the developer approved, and record it as a departure. If you cannot ask, or the
|
|
50
50
|
developer declines, the failure ending in the route-out rules below applies.
|
|
51
51
|
|
|
52
|
+
This prompt pauses for the developer in several places. Before you end your turn to wait
|
|
53
|
+
for the developer, report the pause:
|
|
54
|
+
|
|
55
|
+
```text
|
|
56
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
57
|
+
```
|
|
58
|
+
|
|
52
59
|
The existing agent's behavior is never a departure to record and carry on from. It is four
|
|
53
60
|
things: its system prompt and instructions, its tools and what those tools do, its model
|
|
54
61
|
and provider configuration, and its memory or state handling. Repair a failing check on
|
|
@@ -60,6 +67,12 @@ change is a behavior change, and the closing report names it as one. Never call
|
|
|
60
67
|
to the agent's instructions or tools a repair. If you cannot ask, or the developer
|
|
61
68
|
declines, use the route-out rules below.
|
|
62
69
|
|
|
70
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
74
|
+
```
|
|
75
|
+
|
|
63
76
|
## Authorization requested by the plan
|
|
64
77
|
|
|
65
78
|
Approving the plan is the developer agreeing to every path it listed under
|
|
@@ -67,7 +80,7 @@ Approving the plan is the developer agreeing to every path it listed under
|
|
|
67
80
|
app directory:
|
|
68
81
|
|
|
69
82
|
```text
|
|
70
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
83
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
71
84
|
```
|
|
72
85
|
|
|
73
86
|
Consent has to be on the record before the file moves, so a call made after the change is
|
|
@@ -101,7 +114,7 @@ No implementation step has run yet, so the change is theirs rather than this run
|
|
|
101
114
|
consent over it by adding one flag:
|
|
102
115
|
|
|
103
116
|
```text
|
|
104
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
117
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>" --with-prior-change
|
|
105
118
|
```
|
|
106
119
|
|
|
107
120
|
The flag records their change as drift beside the consent, so the closing report names both
|
|
@@ -116,12 +129,18 @@ to record for a path that comes up later. If you find such a path mid-run, ask t
|
|
|
116
129
|
developer and record their answer with `--authorize --unplanned`, as the protected-path
|
|
117
130
|
audit below describes, rather than use this section.
|
|
118
131
|
|
|
132
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
133
|
+
|
|
134
|
+
```text
|
|
135
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
136
|
+
```
|
|
137
|
+
|
|
119
138
|
## Protected-path audit
|
|
120
139
|
|
|
121
140
|
Run the audit from the target app directory:
|
|
122
141
|
|
|
123
142
|
```text
|
|
124
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
143
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
|
|
125
144
|
```
|
|
126
145
|
|
|
127
146
|
It compares every protected path with the digest the CLI captured for it. Its result starts
|
|
@@ -156,14 +175,14 @@ A path that no Files changed section names changed outside the run, and it is th
|
|
|
156
175
|
developer's own file. Accept it by name:
|
|
157
176
|
|
|
158
177
|
```text
|
|
159
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
178
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --accept-external --path <path>
|
|
160
179
|
```
|
|
161
180
|
|
|
162
181
|
A changed env file is its own case. This run asked the developer to place a credential
|
|
163
182
|
there, so it takes the credential route rather than this one:
|
|
164
183
|
|
|
165
184
|
```text
|
|
166
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
185
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --accept-credential --path <path>
|
|
167
186
|
```
|
|
168
187
|
|
|
169
188
|
That route proves no recorded credential was lost, instead of taking the run's word that it
|
|
@@ -179,10 +198,16 @@ The prohibition on repairing a protected path holds wherever the path comes up,
|
|
|
179
198
|
here. A failing check is the usual way it comes up: the diagnosis lands on a file, and the
|
|
180
199
|
file turns out to be protected. A correct diagnosis does not make the file this run's, and
|
|
181
200
|
neither does a one-line fix. Never repair, reset, or revert it. Ask the developer to allow
|
|
182
|
-
the change
|
|
201
|
+
the change. Before you end your turn to wait for the developer, report the pause:
|
|
202
|
+
|
|
203
|
+
```text
|
|
204
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Record the answer they give:
|
|
183
208
|
|
|
184
209
|
```text
|
|
185
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
210
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
186
211
|
```
|
|
187
212
|
|
|
188
213
|
Use it only for an answer a developer actually gave. It records the consent as taken
|
|
@@ -217,7 +242,7 @@ directory. The developer approved the id before it was made, so this is the firs
|
|
|
217
242
|
which it can be created:
|
|
218
243
|
|
|
219
244
|
```text
|
|
220
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
245
|
+
npx --prefer-offline --yes copilotkit@4.25.0 learning containers create --id <id> --name <name> --json
|
|
221
246
|
```
|
|
222
247
|
|
|
223
248
|
Pass the id the plan names. Take the name from the selected project's own display name, so
|
|
@@ -234,16 +259,17 @@ plan names no container, skip this section.
|
|
|
234
259
|
## Implement the plan
|
|
235
260
|
|
|
236
261
|
Spawn one implementation subagent. Tell it to run
|
|
237
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
238
|
-
the prompt it returns.
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
262
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read subagent/implement-and-validate` first and
|
|
263
|
+
follow the prompt it returns. Tell it to return at once, and say so, if that read is refused
|
|
264
|
+
or fails, and not to wait for an approval. If it returns that way, stop that subagent. Run
|
|
265
|
+
the same command yourself, then spawn a fresh subagent with the returned prompt and the same
|
|
266
|
+
handoff. Give it the plan, selected framework, frontend, model, exact target app directory,
|
|
267
|
+
selected documentation URLs, and the
|
|
242
268
|
documentation policy recorded during framework selection or conversion planning. On a
|
|
243
269
|
conversion, also give it the frozen criterion. Give it the protected path list and the
|
|
244
270
|
authorized list. Give it the developer's answer on the Skills install, so that it runs an
|
|
245
|
-
approved install and skips a declined one. Require it
|
|
246
|
-
|
|
271
|
+
approved install and skips a declined one. Require it to implement every step in plan order
|
|
272
|
+
and run the full validation list. Wait for it.
|
|
247
273
|
|
|
248
274
|
One subagent implements the whole plan. Do not divide the work across concurrent subagents,
|
|
249
275
|
and do not spawn a second subagent to reconcile a split.
|
|
@@ -262,7 +288,7 @@ names the same way as above, against the Files changed section that subagent jus
|
|
|
262
288
|
returned. Continue to proof only when that audit passes.
|
|
263
289
|
|
|
264
290
|
Then run
|
|
265
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
291
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read proof/round-trip`.
|
|
266
292
|
|
|
267
293
|
## Repair rules
|
|
268
294
|
|
|
@@ -288,9 +314,9 @@ the same command still fails after three repair attempts, a result starts with
|
|
|
288
314
|
declined a file the plan does not name, or the run cannot ask them about it. A defect in a
|
|
289
315
|
package this run installed is not a stack CopilotKit does not serve, a command this run cannot get to pass is not one either, and a blocked audit
|
|
290
316
|
proved nothing about the stack. In those cases run
|
|
291
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
317
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`.
|
|
292
318
|
|
|
293
319
|
A plan with no path to follow takes the unsupported ending: the fix requires changing the
|
|
294
320
|
developer's existing agent or frontend, or the documentation does not support the plan. In
|
|
295
321
|
those cases run
|
|
296
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
322
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read unsupported/no-validated-path`.
|
|
@@ -24,7 +24,7 @@ friction commands follow the telemetry setting the developer already chose, so t
|
|
|
24
24
|
separate question.
|
|
25
25
|
|
|
26
26
|
```text
|
|
27
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
27
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --category <slug> --cost-seconds <seconds> --message "<sentences>"
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Put one or two sentences in `--message`. Pick one category from docs-missing, docs-wrong,
|
|
@@ -46,7 +46,7 @@ Pass the surface-check outcome the proof subagent returned, not the one you want
|
|
|
46
46
|
web frontend, pass `--visual-check` and the URL the browser opened, unchanged:
|
|
47
47
|
|
|
48
48
|
```text
|
|
49
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
49
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard complete --visual-check <outcome> \
|
|
50
50
|
--frontend-url <the url you opened>
|
|
51
51
|
```
|
|
52
52
|
|
|
@@ -74,7 +74,7 @@ this graph opens.
|
|
|
74
74
|
nothing drove the frontend:
|
|
75
75
|
|
|
76
76
|
```text
|
|
77
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
77
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard complete --visual-check failed --blocked-by browser-control-unresponsive
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
## Write the handoff
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
# Prove the existing OSS baseline
|
|
2
2
|
|
|
3
3
|
Do not prove the baseline yourself. Spawn one proof subagent. Tell it to run
|
|
4
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
5
|
-
prompt it returns.
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read subagent/prove-oss-baseline` first and follow
|
|
5
|
+
the prompt it returns. Tell it to return at once, and say so, if that read is refused or
|
|
6
|
+
fails, and not to wait for an approval. If it returns that way, stop that subagent. Run the
|
|
7
|
+
same command yourself, then spawn a fresh subagent with the returned prompt and the same
|
|
8
|
+
handoff. Give it the repository findings and exact CLI package spec.
|
|
8
9
|
|
|
9
10
|
Give it the browser or device control you recorded in the preflight as well. The subagent
|
|
10
11
|
proves the runtime from a shell and needs no browser for that. The control is for the one
|
|
@@ -17,7 +18,7 @@ Wait for the subagent to finish.
|
|
|
17
18
|
Record what that proof returned before you route on it:
|
|
18
19
|
|
|
19
20
|
```text
|
|
20
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
21
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard proof --step oss-baseline --outcome <passed|failed|skipped> [--predicate <1-6>]
|
|
21
22
|
```
|
|
22
23
|
|
|
23
24
|
Report the gate whatever it returned. Use the list below. A proof that never ran is `skipped`, not failed. The command prints one line and sends
|
|
@@ -39,14 +40,27 @@ Do not change project files before this proof ends. Starting existing developmen
|
|
|
39
40
|
processes and their ignored runtime files is allowed.
|
|
40
41
|
|
|
41
42
|
If the subagent proves the `both-oss` predicate, keep its evidence with the plan and run
|
|
42
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
43
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read conversion/plan`. That project already works.
|
|
43
44
|
What it needs is the conversion, not a build.
|
|
44
45
|
|
|
45
|
-
|
|
46
|
+
A failed baseline does not end the run, and this step does not repair it. Decide which
|
|
47
|
+
kind of failure it is before you route, the way `proof/round-trip` does.
|
|
48
|
+
|
|
49
|
+
An operational failure says nothing about the project: a project-owned process or port, a
|
|
50
|
+
request option, or a sandbox that blocked a local request. Spawn a fresh proof subagent
|
|
51
|
+
with the same handoff and the failure evidence, and record each attempt as it ends. Run
|
|
52
|
+
the proof at most three times in total. Never edit a project file to make the baseline
|
|
53
|
+
pass. This proof only reads.
|
|
54
|
+
|
|
55
|
+
A failed baseline whose cause is in the project is the starting state of this project. So
|
|
56
|
+
is an operational failure still there after the third attempt. Record the starting state
|
|
46
57
|
`both-copilotkit-unproved` and run
|
|
47
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read credentials/plan`. This prompt is served
|
|
48
59
|
whenever a project looks like an OSS integration, so a baseline that did not prove is an
|
|
49
|
-
ordinary starting state rather than a failure.
|
|
60
|
+
ordinary starting state rather than a failure. The build that follows fixes the
|
|
61
|
+
integration, and `proof/round-trip` proves the result, with its own bounded repair cycle.
|
|
62
|
+
Keep the failing predicate and the check the subagent named with the plan, and tell the
|
|
63
|
+
developer that the existing integration did not prove before you ask for plan approval.
|
|
50
64
|
|
|
51
65
|
Do not record a state that says the CopilotKit integration is absent. This prompt is
|
|
52
66
|
reached only when the merged findings prove that the integration is there, so `both` is
|
|
@@ -56,7 +70,10 @@ Where the proof fails predicate 3, the live runtime already holds an Intelligenc
|
|
|
56
70
|
client. Say so in the plan. Part of the work this run exists for is in place already,
|
|
57
71
|
and the plan preserves it rather than repeating it.
|
|
58
72
|
|
|
59
|
-
If
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
73
|
+
If you cannot tell whether the cause is operational or in the project, treat it as
|
|
74
|
+
operational. Run the proof again, three times in total, then record the starting state
|
|
75
|
+
above and go on. Both causes lead to the same plan.
|
|
76
|
+
|
|
77
|
+
If the proof cannot identify the running process safely, or it exposes a secret, run
|
|
78
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`. Neither means the
|
|
79
|
+
project is unsupported: each means this run did not establish what it needed to.
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
# Prove the user journey
|
|
2
2
|
|
|
3
3
|
Do not do the proof work yourself. Spawn one proof subagent. Tell it to run
|
|
4
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
5
|
-
prompt it returns.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read subagent/prove-round-trip` first and follow the
|
|
5
|
+
prompt it returns. Tell it to return at once, and say so, if that read is refused or fails,
|
|
6
|
+
and not to wait for an approval. If it returns that way, stop that subagent. Run the same
|
|
7
|
+
command yourself, then spawn a fresh subagent with the returned prompt and the same handoff.
|
|
8
|
+
Give it the selected framework, frontend, model, approved plan, selected documentation URLs,
|
|
9
|
+
and validation evidence. Give it the documentation policy recorded during framework
|
|
10
|
+
selection or conversion planning. On a conversion, also give it the frozen criterion. Give
|
|
11
|
+
it the protected path list. Give it the developer's answer on the Skills install and the
|
|
12
|
+
Skills result the implementation returned.
|
|
12
13
|
|
|
13
14
|
Give it the frontend files that publish the page context and register the tools, by path,
|
|
14
15
|
from the Files changed sections the implementation returned. The subagent sends what those
|
|
@@ -40,7 +41,7 @@ pass the time.
|
|
|
40
41
|
Record what that proof returned before you route on it:
|
|
41
42
|
|
|
42
43
|
```text
|
|
43
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
44
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
44
45
|
```
|
|
45
46
|
|
|
46
47
|
Report the gate whatever it returned. A proof that never ran is `skipped`, not failed. A
|
|
@@ -49,7 +50,7 @@ to record it as `skipped`. The command prints one line and sends nothing else. W
|
|
|
49
50
|
record each attempt as it ends.
|
|
50
51
|
|
|
51
52
|
For every protected-path audit in this prompt, run
|
|
52
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
53
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard audit` from the target app directory. If its result
|
|
53
54
|
starts with `Status: blocked`, report the printed reason and use the route-out rules below.
|
|
54
55
|
A blocked audit proved nothing changed and is not a preservation failure. If a
|
|
55
56
|
protected-path audit reports a changed path, decide it the way the implementation prompt
|
|
@@ -58,7 +59,7 @@ returns none, so a finding with no Files changed section to test against routes
|
|
|
58
59
|
path one of those sections names is this run's own change and routes out too. Accept a
|
|
59
60
|
path only when a section this run collected covers the step that wrote it and does not
|
|
60
61
|
name it:
|
|
61
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
62
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --accept-external --path <path>`. Then run
|
|
62
63
|
the audit again and name the path in the closing summary. Never repair, reset, or revert a
|
|
63
64
|
protected path.
|
|
64
65
|
|
|
@@ -66,12 +67,19 @@ That holds for a repair cycle too. When the fix for a failing check lands on a p
|
|
|
66
67
|
path, the path is still the developer's, however right the diagnosis is and however small
|
|
67
68
|
the fix. Reading the file never settles who wrote it. Ask the developer to allow the
|
|
68
69
|
change, and record their answer with
|
|
69
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
70
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"`,
|
|
70
71
|
or route out. Never repair it, and never send it to a repair worker.
|
|
71
72
|
|
|
73
|
+
This prompt pauses for the developer in several places. Before you end your turn to wait
|
|
74
|
+
for the developer, report the pause:
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
78
|
+
```
|
|
79
|
+
|
|
72
80
|
If the proof result starts with `Status: passed`, run the protected-path audit. Continue to
|
|
73
81
|
`proof/complete` only if that audit passes. After the audit passes, run
|
|
74
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
82
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read proof/complete`. A performed surface outcome with
|
|
75
83
|
the full round trip is core success even if a continued-development tool fails. A skipped
|
|
76
84
|
surface outcome still enters `proof/complete`. The CLI records `skipped-cloned-starter` and
|
|
77
85
|
`skipped-no-browser-tool` after a passed round trip as complete, and `skipped-no-device` as
|
|
@@ -93,6 +101,15 @@ not for a journey that worked and then hit a wall: routing a proved run there te
|
|
|
93
101
|
developer that a framework and frontend that just worked are unsupported, and hands them a
|
|
94
102
|
stop report instead of the application they now have.
|
|
95
103
|
|
|
104
|
+
If the proof returns a `model-key` failure, it is not a defect in the new work. The
|
|
105
|
+
credentials step found the model key missing, or the vendor refused it, and the proof
|
|
106
|
+
started nothing. Do not send it to a repair worker. Run the `onboard credentials` command
|
|
107
|
+
that its detail names, and act on its answer as `credentials/settle-credentials` says. Ask
|
|
108
|
+
the developer its question, report the pause with
|
|
109
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-model-credential`, and
|
|
110
|
+
end your turn. When the key settles, run the proof subagent again. This attempt does not
|
|
111
|
+
count toward the three.
|
|
112
|
+
|
|
96
113
|
If the round trip fails, decide which kind of failure it is before you route. The proof
|
|
97
114
|
subagent can repair only project-owned processes, ports, and request options, and it can
|
|
98
115
|
run the credential command that `verify:api_key_loadable_by_app` names. A failure caused
|
|
@@ -103,7 +120,21 @@ Retry the proof subagent only for a project-owned process, port, request-option,
|
|
|
103
120
|
Give it the failure evidence and the failed attempt's pinned Step 1 record. Wait for the
|
|
104
121
|
proof subagent after each operational repair.
|
|
105
122
|
If the result passes, use the passed-result route above. Run the proof at most three times
|
|
106
|
-
in total. Use the route-out rules below for a
|
|
123
|
+
in total. Use the route-out rules below for a third failed result, and for a blocked result
|
|
124
|
+
other than the one in the next paragraph.
|
|
125
|
+
|
|
126
|
+
A proof result can start with `Status: blocked` on `round-trip:agent_answers`: the app
|
|
127
|
+
refused the run the check started, because it reads a session or runs only threads it
|
|
128
|
+
created, and the subagent cannot send a message in the app itself. The app is not at
|
|
129
|
+
fault, so this is not a route-out. Ask the developer to send one message in the app on a new
|
|
130
|
+
thread, and to give you that thread's id. Give them the app URL and the request words from
|
|
131
|
+
the result. Tell them where the id is: in the browser's network tools, the request the page
|
|
132
|
+
sends to the runtime URL carries `threadId` in its body. Report the pause with
|
|
133
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer` and end your
|
|
134
|
+
turn. When the developer gives the id, start a new proof subagent with
|
|
135
|
+
the full original proof handoff, the pinned Step 1 record, and the thread id. Tell it to run
|
|
136
|
+
the proof checks with `--thread <id>`. This attempt does not count toward the three. Use the
|
|
137
|
+
route-out rules below only when the developer declines or cannot give an id.
|
|
107
138
|
|
|
108
139
|
Enter the code-repair branch only for a source, configuration, dependency, or tracked-file
|
|
109
140
|
defect.
|
|
@@ -148,6 +179,12 @@ first. Then spawn a fresh repair worker with this repair handoff, not the whole-
|
|
|
148
179
|
implementation handoff: the plan, the proof evidence, the protected path list, the
|
|
149
180
|
authorized list from that audit, and the developer's answer on the Skills install.
|
|
150
181
|
|
|
182
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
183
|
+
|
|
184
|
+
```text
|
|
185
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
186
|
+
```
|
|
187
|
+
|
|
151
188
|
Run the protected-path audit again after validation passes. Continue only if its result
|
|
152
189
|
starts with `Status: passed`.
|
|
153
190
|
|
|
@@ -162,11 +199,12 @@ Wait for the fresh proof subagent to finish.
|
|
|
162
199
|
If the fresh proof result starts with `Status: passed`, run the protected-path audit and use
|
|
163
200
|
the passed-result route above. If it starts with `Status: failed`, begin the next bounded
|
|
164
201
|
repair cycle. Use the route-out rules below for `Status: blocked`. After three repair and
|
|
165
|
-
proof cycles, use the route-out rules below.
|
|
202
|
+
proof cycles, use the route-out rules below. A blocked result that asks for a thread id
|
|
203
|
+
takes the developer path above instead.
|
|
166
204
|
|
|
167
205
|
Route out only when the failure is not yours to fix, when the same proof still fails after
|
|
168
206
|
three attempts, or when no evidence of the round trip can be produced. In those cases run
|
|
169
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
207
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`. The stack is supported:
|
|
170
208
|
this run did not finish, which is a different ending and a different report. All three are
|
|
171
209
|
about the round trip itself. A round trip that proved is not one of them, whatever failed
|
|
172
210
|
after it.
|
|
@@ -177,7 +215,7 @@ friction command follows the telemetry setting the developer already chose, so i
|
|
|
177
215
|
separate question.
|
|
178
216
|
|
|
179
217
|
```text
|
|
180
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
218
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
181
219
|
```
|
|
182
220
|
|
|
183
221
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -41,11 +41,10 @@ and continue when that thing arrives. A pause waits for one of two things:
|
|
|
41
41
|
pick", gives no answer, and the default that the prompt states applies. Where the
|
|
42
42
|
prompt states no default, ask once more.
|
|
43
43
|
|
|
44
|
-
Before you end your turn to wait for the developer
|
|
45
|
-
report the pause:
|
|
44
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
46
45
|
|
|
47
46
|
```text
|
|
48
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
47
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
49
48
|
```
|
|
50
49
|
|
|
51
50
|
When the answer or the result arrives, continue from the step that paused. Do not read an
|
|
@@ -65,7 +64,7 @@ Both research subagents failing means this harness has no working subagent at al
|
|
|
65
64
|
is worth recording once:
|
|
66
65
|
|
|
67
66
|
```text
|
|
68
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
67
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase delegation-unavailable
|
|
69
68
|
```
|
|
70
69
|
|
|
71
70
|
Then say once, in your own words, that this environment has no working subagents, so you
|
|
@@ -77,11 +76,22 @@ For the rest of this run, wherever a prompt tells you to spawn a subagent, read
|
|
|
77
76
|
Before you ask the developer any setup question, finish every read-only investigation and
|
|
78
77
|
preflight check in this section.
|
|
79
78
|
|
|
80
|
-
Prepare two research assignments.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
79
|
+
Prepare two research assignments. Before you spawn either subagent, run these two
|
|
80
|
+
read-only commands yourself, from the target project directory:
|
|
81
|
+
|
|
82
|
+
```text
|
|
83
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read subagent/inspect-repository
|
|
84
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard inspect --json
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Give each research subagent the prompt that the first command returns, the whole JSON that
|
|
88
|
+
the second command returns, and one assignment. Tell it that its handoff already holds both,
|
|
89
|
+
so it runs no onboarding command. A coding agent's permission layer can refuse a package
|
|
90
|
+
that runs from the registry inside a subagent, even where it lets you run the same command.
|
|
91
|
+
The run then waits for an approval that nobody sees. Require only its assigned packet.
|
|
92
|
+
|
|
93
|
+
Give the same JSON to every later subagent that this research spawns, such as a retry, a
|
|
94
|
+
focused directory check, or a conflict verifier.
|
|
85
95
|
|
|
86
96
|
Start both research subagents in parallel:
|
|
87
97
|
|
|
@@ -92,8 +102,8 @@ Start both research subagents in parallel:
|
|
|
92
102
|
The research is under way. Continue to the surface-control preflight while it runs:
|
|
93
103
|
|
|
94
104
|
```text
|
|
95
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
105
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read research/preflight
|
|
96
106
|
```
|
|
97
107
|
|
|
98
108
|
If inspection stops onboarding, run
|
|
99
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
109
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`.
|
|
@@ -48,8 +48,14 @@ app directory. Both results must start with `Status: passed`. Otherwise, use the
|
|
|
48
48
|
Read the next step only after `login --json` has emitted `type: completed`. If sign-in still
|
|
49
49
|
waits on the developer, end your turn and wait for it: that is a pause.
|
|
50
50
|
|
|
51
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
55
|
+
```
|
|
56
|
+
|
|
51
57
|
When both research results are merged and sign-in is done, run
|
|
52
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read research/route`.
|
|
53
59
|
|
|
54
60
|
If inspection stops onboarding, run
|
|
55
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
61
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`.
|
|
@@ -27,8 +27,8 @@ Where the device probe found no booted device, that is the whole finding.
|
|
|
27
27
|
Then merge the research:
|
|
28
28
|
|
|
29
29
|
```text
|
|
30
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
30
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read research/merge
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
If inspection stops onboarding, run
|
|
34
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
34
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`.
|
|
@@ -9,7 +9,7 @@ sends the run down one path.
|
|
|
9
9
|
Before you route on, run this from the target app directory:
|
|
10
10
|
|
|
11
11
|
```text
|
|
12
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
12
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
It reads the working tree itself, records every changed or untracked path with a digest,
|
|
@@ -44,7 +44,7 @@ On any one of them, run this before you read the three findings below, and witho
|
|
|
44
44
|
the purpose question:
|
|
45
45
|
|
|
46
46
|
```text
|
|
47
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
47
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/channels/start
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
Name the provider to that node so it does not ask again. A `/slack` page names Slack. A
|
|
@@ -105,7 +105,7 @@ settle these three from your own reading of the project. Each one comes from the
|
|
|
105
105
|
packets or it is not proved.
|
|
106
106
|
|
|
107
107
|
If all three are proved, prove the live starting state before any project file changes. Run
|
|
108
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
108
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read proof/oss-baseline`.
|
|
109
109
|
|
|
110
110
|
Route there before you ask the developer anything else. The questions after this prompt
|
|
111
111
|
select a framework and a frontend that the findings already name, so a developer who
|
|
@@ -116,9 +116,16 @@ these three findings.
|
|
|
116
116
|
For every other combination of the three, take one more step first. If neither the
|
|
117
117
|
developer nor the repository findings prove what the project is for, ask one guided
|
|
118
118
|
question about the user outcome. This asks what the developer wants to build before you
|
|
119
|
-
select a framework. Give two or three short examples.
|
|
120
|
-
|
|
121
|
-
|
|
119
|
+
select a framework. Give two or three short examples.
|
|
120
|
+
|
|
121
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
122
|
+
|
|
123
|
+
```text
|
|
124
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Record the answer and give it to each later subagent. Then run
|
|
128
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read credentials/plan`.
|
|
122
129
|
|
|
123
130
|
Do not ask that question on the route above. A project carrying all three states its
|
|
124
131
|
purpose in the application it already serves.
|
|
@@ -132,5 +139,5 @@ A purpose question here names a domain before that choice.
|
|
|
132
139
|
Take the same read named above without asking.
|
|
133
140
|
|
|
134
141
|
If authentication, inspection, or the baseline capture stops onboarding, run
|
|
135
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
142
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`. None of them says anything
|
|
136
143
|
about whether this project's stack is supported, which is not yet known at this point.
|