copilotkit 4.19.0 → 4.20.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 +18 -9
- package/cli-build-info.json +7 -7
- package/index.js +3127 -2335
- package/onboarding/index.json +1 -1
- package/onboarding/prompts/authenticate/start.md +26 -28
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +7 -7
- package/onboarding/prompts/credentials/plan.md +22 -22
- package/onboarding/prompts/credentials/settle-credentials.md +7 -5
- package/onboarding/prompts/credentials/write-plan.md +9 -6
- package/onboarding/prompts/fallback/best-effort.md +8 -8
- package/onboarding/prompts/feature/a2ui/implement.md +6 -12
- package/onboarding/prompts/feature/a2ui/proof.md +7 -18
- package/onboarding/prompts/feature/a2ui/start.md +9 -18
- package/onboarding/prompts/feature/channels/implement.md +12 -21
- package/onboarding/prompts/feature/channels/proof.md +7 -18
- package/onboarding/prompts/feature/channels/start.md +14 -21
- package/onboarding/prompts/feature/chat-suggestions/implement.md +6 -12
- package/onboarding/prompts/feature/chat-suggestions/proof.md +7 -18
- package/onboarding/prompts/feature/chat-suggestions/start.md +9 -18
- package/onboarding/prompts/feature/complete.md +4 -2
- package/onboarding/prompts/feature/learning/implement.md +13 -38
- package/onboarding/prompts/feature/learning/proof.md +8 -19
- package/onboarding/prompts/feature/learning/start.md +9 -18
- package/onboarding/prompts/feature/open-generative-ui/implement.md +6 -12
- package/onboarding/prompts/feature/open-generative-ui/proof.md +7 -18
- package/onboarding/prompts/feature/open-generative-ui/start.md +9 -18
- package/onboarding/prompts/feature/realtime-sync/implement.md +7 -13
- package/onboarding/prompts/feature/realtime-sync/proof.md +7 -18
- package/onboarding/prompts/feature/realtime-sync/start.md +8 -17
- package/onboarding/prompts/feature/rich-threads/implement.md +8 -14
- package/onboarding/prompts/feature/rich-threads/proof.md +7 -18
- package/onboarding/prompts/feature/rich-threads/start.md +8 -17
- package/onboarding/prompts/feature/stop.md +3 -3
- package/onboarding/prompts/feature/voice/implement.md +6 -12
- package/onboarding/prompts/feature/voice/proof.md +7 -18
- package/onboarding/prompts/feature/voice/start.md +9 -18
- package/onboarding/prompts/framework/ag2.md +2 -2
- package/onboarding/prompts/framework/agno.md +2 -2
- package/onboarding/prompts/framework/built-in.md +2 -2
- 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 +2 -2
- package/onboarding/prompts/framework/deep-agents.md +2 -2
- package/onboarding/prompts/framework/google-adk.md +2 -2
- package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
- package/onboarding/prompts/framework/langgraph-python.md +2 -2
- package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
- package/onboarding/prompts/framework/llamaindex.md +2 -2
- package/onboarding/prompts/framework/mastra.md +2 -2
- package/onboarding/prompts/framework/ms-agent-dotnet.md +3 -3
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +3 -3
- package/onboarding/prompts/framework/ms-agent-python.md +2 -2
- package/onboarding/prompts/framework/pydantic-ai.md +2 -2
- package/onboarding/prompts/framework/strands-python.md +2 -2
- package/onboarding/prompts/framework/strands-typescript.md +2 -2
- package/onboarding/prompts/frontend/angular.md +3 -3
- package/onboarding/prompts/frontend/nextjs.md +3 -3
- package/onboarding/prompts/frontend/plan.md +7 -7
- package/onboarding/prompts/frontend/react-native.md +2 -2
- package/onboarding/prompts/frontend/react-spa.md +2 -2
- package/onboarding/prompts/frontend/vue.md +2 -2
- package/onboarding/prompts/implementation/build-and-validate.md +24 -40
- package/onboarding/prompts/proof/complete.md +86 -204
- package/onboarding/prompts/proof/oss-baseline.md +5 -5
- package/onboarding/prompts/proof/round-trip.md +9 -22
- package/onboarding/prompts/research/gather.md +5 -14
- package/onboarding/prompts/research/merge.md +2 -11
- package/onboarding/prompts/research/preflight.md +2 -8
- package/onboarding/prompts/research/route.md +5 -5
- package/onboarding/prompts/starter/clone.md +5 -15
- package/onboarding/prompts/stopped/run-failed.md +2 -2
- package/onboarding/prompts/subagent/create-plan.md +16 -1
- package/onboarding/prompts/subagent/inspect-repository.md +1 -1
- package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +28 -20
- package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
- package/package.json +1 -1
- package/release/release-tool.js +1 -1
package/onboarding/index.json
CHANGED
|
@@ -14,7 +14,7 @@ does is hidden from the developer.
|
|
|
14
14
|
|
|
15
15
|
Run each CLI call exactly as written, as its own command: no pipe, `tee`, `&&`, redirect,
|
|
16
16
|
or variable prefix. Every CLI call in this run matches the prefix rule
|
|
17
|
-
`["npx", "--prefer-offline", "--yes", "copilotkit@4.
|
|
17
|
+
`["npx", "--prefer-offline", "--yes", "copilotkit@4.20.0"]`. If a command can request
|
|
18
18
|
escalation with a prefix rule, request this one on the `onboard identify` call. If your
|
|
19
19
|
harness asks the developer to approve commands, tell them one approval of that prefix covers
|
|
20
20
|
every CLI call. Say then that the install, the dev servers, `curl` to the local app, and
|
|
@@ -33,12 +33,16 @@ That refusal is a pause, not a stop.
|
|
|
33
33
|
Run this before anything else in this prompt, including the welcome message below:
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
36
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
Report your own product with one short slug, such as `codex` or `claude-code`.
|
|
40
|
-
|
|
41
|
-
`--model
|
|
39
|
+
Report your own product with one short slug, such as `codex` or `claude-code`.
|
|
40
|
+
|
|
41
|
+
- `--model`: copy the model id exactly as your instructions write it. If they name no
|
|
42
|
+
exact model id, leave out `--model` rather than guess.
|
|
43
|
+
- `--model-family`: your model's family, such as `claude-opus` or `gpt-5`. Give it even
|
|
44
|
+
without `--model`, and leave out `--model-family` if you do not know it.
|
|
45
|
+
- Never give your product slug as a model or a family.
|
|
42
46
|
|
|
43
47
|
## How to run this onboarding
|
|
44
48
|
|
|
@@ -58,10 +62,10 @@ printed once.
|
|
|
58
62
|
Every later command must run from the directory this run started in. A command run
|
|
59
63
|
somewhere else is refused, because the run it belongs to cannot be found from there. That
|
|
60
64
|
refusal is a step, not a stop to report: run
|
|
61
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
65
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard start --run <onboarding_run_id>` where you are
|
|
62
66
|
standing, then run the refused command again.
|
|
63
67
|
|
|
64
|
-
If you no longer hold the id, run `npx --prefer-offline --yes copilotkit@4.
|
|
68
|
+
If you no longer hold the id, run `npx --prefer-offline --yes copilotkit@4.20.0 onboard start` in the
|
|
65
69
|
directory this run started in, with no `--run` and no `--intent`. It reprints the id of the
|
|
66
70
|
run under way and starts nothing. An id this project does not already hold starts a second
|
|
67
71
|
run, and the work already done stops counting toward the first.
|
|
@@ -128,7 +132,7 @@ the run waits is a pause, not a stop, even when your harness ends it. A terminal
|
|
|
128
132
|
the report itself, or says to file none, overrides this.
|
|
129
133
|
|
|
130
134
|
```text
|
|
131
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
135
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
132
136
|
```
|
|
133
137
|
|
|
134
138
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -143,7 +147,7 @@ rule that stopped you says next: send the report, then stop.
|
|
|
143
147
|
|
|
144
148
|
## Check sign-in
|
|
145
149
|
|
|
146
|
-
Run `npx --prefer-offline --yes copilotkit@4.
|
|
150
|
+
Run `npx --prefer-offline --yes copilotkit@4.20.0 login --json` before any project work. This command
|
|
147
151
|
checks the current session. It starts sign-in only as needed. Treat this as a long-lived
|
|
148
152
|
streaming process. Do not wait for the command to exit before you read its standard output.
|
|
149
153
|
|
|
@@ -156,42 +160,36 @@ Read each JSON Lines record as the running command writes it:
|
|
|
156
160
|
When that first URL arrives, send this exact message once. Do not send it when the
|
|
157
161
|
existing session is already valid, and do not add a feature list or another explanation:
|
|
158
162
|
|
|
159
|
-
I
|
|
163
|
+
I am opening a sign-in page. Signing in gives this project a managed CopilotKit project
|
|
160
164
|
and its API key. That key is what lets your users reopen past conversations. You can
|
|
161
165
|
remove it later to disconnect this workspace.
|
|
162
166
|
|
|
163
167
|
If it carries `user_code`, add: `Check that the page shows this code: <user_code>`.
|
|
164
168
|
|
|
165
|
-
3.
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
4. If the matching opener is unavailable or exits with an error, show the clickable URL to
|
|
174
|
-
the developer and ask them to finish sign-in there. Do not retry the opener.
|
|
175
|
-
5. Keep monitoring the original login process after the open attempt. Do not start a
|
|
176
|
-
second login command. Do not treat the opener command finishing as sign-in finishing.
|
|
177
|
-
6. Continue onboarding only after that same process emits `type: completed`.
|
|
178
|
-
7. On `type: failed` with `reason: expired`, ask once whether to retry. If yes, start one
|
|
169
|
+
3. The CLI opens the page in the default browser itself when it can, and the
|
|
170
|
+
`action_required` record says whether it did. With `"browser_opened": true`, do not open
|
|
171
|
+
it again. With `"browser_opened": false`, show the clickable URL to the developer and ask
|
|
172
|
+
them to finish sign-in there. The page works from any device. Your own built-in browser
|
|
173
|
+
does not carry the session the developer already signed in with, so do not use it.
|
|
174
|
+
4. Keep monitoring the same login process. Do not start a second login command.
|
|
175
|
+
5. Continue onboarding only after that same process emits `type: completed`.
|
|
176
|
+
6. On `type: failed` with `reason: expired`, ask once whether to retry. If yes, start one
|
|
179
177
|
new `login --json`. Use `--force` only when the developer asks.
|
|
180
|
-
|
|
178
|
+
7. If that process emits `type: failed`, report the error and stop onboarding. On
|
|
181
179
|
`reason: repeated_expiry`, rerun `login` with `--force` only if the developer asks.
|
|
182
180
|
|
|
183
181
|
If your harness ends the login process or your turn before the process emits
|
|
184
182
|
`type: completed` or `type: failed`, that is a pause, not a failed sign-in. If the process
|
|
185
183
|
still runs, end your turn and wait for the developer to say they signed in, then read the
|
|
186
184
|
same process. If the process ended without emitting `type: failed`, run `login --json`
|
|
187
|
-
again and handle a new `authentication_url` as above. Step
|
|
185
|
+
again and handle a new `authentication_url` as above. Step 4 forbids a second login only while the first one runs.
|
|
188
186
|
|
|
189
187
|
Do not use `whoami` for this check. Do not put account tokens or credentials in the
|
|
190
188
|
conversation.
|
|
191
189
|
|
|
192
190
|
When sign-in is settled, run
|
|
193
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
191
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read research/gather`.
|
|
194
192
|
|
|
195
193
|
If sign-in stops onboarding, run
|
|
196
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
194
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read stopped/run-failed`. It says nothing about
|
|
197
195
|
whether this project's stack is supported, which is not yet known at this point.
|
|
@@ -100,7 +100,7 @@ of this journey, and a drawer that lists nothing is not a reason to mint one. Li
|
|
|
100
100
|
tokens stay a self-hosted concern.
|
|
101
101
|
|
|
102
102
|
Where this journey's frontend framework ships no threads drawer -- React Native --, the
|
|
103
|
-
fifth item is proved by `npx --prefer-offline --yes copilotkit@4.
|
|
103
|
+
fifth item is proved by `npx --prefer-offline --yes copilotkit@4.20.0 verify --round-trip`, which sends a
|
|
104
104
|
real request and reads the answer back off the thread it landed on. The run says which of
|
|
105
105
|
the two it proved. Do not send a run to the managed Intelligence dashboard to prove this.
|
|
106
106
|
An authenticated browser session at a hosted dashboard is the one thing an agent-driven run
|
|
@@ -116,7 +116,7 @@ and passed -- so a run scored on either one was scored on the same fact. Every r
|
|
|
116
116
|
resolves that condition from, while `licenseStatus` is a compatibility projection of it
|
|
117
117
|
for older thread surfaces and outlives them only until those surfaces go.
|
|
118
118
|
|
|
119
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
119
|
+
Then run `npx --prefer-offline --yes copilotkit@4.20.0 onboard read credentials/finalize-plan`.
|
|
120
120
|
|
|
121
121
|
If a selected page does not load after the second method, run
|
|
122
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
122
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read unsupported/no-validated-path`.
|
|
@@ -24,7 +24,7 @@ Choose the starting state from the repository findings:
|
|
|
24
24
|
A run served `proof/oss-baseline` records one of the last two.
|
|
25
25
|
|
|
26
26
|
```text
|
|
27
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
27
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
If a value is refused, fix it from the choices the earlier prompts gave, and run the
|
|
@@ -37,7 +37,7 @@ runtime `.env` file, that directory is the target, not the repository root. Do n
|
|
|
37
37
|
the developer to another terminal.
|
|
38
38
|
|
|
39
39
|
```text
|
|
40
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
40
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard credentials --json
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
Every credential this run writes goes to the target's `.env`, the environment path. The
|
|
@@ -67,9 +67,9 @@ project from a listing without an answer that names it.
|
|
|
67
67
|
`--runtime-url` is the URL port research settled, mount path included:
|
|
68
68
|
|
|
69
69
|
```text
|
|
70
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
70
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard credentials --create <name> \
|
|
71
71
|
--runtime-url http://localhost:<port>/api/copilotkit --json
|
|
72
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
72
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard credentials --project <slug-or-id> \
|
|
73
73
|
--runtime-url http://localhost:<port>/api/copilotkit --json
|
|
74
74
|
```
|
|
75
75
|
|
|
@@ -79,8 +79,8 @@ command unless the developer asks to see their projects, or `notFound` is presen
|
|
|
79
79
|
show only what they asked for, and do not order it by creation time:
|
|
80
80
|
|
|
81
81
|
```text
|
|
82
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
83
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
82
|
+
npx --prefer-offline --yes copilotkit@4.20.0 project list --json
|
|
83
|
+
npx --prefer-offline --yes copilotkit@4.20.0 project list --search <query> --json
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
`app-directory` means that the key landed where no app reads it. Pick the directory in
|
|
@@ -95,4 +95,4 @@ the `--project` command from there with `project.slug`. Do not copy or link the
|
|
|
95
95
|
reused. The round-trip proof later runs the authenticated Intelligence checks, so record
|
|
96
96
|
the reused project credentials as unverified in the plan until those checks pass.
|
|
97
97
|
|
|
98
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
98
|
+
Then run `npx --prefer-offline --yes copilotkit@4.20.0 onboard read credentials/settle-credentials`.
|
|
@@ -20,7 +20,7 @@ If the target directory holds no project and the copied prompt came from the Sla
|
|
|
20
20
|
Microsoft Teams docs page, do not ask the framework question. The Channel starter brings
|
|
21
21
|
its own agent, so an answer here decides nothing. Tell the developer that the Channel
|
|
22
22
|
starter decides the agent, then run
|
|
23
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
23
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read frontend/plan`.
|
|
24
24
|
|
|
25
25
|
## Frameworks this machine cannot run yet
|
|
26
26
|
|
|
@@ -42,7 +42,7 @@ things in one message:
|
|
|
42
42
|
2. That the coding agent's shell reads PATH when it starts, so it cannot see the new
|
|
43
43
|
toolchain until the developer restarts the coding agent.
|
|
44
44
|
3. That the run resumes after the restart with
|
|
45
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
45
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard start --run <onboarding_run_id>`.
|
|
46
46
|
|
|
47
47
|
Then end your turn and wait for the developer. That restart is a step here, not an error.
|
|
48
48
|
|
|
@@ -101,26 +101,26 @@ developer's words instead.
|
|
|
101
101
|
|
|
102
102
|
Use exactly one matching internal route:
|
|
103
103
|
|
|
104
|
-
1. AG2: `npx --prefer-offline --yes copilotkit@4.
|
|
105
|
-
2. Agno: `npx --prefer-offline --yes copilotkit@4.
|
|
106
|
-
3. Built-in CopilotKit agent: `npx --prefer-offline --yes copilotkit@4.
|
|
107
|
-
4. Claude Agent SDK Python: `npx --prefer-offline --yes copilotkit@4.
|
|
108
|
-
5. Claude Agent SDK TypeScript: `npx --prefer-offline --yes copilotkit@4.
|
|
109
|
-
6. CrewAI Flows: `npx --prefer-offline --yes copilotkit@4.
|
|
110
|
-
7. Deep Agents: `npx --prefer-offline --yes copilotkit@4.
|
|
111
|
-
8. LangGraph Python: `npx --prefer-offline --yes copilotkit@4.
|
|
112
|
-
9. LangGraph FastAPI: `npx --prefer-offline --yes copilotkit@4.
|
|
113
|
-
10. LangGraph TypeScript: `npx --prefer-offline --yes copilotkit@4.
|
|
114
|
-
11. LlamaIndex: `npx --prefer-offline --yes copilotkit@4.
|
|
115
|
-
12. ADK: `npx --prefer-offline --yes copilotkit@4.
|
|
116
|
-
13. Microsoft Agent Framework Python: `npx --prefer-offline --yes copilotkit@4.
|
|
117
|
-
14. Microsoft Agent Framework .NET: `npx --prefer-offline --yes copilotkit@4.
|
|
118
|
-
15. Mastra: `npx --prefer-offline --yes copilotkit@4.
|
|
119
|
-
16. MS Agent Harness .NET: `npx --prefer-offline --yes copilotkit@4.
|
|
120
|
-
17. Pydantic AI: `npx --prefer-offline --yes copilotkit@4.
|
|
121
|
-
18. Strands Agents Python: `npx --prefer-offline --yes copilotkit@4.
|
|
122
|
-
19. Strands Agents TypeScript: `npx --prefer-offline --yes copilotkit@4.
|
|
104
|
+
1. AG2: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/ag2`
|
|
105
|
+
2. Agno: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/agno`
|
|
106
|
+
3. Built-in CopilotKit agent: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/built-in`
|
|
107
|
+
4. Claude Agent SDK Python: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/claude-sdk-python`
|
|
108
|
+
5. Claude Agent SDK TypeScript: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/claude-sdk-typescript`
|
|
109
|
+
6. CrewAI Flows: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/crewai-flows`
|
|
110
|
+
7. Deep Agents: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/deep-agents`
|
|
111
|
+
8. LangGraph Python: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/langgraph-python`
|
|
112
|
+
9. LangGraph FastAPI: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/langgraph-fastapi`
|
|
113
|
+
10. LangGraph TypeScript: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/langgraph-typescript`
|
|
114
|
+
11. LlamaIndex: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/llamaindex`
|
|
115
|
+
12. ADK: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/google-adk`
|
|
116
|
+
13. Microsoft Agent Framework Python: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/ms-agent-python`
|
|
117
|
+
14. Microsoft Agent Framework .NET: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/ms-agent-dotnet`
|
|
118
|
+
15. Mastra: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/mastra`
|
|
119
|
+
16. MS Agent Harness .NET: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/ms-agent-harness-dotnet`
|
|
120
|
+
17. Pydantic AI: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/pydantic-ai`
|
|
121
|
+
18. Strands Agents Python: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/strands-python`
|
|
122
|
+
19. Strands Agents TypeScript: `npx --prefer-offline --yes copilotkit@4.20.0 onboard read framework/strands-typescript`
|
|
123
123
|
|
|
124
124
|
If the project has an agent in another framework, or no listed framework fits, keep the
|
|
125
125
|
developer's current agent and run
|
|
126
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
126
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read unsupported/no-validated-path`.
|
|
@@ -21,7 +21,7 @@ The plan names the model credential variables. Run this from the directory that
|
|
|
21
21
|
`environmentPath` in the project step's result, with one `--model-key` for each variable:
|
|
22
22
|
|
|
23
23
|
```text
|
|
24
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
24
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard credentials --model-key <variable> --json
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
When the framework node names another env file for the credential, add
|
|
@@ -33,9 +33,11 @@ never prints a value. When every key settles, it protects the credential paths.
|
|
|
33
33
|
- `ready`: continue. Name each `unsupported` or `undetermined` `reason` in `modelKeys` in
|
|
34
34
|
the closing report. When `outsideRepository` names a file, the app does not load it by
|
|
35
35
|
itself. By default, plan to copy the key into the app's env file, which git ignores.
|
|
36
|
-
This command protects that env file,
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
This command protects that env file, and the copy is a file the run writes itself, so
|
|
37
|
+
list the copy under `Files the run writes itself`, not under `Authorization requested`.
|
|
38
|
+
The developer's approval of the plan is their consent to the copy. Copy the key without
|
|
39
|
+
printing it. Then record the copy with
|
|
40
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard protect --accept-credential --path <env file>`. If the developer declines the copy, the plan has the app read the key from an
|
|
39
41
|
environment variable that the developer sets. The plan then says how to set it. Never
|
|
40
42
|
write the outside path into a project file, not even in a config file such as
|
|
41
43
|
`langgraph.json`. A committed file that names a folder in the developer's home directory
|
|
@@ -64,4 +66,4 @@ Never read a file outside the project directory to find a credential: a key foun
|
|
|
64
66
|
bills another project. Asking for a path is not requesting a secret. A path the developer
|
|
65
67
|
names is theirs to give, including one outside the project. A path this run finds is not.
|
|
66
68
|
|
|
67
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
69
|
+
Then run `npx --prefer-offline --yes copilotkit@4.20.0 onboard read credentials/write-plan`.
|
|
@@ -11,7 +11,7 @@ friction command follows the telemetry setting the developer already chose, so i
|
|
|
11
11
|
separate question.
|
|
12
12
|
|
|
13
13
|
```text
|
|
14
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
14
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -72,7 +72,7 @@ page is selected yet, add the one for the frontend selected above to the same li
|
|
|
72
72
|
Native, so the planner proves the thread with `verify --round-trip` instead.
|
|
73
73
|
|
|
74
74
|
Spawn one planning subagent. Tell it to run
|
|
75
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
75
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read subagent/create-plan` first and follow the prompt
|
|
76
76
|
it returns. If that read fails because the subagent cannot use the shell, stop that subagent.
|
|
77
77
|
Run the same command yourself, then spawn a fresh subagent with the returned prompt and the
|
|
78
78
|
same handoff. Give it the repository findings, selected framework, frontend, model, credential
|
|
@@ -83,7 +83,7 @@ Wait for the subagent to finish.
|
|
|
83
83
|
Continue only if the planning result starts with `Status: passed`. For `Status: failed`,
|
|
84
84
|
send the result back to the planning subagent for repair, up to three attempts. For
|
|
85
85
|
`Status: blocked`, or a third failed result, run
|
|
86
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
86
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read stopped/run-failed`. A plan this run cannot
|
|
87
87
|
write is a run that broke, not a stack the documentation does not cover. The exception is
|
|
88
88
|
a blocked result that names `unsupported/no-validated-path`: the planning subagent found
|
|
89
89
|
that no page supports the plan, so take the no-supported-path route at the end of this
|
|
@@ -96,7 +96,7 @@ for, implementation steps, validation steps, and proof steps. Where the plan upg
|
|
|
96
96
|
CopilotKit dependencies, it must name the versions it moves, every other pin it has to
|
|
97
97
|
move with them, and the revert it falls back to. It must not contain secret values.
|
|
98
98
|
|
|
99
|
-
Show only the selected framework, frontend, model, planned file changes with the feature explanations below where applicable, any ignore-file line this run adds, the CopilotKit dependency upgrade and the versions it moves, every other dependency the upgrade moves and the versions it moves them to, validation commands, and proof steps.
|
|
99
|
+
Show only the selected framework, frontend, model, planned file changes with the feature explanations below where applicable, any ignore-file line this run adds, the files the run writes itself, the CopilotKit Skills install as a choice the developer approves or declines, the CopilotKit dependency upgrade and the versions it moves, every other dependency the upgrade moves and the versions it moves them to, validation commands, and proof steps.
|
|
100
100
|
|
|
101
101
|
Explain these benefits in your own words within the planned changes, only when the
|
|
102
102
|
plan includes the feature:
|
|
@@ -111,6 +111,9 @@ plan includes the feature:
|
|
|
111
111
|
These explanations are required content, not fixed wording. They explain the existing
|
|
112
112
|
plan. They do not add features, implementation steps, or a separate message or question.
|
|
113
113
|
|
|
114
|
+
Carry the developer's answer on the Skills install into the implementation and proof
|
|
115
|
+
handoffs. Approving the plan without a word on the Skills approves the install.
|
|
116
|
+
|
|
114
117
|
An upgrade to a working install is the developer's call, so it belongs in the plan they
|
|
115
118
|
approve rather than in the implementation that follows. Do not upgrade a dependency the
|
|
116
119
|
developer did not approve.
|
|
@@ -131,7 +134,7 @@ build. Keep this window open until the app runs." Decide from your own approval
|
|
|
131
134
|
as the welcome did, not from your coding-agent slug.
|
|
132
135
|
|
|
133
136
|
If the developer approves the plan, run
|
|
134
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
137
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read implementation/build-and-validate`.
|
|
135
138
|
|
|
136
139
|
If no exact supported path or documentation URL exists, run
|
|
137
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
140
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read unsupported/no-validated-path`.
|
|
@@ -16,7 +16,7 @@ you stop. The friction command follows the telemetry setting the developer alrea
|
|
|
16
16
|
so it needs no separate question.
|
|
17
17
|
|
|
18
18
|
```text
|
|
19
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
19
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -62,19 +62,19 @@ or frontend, stop onboarding.
|
|
|
62
62
|
|
|
63
63
|
Use these rules for every protected-path check in this fallback:
|
|
64
64
|
|
|
65
|
-
- Run `npx --prefer-offline --yes copilotkit@4.
|
|
65
|
+
- Run `npx --prefer-offline --yes copilotkit@4.20.0 onboard audit` from the target app directory.
|
|
66
66
|
- If a result starts with `Status: blocked`, stop onboarding and report the printed reason.
|
|
67
67
|
It proved nothing changed, so do not report a preservation failure.
|
|
68
68
|
- If a result reports a changed protected path this run wrote, stop onboarding.
|
|
69
69
|
- If a result reports a changed env file, this rule replaces the one above, even when this
|
|
70
70
|
run wrote the file. This run asked the developer to place a
|
|
71
71
|
credential there, so take the credential route rather than the external one. Accept it
|
|
72
|
-
with `npx --prefer-offline --yes copilotkit@4.
|
|
72
|
+
with `npx --prefer-offline --yes copilotkit@4.20.0 onboard protect --accept-credential --path <path>`,
|
|
73
73
|
run the audit again, and name it in the closing report. If the command refuses because
|
|
74
74
|
it names a lost variable, stop onboarding.
|
|
75
75
|
- Before any proof subagent runs, a changed path that no Files changed section from this
|
|
76
76
|
run names came from outside the run. Accept it by name with
|
|
77
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
77
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard protect --accept-external --path <path>`, run the
|
|
78
78
|
audit again, and name it in the closing report.
|
|
79
79
|
- After a proof subagent runs, a changed path that no Files changed section from this run
|
|
80
80
|
names is unsettled rather than outside the run, because the proof subagent here returns
|
|
@@ -133,16 +133,16 @@ that the selected documentation proved an inferred step.
|
|
|
133
133
|
Record what the proof returned before you complete:
|
|
134
134
|
|
|
135
135
|
```text
|
|
136
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
136
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
137
137
|
```
|
|
138
138
|
|
|
139
|
-
When the proof is complete, run `npx --prefer-offline --yes copilotkit@4.
|
|
139
|
+
When the proof is complete, run `npx --prefer-offline --yes copilotkit@4.20.0 onboard complete`, carrying the
|
|
140
140
|
surface-check result the proof subagent returned. Pass exactly one of `--visual-check` or
|
|
141
141
|
`--device-check`, matching this journey's surface:
|
|
142
142
|
|
|
143
143
|
```text
|
|
144
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
145
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
144
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard complete --visual-check <outcome>
|
|
145
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard complete --device-check <outcome>
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
`--visual-check` is for a web frontend and takes `performed`, `skipped-no-browser-tool`, or
|
|
@@ -18,7 +18,7 @@ without exposing secrets.
|
|
|
18
18
|
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
19
19
|
|
|
20
20
|
```text
|
|
21
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
21
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard audit
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
@@ -37,7 +37,7 @@ still go on the record. Name the file and why the work needs it, then end your t
|
|
|
37
37
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
38
38
|
|
|
39
39
|
```text
|
|
40
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
40
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -49,7 +49,7 @@ feature stop route below.
|
|
|
49
49
|
After validation and each repair, run:
|
|
50
50
|
|
|
51
51
|
```text
|
|
52
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard audit
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -60,7 +60,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
60
60
|
the path, accept the developer's external change:
|
|
61
61
|
|
|
62
62
|
```text
|
|
63
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
63
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard protect --accept-external --path <path>
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
For an env file where the developer placed a requested credential, use
|
|
@@ -73,17 +73,11 @@ Run the audit again after each accepted change. If it still fails, or starts
|
|
|
73
73
|
with `Status: blocked`, route out and stop:
|
|
74
74
|
|
|
75
75
|
```text
|
|
76
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
When implementation validation passes, report it:
|
|
80
|
-
|
|
81
|
-
```text
|
|
82
|
-
npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase build-validated
|
|
76
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard read feature/stop
|
|
83
77
|
```
|
|
84
78
|
|
|
85
79
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
86
80
|
the feature stop route above without further changes.
|
|
87
81
|
|
|
88
82
|
Otherwise run
|
|
89
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
83
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read feature/a2ui/proof`.
|
|
@@ -27,7 +27,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
|
|
|
27
27
|
for the developer's answer. If they allow it, record their answer before any edit:
|
|
28
28
|
|
|
29
29
|
```text
|
|
30
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
30
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -36,26 +36,15 @@ same handoff and that list. A subagent that already returned cannot pick up cons
|
|
|
36
36
|
after it was spawned. If you cannot ask, or the developer declines, take the feature stop
|
|
37
37
|
route below.
|
|
38
38
|
|
|
39
|
-
Report
|
|
39
|
+
Report the outcome of each attempt as it ends, before any repair. The command counts the
|
|
40
|
+
attempts and the repairs:
|
|
40
41
|
|
|
41
42
|
```text
|
|
42
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Report each repair cycle the same way, counting from one:
|
|
46
|
-
|
|
47
|
-
```text
|
|
48
|
-
npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
After the final attempt, report the gate exactly once:
|
|
52
|
-
|
|
53
|
-
```text
|
|
54
|
-
npx --prefer-offline --yes copilotkit@4.19.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
43
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
55
44
|
```
|
|
56
45
|
|
|
57
46
|
Use `passed` only for a proved A2UI surface, `failed` for an attempted proof that failed,
|
|
58
|
-
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
47
|
+
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.20.0 onboard audit`.
|
|
59
48
|
Continue only when it starts with `Status: passed`.
|
|
60
49
|
|
|
61
50
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -70,9 +59,9 @@ the path and the change the audit reports. Run the audit again after each accept
|
|
|
70
59
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
71
60
|
|
|
72
61
|
```text
|
|
73
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
62
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard read feature/stop
|
|
74
63
|
```
|
|
75
64
|
|
|
76
65
|
When the audit passes, run
|
|
77
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
66
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 onboard read feature/complete` with the actual browser-proof
|
|
78
67
|
outcome.
|
|
@@ -21,13 +21,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
|
|
|
21
21
|
once:
|
|
22
22
|
|
|
23
23
|
```text
|
|
24
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
24
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard checkpoint --phase delegation-unavailable
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
Before you end your turn to wait for the developer, report the pause:
|
|
28
28
|
|
|
29
29
|
```text
|
|
30
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
30
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard checkpoint --phase awaiting-developer
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
@@ -37,7 +37,7 @@ If you stop this run, send one short report before you stop. The friction comman
|
|
|
37
37
|
the telemetry setting the developer already chose, so it needs no separate question.
|
|
38
38
|
|
|
39
39
|
```text
|
|
40
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
40
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -51,7 +51,7 @@ one scoped fix, and sends the report itself when no fix is approved.
|
|
|
51
51
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
52
52
|
|
|
53
53
|
```text
|
|
54
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
54
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard protect
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -66,23 +66,20 @@ development/test commands. It must return paths and secret-safe presence checks
|
|
|
66
66
|
|
|
67
67
|
Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
|
|
68
68
|
processes when needed, inspect `/info`, and run
|
|
69
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
69
|
+
`npx --prefer-offline --yes copilotkit@4.20.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
|
|
70
70
|
Also drive one existing request through the frontend when browser control is available.
|
|
71
71
|
|
|
72
72
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
73
73
|
|
|
74
74
|
```text
|
|
75
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
75
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard checkpoint --phase research-returned
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
79
|
-
failed step.
|
|
80
|
-
|
|
81
78
|
If the inspection did not prove the baseline this intent extends, stop here without
|
|
82
79
|
changing files:
|
|
83
80
|
|
|
84
81
|
```text
|
|
85
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
82
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard read feature/stop
|
|
86
83
|
```
|
|
87
84
|
|
|
88
85
|
Do not run `login`, select an Intelligence project, add an Intelligence client, mint a
|
|
@@ -106,17 +103,11 @@ one.
|
|
|
106
103
|
After approval, record each approved path before implementation:
|
|
107
104
|
|
|
108
105
|
```text
|
|
109
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
106
|
+
npx --prefer-offline --yes copilotkit@4.20.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
110
107
|
```
|
|
111
108
|
|
|
112
109
|
If an approved path changed after capture and no implementation step has run, add
|
|
113
110
|
`--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
|
|
114
111
|
authorize a path the approved plan did not list.
|
|
115
112
|
|
|
116
|
-
Then
|
|
117
|
-
|
|
118
|
-
```text
|
|
119
|
-
npx --prefer-offline --yes copilotkit@4.19.0 onboard checkpoint --phase plan-written
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Then run `npx --prefer-offline --yes copilotkit@4.19.0 onboard read feature/a2ui/implement`.
|
|
113
|
+
Then run `npx --prefer-offline --yes copilotkit@4.20.0 onboard read feature/a2ui/implement`.
|