copilotkit 4.28.0 → 4.30.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 +317 -36
- package/cli-build-info.json +7 -7
- package/exporters/claude-sdk/README.md +93 -0
- package/exporters/claude-sdk/export_session_store.py +39 -0
- package/exporters/claude-sdk/store-export.ts +61 -0
- package/index.js +212799 -109146
- package/onboarding/index.json +51 -5
- package/onboarding/prompts/authenticate/start.md +66 -52
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +15 -15
- package/onboarding/prompts/credentials/plan.md +25 -29
- package/onboarding/prompts/credentials/settle-credentials.md +13 -8
- package/onboarding/prompts/credentials/write-plan.md +40 -30
- package/onboarding/prompts/deployment/choose-local.md +13 -12
- package/onboarding/prompts/deployment/local-evaluation.md +12 -12
- package/onboarding/prompts/fallback/best-effort.md +10 -11
- package/onboarding/prompts/feature/a2ui/implement.md +7 -5
- package/onboarding/prompts/feature/a2ui/plan.md +7 -3
- package/onboarding/prompts/feature/a2ui/proof.md +8 -6
- package/onboarding/prompts/feature/a2ui/start.md +18 -9
- package/onboarding/prompts/feature/channels/implement.md +10 -8
- package/onboarding/prompts/feature/channels/plan.md +9 -5
- package/onboarding/prompts/feature/channels/proof.md +8 -6
- package/onboarding/prompts/feature/channels/start.md +25 -12
- package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -5
- package/onboarding/prompts/feature/chat-suggestions/plan.md +7 -3
- package/onboarding/prompts/feature/chat-suggestions/proof.md +8 -6
- package/onboarding/prompts/feature/chat-suggestions/start.md +18 -9
- package/onboarding/prompts/feature/complete.md +3 -3
- package/onboarding/prompts/feature/learning/implement.md +15 -13
- package/onboarding/prompts/feature/learning/plan.md +8 -4
- package/onboarding/prompts/feature/learning/proof.md +16 -14
- package/onboarding/prompts/feature/learning/start.md +18 -9
- package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -5
- package/onboarding/prompts/feature/open-generative-ui/plan.md +7 -3
- package/onboarding/prompts/feature/open-generative-ui/proof.md +8 -6
- package/onboarding/prompts/feature/open-generative-ui/start.md +18 -9
- package/onboarding/prompts/feature/realtime-sync/implement.md +8 -6
- package/onboarding/prompts/feature/realtime-sync/plan.md +7 -3
- package/onboarding/prompts/feature/realtime-sync/proof.md +8 -6
- package/onboarding/prompts/feature/realtime-sync/start.md +17 -8
- package/onboarding/prompts/feature/rich-threads/implement.md +9 -7
- package/onboarding/prompts/feature/rich-threads/plan.md +7 -3
- package/onboarding/prompts/feature/rich-threads/proof.md +8 -6
- package/onboarding/prompts/feature/rich-threads/start.md +17 -8
- package/onboarding/prompts/feature/stop.md +4 -4
- package/onboarding/prompts/feature/voice/implement.md +7 -5
- package/onboarding/prompts/feature/voice/plan.md +8 -4
- package/onboarding/prompts/feature/voice/proof.md +8 -6
- package/onboarding/prompts/feature/voice/start.md +18 -9
- package/onboarding/prompts/framework/ag2.md +4 -11
- package/onboarding/prompts/framework/agno.md +4 -11
- package/onboarding/prompts/framework/built-in.md +3 -3
- package/onboarding/prompts/framework/claude-sdk-python.md +3 -3
- package/onboarding/prompts/framework/claude-sdk-typescript.md +3 -3
- package/onboarding/prompts/framework/crewai-flows.md +6 -12
- package/onboarding/prompts/framework/custom-ag-ui.md +5 -11
- package/onboarding/prompts/framework/deep-agents.md +5 -11
- package/onboarding/prompts/framework/google-adk.md +4 -8
- package/onboarding/prompts/framework/langgraph-fastapi.md +4 -10
- package/onboarding/prompts/framework/langgraph-python.md +4 -10
- package/onboarding/prompts/framework/langgraph-typescript.md +5 -11
- package/onboarding/prompts/framework/llamaindex.md +4 -10
- package/onboarding/prompts/framework/mastra.md +4 -10
- package/onboarding/prompts/framework/ms-agent-dotnet.md +6 -13
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +7 -13
- package/onboarding/prompts/framework/ms-agent-python.md +5 -11
- package/onboarding/prompts/framework/pydantic-ai.md +4 -10
- package/onboarding/prompts/framework/strands-python.md +4 -10
- package/onboarding/prompts/framework/strands-typescript.md +4 -10
- package/onboarding/prompts/frontend/angular.md +4 -4
- package/onboarding/prompts/frontend/nextjs.md +4 -4
- package/onboarding/prompts/frontend/plan.md +10 -10
- package/onboarding/prompts/frontend/react-native.md +3 -3
- package/onboarding/prompts/frontend/react-spa.md +3 -3
- package/onboarding/prompts/frontend/vue.md +3 -3
- package/onboarding/prompts/implementation/build-and-validate.md +48 -15
- package/onboarding/prompts/proof/complete.md +22 -19
- package/onboarding/prompts/proof/oss-baseline.md +21 -5
- package/onboarding/prompts/proof/round-trip.md +55 -13
- package/onboarding/prompts/research/gather.md +60 -43
- package/onboarding/prompts/research/merge.md +6 -5
- package/onboarding/prompts/research/preflight.md +2 -2
- package/onboarding/prompts/research/route.md +5 -5
- package/onboarding/prompts/setup/questions.md +11 -9
- package/onboarding/prompts/starter/clone.md +78 -76
- package/onboarding/prompts/starter/setup.md +111 -0
- package/onboarding/prompts/stopped/declined.md +44 -0
- package/onboarding/prompts/stopped/run-failed.md +6 -6
- package/onboarding/prompts/subagent/create-plan.md +29 -4
- package/onboarding/prompts/subagent/implement-and-validate.md +31 -3
- package/onboarding/prompts/subagent/inspect-repository.md +17 -4
- package/onboarding/prompts/subagent/prove-oss-baseline.md +24 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +43 -7
- package/onboarding/prompts/unsupported/no-validated-path.md +6 -6
- package/package.json +4 -1
- package/release/release-tool.js +383 -112
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Select the agent framework
|
|
2
2
|
|
|
3
|
-
First run `npx --prefer-offline --yes copilotkit@4.
|
|
3
|
+
First run `npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers`. It prints the answers that
|
|
4
4
|
`setup/questions` recorded, even after this conversation lost them. Use its `framework` and
|
|
5
5
|
its `vendor`, with `vendor.choice`, `vendor.baseUrl` and `vendor.modelId`. That node asked
|
|
6
6
|
the developer, so ask nothing here. A run that proved its existing agent, frontend, and
|
|
@@ -18,14 +18,10 @@ it holds a framework and no vendor, ask the model provider line alone: without a
|
|
|
18
18
|
framework node uses OpenAI, which the developer never chose. Recommend the framework that
|
|
19
19
|
the repository findings show, or, for an empty project, a documented default. For the
|
|
20
20
|
provider, recommend the framework's default vendor, and offer only the other vendors it takes:
|
|
21
|
-
`onboard setup-answers` refuses any other and names the ones it takes.
|
|
22
|
-
OpenAI-compatible provider: if the developer names Anthropic or Google for a new agent
|
|
23
|
-
there, say that this release supports the row's vendors on that framework, that Anthropic
|
|
24
|
-
and Google come in a later release, and offer the Built-in CopilotKit agent if they need
|
|
25
|
-
them now. Record the answers with
|
|
21
|
+
`onboard setup-answers` refuses any other and names the ones it takes. Some frameworks hold back Anthropic or Google in this release: if the developer names one of those for a new agent there, say that this release supports the vendors that framework takes, that the vendor comes in a later release, and offer the Built-in CopilotKit agent if they need it now. Record the answers with
|
|
26
22
|
`onboard setup-answers --framework <name> --vendor <vendor> --vendor-choice <choice>`.
|
|
27
23
|
Report the pause with
|
|
28
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
24
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about stack-choice`, then end your
|
|
29
25
|
turn and wait for the answer. A route that records no framework or vendor on purpose is not
|
|
30
26
|
this case: an empty project with Slack or Microsoft Teams, a "Project-defined" vendor, or
|
|
31
27
|
"The agent's own" vendor.
|
|
@@ -49,7 +45,7 @@ Microsoft Teams docs page, do not ask the framework question. So does an empty p
|
|
|
49
45
|
whose frontend `setup/questions` recorded as Slack or Microsoft Teams: it recorded no
|
|
50
46
|
framework. The Channel starter brings its own agent, so an answer here decides nothing. Tell the developer that the Channel
|
|
51
47
|
starter decides the agent, then run
|
|
52
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
48
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read frontend/plan`.
|
|
53
49
|
|
|
54
50
|
## Route on the recorded framework
|
|
55
51
|
|
|
@@ -58,28 +54,28 @@ chosen: `developer`, `default`, or `existing`. The framework route uses this ven
|
|
|
58
54
|
|
|
59
55
|
Use exactly one matching internal route:
|
|
60
56
|
|
|
61
|
-
1. AG2: `npx --prefer-offline --yes copilotkit@4.
|
|
62
|
-
2. Agno: `npx --prefer-offline --yes copilotkit@4.
|
|
63
|
-
3. Built-in CopilotKit agent: `npx --prefer-offline --yes copilotkit@4.
|
|
64
|
-
4. Claude Agent SDK Python: `npx --prefer-offline --yes copilotkit@4.
|
|
65
|
-
5. Claude Agent SDK TypeScript: `npx --prefer-offline --yes copilotkit@4.
|
|
66
|
-
6. CrewAI Flows: `npx --prefer-offline --yes copilotkit@4.
|
|
67
|
-
7. Custom agent: `npx --prefer-offline --yes copilotkit@4.
|
|
68
|
-
8. Deep Agents: `npx --prefer-offline --yes copilotkit@4.
|
|
69
|
-
9. LangGraph Python: `npx --prefer-offline --yes copilotkit@4.
|
|
70
|
-
10. LangGraph FastAPI: `npx --prefer-offline --yes copilotkit@4.
|
|
71
|
-
11. LangGraph TypeScript: `npx --prefer-offline --yes copilotkit@4.
|
|
72
|
-
12. LlamaIndex: `npx --prefer-offline --yes copilotkit@4.
|
|
73
|
-
13. ADK: `npx --prefer-offline --yes copilotkit@4.
|
|
74
|
-
14. Microsoft Agent Framework Python: `npx --prefer-offline --yes copilotkit@4.
|
|
75
|
-
15. Microsoft Agent Framework .NET: `npx --prefer-offline --yes copilotkit@4.
|
|
76
|
-
16. Mastra: `npx --prefer-offline --yes copilotkit@4.
|
|
77
|
-
17. MS Agent Harness .NET: `npx --prefer-offline --yes copilotkit@4.
|
|
78
|
-
18. Pydantic AI: `npx --prefer-offline --yes copilotkit@4.
|
|
79
|
-
19. Strands Agents Python: `npx --prefer-offline --yes copilotkit@4.
|
|
80
|
-
20. Strands Agents TypeScript: `npx --prefer-offline --yes copilotkit@4.
|
|
57
|
+
1. AG2: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/ag2`
|
|
58
|
+
2. Agno: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/agno`
|
|
59
|
+
3. Built-in CopilotKit agent: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/built-in`
|
|
60
|
+
4. Claude Agent SDK Python: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/claude-sdk-python`
|
|
61
|
+
5. Claude Agent SDK TypeScript: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/claude-sdk-typescript`
|
|
62
|
+
6. CrewAI Flows: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/crewai-flows`
|
|
63
|
+
7. Custom agent: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/custom-ag-ui`
|
|
64
|
+
8. Deep Agents: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/deep-agents`
|
|
65
|
+
9. LangGraph Python: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/langgraph-python`
|
|
66
|
+
10. LangGraph FastAPI: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/langgraph-fastapi`
|
|
67
|
+
11. LangGraph TypeScript: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/langgraph-typescript`
|
|
68
|
+
12. LlamaIndex: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/llamaindex`
|
|
69
|
+
13. ADK: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/google-adk`
|
|
70
|
+
14. Microsoft Agent Framework Python: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/ms-agent-python`
|
|
71
|
+
15. Microsoft Agent Framework .NET: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/ms-agent-dotnet`
|
|
72
|
+
16. Mastra: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/mastra`
|
|
73
|
+
17. MS Agent Harness .NET: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/ms-agent-harness-dotnet`
|
|
74
|
+
18. Pydantic AI: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/pydantic-ai`
|
|
75
|
+
19. Strands Agents Python: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/strands-python`
|
|
76
|
+
20. Strands Agents TypeScript: `npx --prefer-offline --yes copilotkit@4.30.0 onboard read framework/strands-typescript`
|
|
81
77
|
|
|
82
78
|
An agent in any other framework takes route 7, whether or not it speaks AG-UI. So does a
|
|
83
79
|
new agent on a framework that is not listed. If the developer declines route 7 and every
|
|
84
80
|
listed framework, keep their current agent and run
|
|
85
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
81
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read unsupported/no-validated-path`.
|
|
@@ -21,10 +21,10 @@ 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.30.0 onboard credentials --model-key <variable> --json
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Run `npx --prefer-offline --yes copilotkit@4.
|
|
27
|
+
Run `npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers` for the key answer the setup
|
|
28
28
|
message recorded. If it holds `key.file`, add `--env-path <key.file>` to the first check.
|
|
29
29
|
When the framework node names another env file for the credential, add
|
|
30
30
|
`--env-path <file>`. When the agent runs as its own service, such as a remote AG-UI agent,
|
|
@@ -35,23 +35,23 @@ never prints a value. Read `status`:
|
|
|
35
35
|
|
|
36
36
|
- `ready`: continue. Name each `unsupported` or `undetermined` `reason` in `modelKeys` in
|
|
37
37
|
the closing report. Name each `copiedKeys` entry with the outcome `kept` or `no-value`
|
|
38
|
-
too: that service does not get the checked key. When `outsideRepository` names a file, the app does not load it by
|
|
38
|
+
too: that service does not get the checked key. Name each `addedIgnoreLines` entry to the developer and in the closing report. When `outsideRepository` names a file, the app does not load it by
|
|
39
39
|
itself. By default, plan to copy the key into `environmentPath`, the app's env file that git ignores.
|
|
40
40
|
The copy is a file the run writes itself, so list the copy under
|
|
41
41
|
`Files the run writes itself`.
|
|
42
42
|
The developer's answer to the key file line in the setup questions is their consent to
|
|
43
43
|
the copy. After the run shows the plan, copy the key with the command that `next` names. It has this form:
|
|
44
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
44
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard credentials --model-key <variable> --env-path <file> --copy-to <env file> --json`.
|
|
45
45
|
`<env file>` is `environmentPath`, never the tracked `.env` of a run that chose
|
|
46
46
|
`question.alternative.file`. It writes the key without printing it. Do not copy the key
|
|
47
47
|
yourself, and do not write a `sed`, `grep`, or `cat` command for it. If you cannot run
|
|
48
48
|
the command, for example because a sandbox refuses the path, ask the developer to run it.
|
|
49
49
|
Give them exactly this one line, with `<app directory>` as the directory that holds
|
|
50
50
|
`environmentPath`:
|
|
51
|
-
`! cd <app directory> && npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
`! cd <app directory> && npx --prefer-offline --yes copilotkit@4.30.0 onboard credentials --model-key <variable> --env-path <file> --copy-to <env file>`.
|
|
52
52
|
The command needs no input. Without `!`, they run the same command in a terminal.
|
|
53
53
|
Report the pause with
|
|
54
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
54
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-model-credential`,
|
|
55
55
|
end your turn, and wait. When they reply, run the same command with `--json` and read `copiedKeys`.
|
|
56
56
|
If the developer declines the copy, the plan has the app read the key from an
|
|
57
57
|
environment variable that the developer sets. The plan then says how to set it. Never
|
|
@@ -69,13 +69,18 @@ never prints a value. Read `status`:
|
|
|
69
69
|
The `reason` `compatible-base-url-missing` or `key-not-openai` means that the key belongs
|
|
70
70
|
to an OpenAI-compatible provider, but no file names its base URL, so nothing was sent.
|
|
71
71
|
Ask the developer for the provider's base URL, record it with
|
|
72
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
72
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers --vendor openai-compatible --base-url <url> --model-id <id>`,
|
|
73
73
|
and run this step again.
|
|
74
74
|
- `needs-developer` with `question.reason` `local-endpoint-no-key`: the base URL is a local
|
|
75
75
|
server that needs no key, such as Ollama or LM Studio. The OpenAI SDKs refuse an empty
|
|
76
76
|
key. Do what `next` says: write `<variable>=not-needed` to `question.envFile`, the key's
|
|
77
77
|
own file, and run this step again. For the Microsoft Agent Framework Python starter,
|
|
78
78
|
that file is `agent/.env`.
|
|
79
|
+
- `needs-developer` with `question.reason` `endpoint-conflict`: the env files name
|
|
80
|
+
different base URLs, so nothing was sent and the key was not checked. Do what `next`
|
|
81
|
+
says. Do not plan or build before this step runs again. The one exception: if the
|
|
82
|
+
developer said they will add the key later, write in the plan that the key was not
|
|
83
|
+
checked, and continue.
|
|
79
84
|
- `needs-developer` with `question.status` `missing`: if the developer said they will add the
|
|
80
85
|
key later, do not ask or pause here. Carry the missing key into the plan: name the
|
|
81
86
|
variable and `question.envFile`, then continue. Otherwise ask the developer `question.ask` in
|
|
@@ -113,4 +118,4 @@ Never read a file outside the project directory to find a credential: a key foun
|
|
|
113
118
|
bills another project. Asking for a path is not requesting a secret. A path the developer
|
|
114
119
|
names is theirs to give, including one outside the project. A path this run finds is not.
|
|
115
120
|
|
|
116
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
121
|
+
Then run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read credentials/write-plan`.
|
|
@@ -6,12 +6,10 @@ answer only when the plan makes a change that needs approval or still needs the
|
|
|
6
6
|
|
|
7
7
|
## If you stop in this phase
|
|
8
8
|
|
|
9
|
-
Name the exact file, value, or check that stopped you, then send one short report.
|
|
10
|
-
friction command follows the telemetry setting the developer already chose, so it needs no
|
|
11
|
-
separate question.
|
|
9
|
+
Name the exact file, value, or check that stopped you, then send one short report.
|
|
12
10
|
|
|
13
11
|
```text
|
|
14
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
12
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
15
13
|
```
|
|
16
14
|
|
|
17
15
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -38,11 +36,10 @@ so either mount works. Keep the mount the project already has, together with its
|
|
|
38
36
|
setting: `mode: "single-route"` with `useSingleEndpoint` true or unset, or the full route
|
|
39
37
|
subtree with `useSingleEndpoint={false}`. For a new mount, use the full route subtree below.
|
|
40
38
|
|
|
41
|
-
Below 1.73.1, mount the runtime on the full route subtree.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
returns not found for every run and every thread reopen. The other fix is an upgrade of
|
|
39
|
+
Below 1.73.1, mount the runtime on the full route subtree. The Intelligence client of those
|
|
40
|
+
versions calls `/agent/<id>/run` and `/agent/<id>/connect` for every transport, so a
|
|
41
|
+
runtime mounted with `mode: "single-route"` returns not found for every run and every
|
|
42
|
+
thread reopen. The other fix is an upgrade of
|
|
46
43
|
the CopilotKit packages to 1.73.1 or later, which the plan can name as its dependency
|
|
47
44
|
upgrade. The round-trip check passes with either mount, so nothing later in this run
|
|
48
45
|
catches the mistake.
|
|
@@ -58,7 +55,7 @@ proof subagents:
|
|
|
58
55
|
- https://docs.copilotkit.ai/backend/runtime-endpoints.md
|
|
59
56
|
- https://docs.copilotkit.ai/intelligence/managed-intelligence-platform.md
|
|
60
57
|
|
|
61
|
-
Fetch them
|
|
58
|
+
Fetch them with the pages already selected, not on their own.
|
|
62
59
|
|
|
63
60
|
The planning subagent adds a threads drawer from the selected drawer page. If no drawer
|
|
64
61
|
page is selected yet, add the one for the frontend selected above to the same list:
|
|
@@ -73,25 +70,37 @@ When you start a subagent in the background, tell the developer in one sentence
|
|
|
73
70
|
does. Then send nothing more until it returns.
|
|
74
71
|
|
|
75
72
|
Spawn one planning subagent. Tell it to run
|
|
76
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
73
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read subagent/create-plan` first and follow the
|
|
77
74
|
prompt it returns. Tell it to return at once, and say so, if that read is refused or fails,
|
|
78
|
-
and not to wait for an approval.
|
|
79
|
-
command yourself, then spawn a fresh subagent with the returned prompt and the same handoff.
|
|
75
|
+
and not to wait for an approval.
|
|
80
76
|
Give it the repository findings, selected framework, frontend, model, credential variable
|
|
81
77
|
names, selected documentation URLs, and documentation policy. Give it each finding that the
|
|
82
78
|
framework route told you to record, such as how the agent connects or a `clone()` finding.
|
|
83
|
-
|
|
79
|
+
On a
|
|
84
80
|
conversion, also give it the frozen criterion. Give the planning subagent the paths that
|
|
85
81
|
had uncommitted changes when the run started, from the repository findings, and the
|
|
86
82
|
`backup` result from `onboard credentials`. Also give it the JSON that
|
|
87
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
83
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers` prints, so the plan does not ask again
|
|
88
84
|
for a change the setup message settled. Wait for the subagent to finish.
|
|
89
85
|
|
|
86
|
+
If only its closing `subagent-returned` checkpoint was refused, the subagent finished.
|
|
87
|
+
Record no `refused` return and spawn nothing: run that checkpoint yourself, with the result
|
|
88
|
+
the subagent returned.
|
|
89
|
+
|
|
90
|
+
If the subagent returns because its harness refused any other command, record that return:
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase subagent-returned --brief create-plan --result refused
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Then run that command yourself, from the directory the subagent named. Spawn at most one
|
|
97
|
+
fresh subagent for each refused command, with the same handoff and that command's result.
|
|
98
|
+
If the fresh subagent is refused a command too, spawn no other. Follow the brief yourself.
|
|
99
|
+
|
|
90
100
|
Continue only if the planning result starts with `Status: passed`. For `Status: failed`,
|
|
91
101
|
send the result back to the planning subagent for repair, up to three attempts. For
|
|
92
102
|
`Status: blocked`, or a third failed result, run
|
|
93
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
94
|
-
write is a run that broke, not a stack the documentation does not cover. The exception is
|
|
103
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/run-failed --reason other`. The exception is
|
|
95
104
|
a blocked result that names `unsupported/no-validated-path`: the planning subagent found
|
|
96
105
|
that no page supports the plan, so take the no-supported-path route at the end of this
|
|
97
106
|
prompt instead. Do not show a
|
|
@@ -126,7 +135,7 @@ Changes that need your approval: none. `onboard restore` puts back what the back
|
|
|
126
135
|
- App changes: what the app gains, and how many files change.
|
|
127
136
|
- Packages: each package added, with the CopilotKit version. Name each version a move
|
|
128
137
|
changes, or end with "No upgrades."
|
|
129
|
-
- Learning: the container id, or
|
|
138
|
+
- Learning: the container id, or why Learning is skipped.
|
|
130
139
|
- A note is only for something that changes behavior or security, such as a local
|
|
131
140
|
placeholder, a side effect the plan blocks, a TypeScript upgrade, or an ignore-file line
|
|
132
141
|
this run adds.
|
|
@@ -150,8 +159,7 @@ What I will change:
|
|
|
150
159
|
`onboard restore` puts back what the backup holds.
|
|
151
160
|
```
|
|
152
161
|
|
|
153
|
-
|
|
154
|
-
plan does not name.
|
|
162
|
+
Do not upgrade a dependency the plan does not name.
|
|
155
163
|
|
|
156
164
|
## Go on, or wait for one answer
|
|
157
165
|
|
|
@@ -170,7 +178,7 @@ approval or something blocks you. Before you end your turn to
|
|
|
170
178
|
wait for the answer, report the pause, each time you show the plan:
|
|
171
179
|
|
|
172
180
|
```text
|
|
173
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
181
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-plan-approval --reason <reasons>
|
|
174
182
|
```
|
|
175
183
|
|
|
176
184
|
`--reason` names why the plan stopped, one reason for each kind of line that needs approval, separated
|
|
@@ -190,24 +198,26 @@ by commas, such as `--reason dependency_upgrade,file_count`:
|
|
|
190
198
|
- `other`: a line that needs approval and fits none of these.
|
|
191
199
|
|
|
192
200
|
When the developer leaves a change out, send the plan back to the planning subagent
|
|
193
|
-
without it.
|
|
201
|
+
without it. For Learning, also run
|
|
202
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers --learning declined`. Show the new plan
|
|
203
|
+
the same way.
|
|
194
204
|
|
|
195
205
|
If the plan carries a missing model key, the run cannot build without it, so wait for it
|
|
196
206
|
even when `Changes that need your approval` says `none`. Name the variable and its file in the plan message,
|
|
197
207
|
and ask the developer to add the key. Ask the approval question in the same message, if
|
|
198
208
|
there is one. When the plan has no change that needs approval, report the pause with
|
|
199
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
209
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-model-credential`
|
|
200
210
|
instead. When the developer answers, run the same `onboard credentials --model-key` check
|
|
201
211
|
again. On `ready`, continue. If the key is still missing, ask the developer `question.ask`
|
|
202
212
|
in those words. Report the pause with
|
|
203
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
213
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-model-credential`, end
|
|
204
214
|
your turn, and run the check again when they answer.
|
|
205
215
|
|
|
206
216
|
When the plan needs no answer, or after the developer answers, run
|
|
207
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
217
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read implementation/build-and-validate`.
|
|
208
218
|
|
|
209
219
|
If no exact supported path or documentation URL exists, run
|
|
210
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
220
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read unsupported/no-validated-path`.
|
|
211
221
|
|
|
212
222
|
## If the developer replies **stop**
|
|
213
223
|
|
|
@@ -217,11 +227,11 @@ run added stay, and that the restore also undoes any edit the developer made to
|
|
|
217
227
|
during the run. Before you end your turn to wait for the answer, report the pause:
|
|
218
228
|
|
|
219
229
|
```text
|
|
220
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
230
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about restore-files
|
|
221
231
|
```
|
|
222
232
|
|
|
223
|
-
If they say yes, run `npx --prefer-offline --yes copilotkit@4.
|
|
233
|
+
If they say yes, run `npx --prefer-offline --yes copilotkit@4.30.0 onboard restore --force`. The run has
|
|
224
234
|
not ended yet, so without `--force` the restore cannot tell the run's edits from the
|
|
225
235
|
developer's and skips every changed file. Show the developer what it restored and what it
|
|
226
|
-
skipped. If they say no, change nothing. Then
|
|
227
|
-
|
|
236
|
+
skipped. If they say no, change nothing. Then run
|
|
237
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
|
|
@@ -9,15 +9,15 @@ A local request can arrive after this run created a hosted project: `init --crea
|
|
|
9
9
|
Tell the developer that this run already created a hosted project, so it stays managed.
|
|
10
10
|
Return to the step you were on.
|
|
11
11
|
|
|
12
|
-
First run `npx --prefer-offline --yes copilotkit@4.
|
|
12
|
+
First run `npx --prefer-offline --yes copilotkit@4.30.0 local --help`. If it does not list `setup`
|
|
13
13
|
("Configure model access and install or resume the local stack"), this release has no
|
|
14
|
-
local evaluation. Tell the developer so
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
local evaluation. Tell the developer so. Then run `onboard begin` again as the start
|
|
15
|
+
prompt shows, without `--local`. It records the managed default, which the developer
|
|
16
|
+
confirms on the Hosting line of the setup message. If a login process still runs, keep
|
|
17
|
+
reading that process and start no second one. Otherwise record the choice:
|
|
18
18
|
|
|
19
19
|
```text
|
|
20
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
20
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard deployment --choice local
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Explain these conditions before sign-in:
|
|
@@ -48,10 +48,10 @@ choices:
|
|
|
48
48
|
|
|
49
49
|
1. Configure later, the default. Install with `--defer-model`. In the closing report, write
|
|
50
50
|
"Learning configuration incomplete". Name the command that adds the model later:
|
|
51
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 local setup`, run in a terminal in the app directory.
|
|
52
52
|
2. Guided setup. If the developer named Learning as a goal, offer it first. Install
|
|
53
53
|
the stack with `--defer-model`. After the stack is ready, the developer runs
|
|
54
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
54
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 local setup` in their own terminal window, in the app
|
|
55
55
|
directory. Never give it as a `!` line: its guided prompt needs a terminal, and a coding
|
|
56
56
|
agent's shell has none. The prompt asks for the model and its key, and it saves them
|
|
57
57
|
privately. On a running stack, it restarts only Learning. Do not ask the developer to
|
|
@@ -71,7 +71,7 @@ If the managed sign-in message was already sent, send this once and no other sig
|
|
|
71
71
|
message: “You asked to run it locally, so this project gets no managed CopilotKit project.
|
|
72
72
|
Signing in only gets the renewable evaluation license.”
|
|
73
73
|
|
|
74
|
-
Otherwise run `npx --prefer-offline --yes copilotkit@4.
|
|
74
|
+
Otherwise run `npx --prefer-offline --yes copilotkit@4.30.0 login --json`. Follow the streaming sign-in
|
|
75
75
|
protocol from “Check sign-in” in the start prompt: open the first authentication URL
|
|
76
76
|
once, keep the same process running, and continue only after its completed record.
|
|
77
77
|
When the first authentication URL arrives, send this message in place of the managed
|
|
@@ -79,9 +79,9 @@ sign-in message: “Sign in to get the renewable evaluation license. Your local
|
|
|
79
79
|
will use CLI approval.”
|
|
80
80
|
On failed or declined sign-in, take the failure path below.
|
|
81
81
|
|
|
82
|
-
After sign-in completes, report it: `npx --prefer-offline --yes copilotkit@4.
|
|
82
|
+
After sign-in completes, report it: `npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase sign-in-settled`.
|
|
83
83
|
Then continue with
|
|
84
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
84
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read research/gather`, unless research already started.
|
|
85
85
|
If it already started, return to the step you were on. `starter/clone` and
|
|
86
86
|
`credentials/finalize-plan` each have a branch for a recorded local choice.
|
|
87
87
|
Keep the local choice and collected paths in the run's plan and worker context.
|
|
@@ -89,4 +89,5 @@ Keep the local choice and collected paths in the run's plan and worker context.
|
|
|
89
89
|
## Failure path
|
|
90
90
|
|
|
91
91
|
If sign-in fails or is declined, stop before cluster creation.
|
|
92
|
-
|
|
92
|
+
If sign-in failed, run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/run-failed --reason other`.
|
|
93
|
+
If the developer declined it, run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
|
|
@@ -19,7 +19,7 @@ settings are saved in private CLI state before the app changes. `local cancel` r
|
|
|
19
19
|
settings that still match this setup's writes and reports conflicting setting names. It
|
|
20
20
|
preserves later edits and the stack's data.
|
|
21
21
|
|
|
22
|
-
Run `npx --prefer-offline --yes copilotkit@4.
|
|
22
|
+
Run `npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers`. It holds the setup message's
|
|
23
23
|
answers, even after this conversation lost them. Take each answer below from the record,
|
|
24
24
|
or this conversation when the record lacks it. A field the record lacks is not a "no".
|
|
25
25
|
|
|
@@ -41,7 +41,7 @@ authorize replacing an existing app's connection.
|
|
|
41
41
|
Before you end your turn to wait for the developer, report the pause:
|
|
42
42
|
|
|
43
43
|
```text
|
|
44
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
44
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about local-connection
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
## Run the shared installer
|
|
@@ -50,16 +50,16 @@ From the exact app directory, use the `learning` answer from the record, or this
|
|
|
50
50
|
conversation:
|
|
51
51
|
|
|
52
52
|
```text
|
|
53
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
53
|
+
npx --prefer-offline --yes copilotkit@4.30.0 local setup --defer-model --json
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
For `learning.file`, replace `--defer-model` with `--model-config <learning.file>`.
|
|
57
|
-
Before setup, run `npx --prefer-offline --yes copilotkit@4.
|
|
57
|
+
Before setup, run `npx --prefer-offline --yes copilotkit@4.30.0 onboard local-terms --json`. If `accepted`
|
|
58
58
|
is false, pause here. Give the developer this exact command to run in their own terminal:
|
|
59
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
59
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 local accept-terms`. Never accept the agreement yourself.
|
|
60
60
|
Report the pause with
|
|
61
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
62
|
-
and wait for "done". Then run `local-terms` again, and continue only when `accepted` is
|
|
61
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about local-terms`, end your
|
|
62
|
+
turn, and wait for "done". Then run `local-terms` again, and continue only when `accepted` is
|
|
63
63
|
true. A local command that fails with `eula_acceptance_required` comes back to this step.
|
|
64
64
|
The CLI selects the latest stable release. Add `--candidate <manifest.json>` only when the
|
|
65
65
|
developer gave a candidate manifest for release testing.
|
|
@@ -75,7 +75,7 @@ A copied app needs explicit `--share-stack`. Do not infer sharing from a copied
|
|
|
75
75
|
After setup reports the stack ready, run the approved connection step from that directory:
|
|
76
76
|
|
|
77
77
|
```text
|
|
78
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
78
|
+
npx --prefer-offline --yes copilotkit@4.30.0 local connect --approve-connection --json
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
Read the local `.copilotkit/project.json` for its project ID and slug. Do not run hosted
|
|
@@ -95,7 +95,7 @@ this conversation, wait until the stack is ready. Then:
|
|
|
95
95
|
Ask the developer to run this command in their own terminal window, in the app directory:
|
|
96
96
|
|
|
97
97
|
```text
|
|
98
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
98
|
+
npx --prefer-offline --yes copilotkit@4.30.0 local setup
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
Do not give it as a `!` line, and do not run it yourself. Its guided model prompt needs a
|
|
@@ -104,9 +104,9 @@ changes nothing. The prompt asks for the model and its key, and it saves them pr
|
|
|
104
104
|
On a running stack, it restarts only Learning. Do not ask for a model file.
|
|
105
105
|
|
|
106
106
|
Say that the run continues when they reply or resume this session. Report the pause with
|
|
107
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
107
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-model-credential`, end your
|
|
108
108
|
turn, and wait. When the developer replies, run
|
|
109
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
109
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 local status --json` and read `learning.configuration`.
|
|
110
110
|
|
|
111
111
|
If the model is still missing or was deferred, report “Learning configuration incomplete”
|
|
112
112
|
and name the same command, run in a terminal window. No Learning run is required to finish
|
|
@@ -120,6 +120,6 @@ must not block Threads, the dashboard, or later Learning configuration.
|
|
|
120
120
|
If the developer cancels the connection, run `local cancel --json` from the app directory.
|
|
121
121
|
Report conflict names only. Keep the stack unless deletion is separately confirmed.
|
|
122
122
|
|
|
123
|
-
Continue with `npx --prefer-offline --yes copilotkit@4.
|
|
123
|
+
Continue with `npx --prefer-offline --yes copilotkit@4.30.0 onboard read credentials/settle-credentials`.
|
|
124
124
|
For this local route, skip the hosted selection-result checks and use the local project
|
|
125
125
|
record. Continue the existing implementation and proof paths against local endpoints.
|
|
@@ -14,7 +14,7 @@ you stop. The friction command follows the telemetry setting the developer alrea
|
|
|
14
14
|
so it needs no separate question.
|
|
15
15
|
|
|
16
16
|
```text
|
|
17
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
17
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -64,7 +64,7 @@ or frontend, stop onboarding.
|
|
|
64
64
|
If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of a
|
|
65
65
|
step, show the developer the list it printed, and run what they choose:
|
|
66
66
|
the `onboard restore` command the tripwire stop prints, which names each deleted file, or
|
|
67
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
67
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again. If
|
|
68
68
|
you cannot ask, stop onboarding. Never repair, reset, or revert a file the developer changed
|
|
69
69
|
outside this run.
|
|
70
70
|
|
|
@@ -106,27 +106,26 @@ that the selected documentation proved an inferred step.
|
|
|
106
106
|
Record what the proof returned before you complete:
|
|
107
107
|
|
|
108
108
|
```text
|
|
109
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
109
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
-
When the proof is complete, run `npx --prefer-offline --yes copilotkit@4.
|
|
112
|
+
When the proof is complete, run `npx --prefer-offline --yes copilotkit@4.30.0 onboard complete`, carrying the
|
|
113
113
|
surface-check result the proof subagent returned. Pass exactly one of `--visual-check` or
|
|
114
114
|
`--device-check`, matching this journey's surface:
|
|
115
115
|
|
|
116
116
|
```text
|
|
117
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
118
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
117
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard complete --visual-check <outcome>
|
|
118
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard complete --device-check <outcome>
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
`--visual-check` is for a web frontend and takes `performed`, `skipped-no-browser-tool`, or
|
|
122
122
|
`failed`. `--device-check` is for React Native and takes `performed`, `skipped-no-device`,
|
|
123
123
|
or `failed`. `failed` and `skipped-no-device` end this run as blocked, and the command's
|
|
124
124
|
output names the evidence that is missing. Report it that way. The command also prints
|
|
125
|
-
`##
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
record it blocks.
|
|
125
|
+
`## Your files`: relay that report as printed, with its restore command. A run that
|
|
126
|
+
started in an empty folder prints no such section: list no files and offer no restore.
|
|
127
|
+
`skipped-no-browser-tool` completes the run when the round trip was recorded as `passed`,
|
|
128
|
+
and the output tells the developer to open the page. Without that record it blocks.
|
|
130
129
|
|
|
131
130
|
If the proof passed and something after it still blocked this run, add
|
|
132
131
|
`--blocked-by <cause>` to the same command, with one of `inspector`, `plan-excluded-capability`,
|
|
@@ -24,26 +24,28 @@ That result is a question for the developer. Name the file and why the work need
|
|
|
24
24
|
Before you end your turn to wait for the developer, report the pause:
|
|
25
25
|
|
|
26
26
|
```text
|
|
27
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
27
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about uncommitted-file
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
|
|
31
31
|
implementation subagent with the same handoff and the file added to the plan. If you
|
|
32
|
-
cannot ask,
|
|
32
|
+
cannot ask, take the feature stop route below. If the developer declines, such as **no** or **not now**,
|
|
33
|
+
the run did not break. Run
|
|
34
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
|
|
33
35
|
|
|
34
36
|
If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
|
|
35
37
|
a step, show the developer the list it printed, and run what they choose:
|
|
36
38
|
the `onboard restore` command the tripwire stop prints, which names each deleted file, or
|
|
37
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
39
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again.
|
|
38
40
|
|
|
39
41
|
To route out and stop:
|
|
40
42
|
|
|
41
43
|
```text
|
|
42
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
44
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
|
|
43
45
|
```
|
|
44
46
|
|
|
45
47
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
46
48
|
the feature stop route above without further changes.
|
|
47
49
|
|
|
48
50
|
Otherwise run
|
|
49
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/a2ui/proof`.
|
|
@@ -12,13 +12,17 @@ The approval is a wait for the developer. Before you end your turn to wait, repo
|
|
|
12
12
|
pause:
|
|
13
13
|
|
|
14
14
|
```text
|
|
15
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
15
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-plan-approval
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
19
19
|
When the answer arrives, continue from the step that paused. If the developer asks for a
|
|
20
20
|
change, show the changed plan and ask again.
|
|
21
21
|
|
|
22
|
+
If the developer declines the plan, such as **no**, **not now** or **do not add it**, change
|
|
23
|
+
no files. Run
|
|
24
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
|
|
25
|
+
|
|
22
26
|
## What this prompt takes from the start
|
|
23
27
|
|
|
24
28
|
Keep these from `feature/a2ui/start`, and give them to every subagent:
|
|
@@ -49,7 +53,7 @@ renders a compact visible surface. Ask for approval as its own question.
|
|
|
49
53
|
Before you end your turn to wait for the developer, report the pause:
|
|
50
54
|
|
|
51
55
|
```text
|
|
52
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
56
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-plan-approval
|
|
53
57
|
```
|
|
54
58
|
|
|
55
59
|
Ask the developer before you edit a file that has uncommitted changes. List those files in
|
|
@@ -57,4 +61,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
|
|
|
57
61
|
`git status` names them. The CLI records no consent: the approved plan is the record. The
|
|
58
62
|
plan must not delete, move, or rename one of those files.
|
|
59
63
|
|
|
60
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
64
|
+
Then run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/a2ui/implement`.
|
|
@@ -25,23 +25,25 @@ That result is a question for the developer. Name the file and why the fix needs
|
|
|
25
25
|
Before you end your turn to wait for the developer, report the pause:
|
|
26
26
|
|
|
27
27
|
```text
|
|
28
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
28
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about uncommitted-file
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
|
|
32
32
|
proof subagent with the same handoff and the file added to the plan. If you cannot ask,
|
|
33
|
-
|
|
33
|
+
take the feature stop route below. If the developer declines, such as **no** or **not now**,
|
|
34
|
+
the run did not break. Run
|
|
35
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
|
|
34
36
|
|
|
35
37
|
If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
|
|
36
38
|
a step, show the developer the list it printed, and run what they choose:
|
|
37
39
|
the `onboard restore` command the tripwire stop prints, which names each deleted file, or
|
|
38
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
40
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again.
|
|
39
41
|
|
|
40
42
|
Report the outcome of each attempt as it ends, before any repair. The command counts the
|
|
41
43
|
attempts and the repairs:
|
|
42
44
|
|
|
43
45
|
```text
|
|
44
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
46
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
45
47
|
```
|
|
46
48
|
|
|
47
49
|
Use `passed` only for a proved A2UI surface, `failed` for an attempted proof that failed,
|
|
@@ -50,9 +52,9 @@ and `skipped` when the proof could not run.
|
|
|
50
52
|
To route out and stop:
|
|
51
53
|
|
|
52
54
|
```text
|
|
53
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
55
|
+
npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
|
|
54
56
|
```
|
|
55
57
|
|
|
56
58
|
When the proof is recorded, run
|
|
57
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
59
|
+
`npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/complete` with the actual browser-proof
|
|
58
60
|
outcome.
|