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
|
@@ -4,8 +4,27 @@ This node records the developer's local deployment choice in the onboarding rout
|
|
|
4
4
|
Use that choice for both new and existing apps throughout this run. Pass it to each
|
|
5
5
|
worker. Do not offer a hosted project later in this run.
|
|
6
6
|
|
|
7
|
+
A local request can arrive after this run created a hosted project: `init --create` or
|
|
8
|
+
`onboard credentials` already ran. Then do not take the local route, and record nothing.
|
|
9
|
+
Tell the developer that this run already created a hosted project, so it stays managed.
|
|
10
|
+
Return to the step you were on.
|
|
11
|
+
|
|
12
|
+
First run `npx --prefer-offline --yes copilotkit@4.25.0 local --help`. If it does not list `setup`
|
|
13
|
+
("Configure model access and install or resume the local stack"), this release has no
|
|
14
|
+
local evaluation. Tell the developer so, and keep managed. If this run has not recorded
|
|
15
|
+
managed yet, run `npx --prefer-offline --yes copilotkit@4.25.0 onboard deployment --choice managed`.
|
|
16
|
+
Then return to “Check sign-in” in the start prompt. If a login process from it still
|
|
17
|
+
runs, keep reading that process and start no second one. Otherwise record the choice:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard deployment --choice local
|
|
21
|
+
```
|
|
22
|
+
|
|
7
23
|
Explain these conditions before sign-in:
|
|
8
24
|
|
|
25
|
+
- This is self-hosting on the developer's machine, for evaluation. The CLI does not
|
|
26
|
+
install into a cluster. To self-host in their own cluster, they follow the Helm guide
|
|
27
|
+
(https://docs.copilotkit.ai/intelligence/self-hosting.md).
|
|
9
28
|
- The developer supplies Docker with 4 CPUs, 12 GiB RAM, and 40 GiB free storage
|
|
10
29
|
available for this stack, after other workloads.
|
|
11
30
|
- The CLI installs Threads, Learning, Channels, the dashboard, CLI-approved local sign-in,
|
|
@@ -26,10 +45,10 @@ and Learning starts its first run only after 15 conversations. Offer these choic
|
|
|
26
45
|
|
|
27
46
|
1. Configure later, the default. Install with `--defer-model`. In the closing report, write
|
|
28
47
|
"Learning configuration incomplete". Name the command that adds the model later:
|
|
29
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
48
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 local setup`, run in a terminal in the app directory.
|
|
30
49
|
2. Guided setup. If the developer named Learning as a goal, offer it first. Install
|
|
31
50
|
the stack with `--defer-model`. After the stack is ready, the developer runs
|
|
32
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 local setup` in their own terminal window, in the app
|
|
33
52
|
directory. Never give it as a `!` line: its guided prompt needs a terminal, and a coding
|
|
34
53
|
agent's shell has none. The prompt asks for the model and its key, and it saves them
|
|
35
54
|
privately. On a running stack, it restarts only Learning. Do not ask the developer to
|
|
@@ -37,21 +56,39 @@ and Learning starts its first run only after 15 conversations. Offer these choic
|
|
|
37
56
|
3. A private model file that the developer has already. Pass its path with
|
|
38
57
|
`--model-config <file>`. Do not read or print the file.
|
|
39
58
|
|
|
59
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
63
|
+
```
|
|
64
|
+
|
|
40
65
|
Record the model choice, and any candidate path, in the plan, but no secret values.
|
|
41
66
|
Create no cluster and change no app files at this step. The developer can still decline sign-in.
|
|
42
67
|
If declined, take the failure path below.
|
|
43
68
|
|
|
44
|
-
|
|
69
|
+
A developer can ask for local after sign-in started. If a login process from the start
|
|
70
|
+
prompt still runs, keep reading that process and start no second one. If sign-in already
|
|
71
|
+
completed, skip sign-in. If research already started, do not start it again.
|
|
72
|
+
If the managed sign-in message was already sent, send this once and no other sign-in
|
|
73
|
+
message: “You asked to run it locally, so this project gets no managed CopilotKit project.
|
|
74
|
+
Signing in only gets the renewable evaluation license.”
|
|
75
|
+
|
|
76
|
+
Otherwise run `npx --prefer-offline --yes copilotkit@4.25.0 login --json`. Follow the streaming sign-in
|
|
45
77
|
protocol from “Check sign-in” in the start prompt: open the first authentication URL
|
|
46
78
|
once, keep the same process running, and continue only after its completed record.
|
|
47
|
-
|
|
79
|
+
When the first authentication URL arrives, send this message in place of the managed
|
|
80
|
+
sign-in message: “Sign in to get the renewable evaluation license. Your local dashboard
|
|
81
|
+
will use CLI approval.”
|
|
48
82
|
On failed or declined sign-in, take the failure path below.
|
|
49
83
|
|
|
50
|
-
After sign-in completes,
|
|
51
|
-
|
|
84
|
+
After sign-in completes, report it: `npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase sign-in-settled`.
|
|
85
|
+
Then continue with
|
|
86
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read research/gather`, unless research already started.
|
|
87
|
+
If it already started, return to the step you were on. `starter/clone` and
|
|
88
|
+
`credentials/finalize-plan` each have a branch for a recorded local choice.
|
|
52
89
|
Keep the local choice and collected paths in the run's plan and worker context.
|
|
53
90
|
|
|
54
91
|
## Failure path
|
|
55
92
|
|
|
56
93
|
If sign-in fails or is declined, stop before cluster creation.
|
|
57
|
-
Run `npx --prefer-offline --yes copilotkit@4.
|
|
94
|
+
Run `npx --prefer-offline --yes copilotkit@4.25.0 onboard read stopped/run-failed`.
|
|
@@ -22,12 +22,18 @@ Get approval for the local installation and these connection writes. Apply the e
|
|
|
22
22
|
protected-path authorization rules to these exact files. Approval for a scaffold alone
|
|
23
23
|
does not authorize replacing an existing app's connection.
|
|
24
24
|
|
|
25
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
29
|
+
```
|
|
30
|
+
|
|
25
31
|
## Run the shared installer
|
|
26
32
|
|
|
27
33
|
From the exact app directory, use the collected model choice:
|
|
28
34
|
|
|
29
35
|
```text
|
|
30
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
36
|
+
npx --prefer-offline --yes copilotkit@4.25.0 local setup --defer-model --json
|
|
31
37
|
```
|
|
32
38
|
|
|
33
39
|
For supplied model access, replace `--defer-model` with `--model-config <private-file>`.
|
|
@@ -45,7 +51,7 @@ A copied app needs explicit `--share-stack`. Do not infer sharing from a copied
|
|
|
45
51
|
After setup reports the stack ready, run the approved connection step from that directory:
|
|
46
52
|
|
|
47
53
|
```text
|
|
48
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
54
|
+
npx --prefer-offline --yes copilotkit@4.25.0 local connect --approve-connection --json
|
|
49
55
|
```
|
|
50
56
|
|
|
51
57
|
Read the local `.copilotkit/project.json` for its project ID and slug. Do not run hosted
|
|
@@ -65,7 +71,7 @@ stack is ready. Then:
|
|
|
65
71
|
Ask the developer to run this command in their own terminal window, in the app directory:
|
|
66
72
|
|
|
67
73
|
```text
|
|
68
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
74
|
+
npx --prefer-offline --yes copilotkit@4.25.0 local setup
|
|
69
75
|
```
|
|
70
76
|
|
|
71
77
|
Do not give it as a `!` line, and do not run it yourself. Its guided model prompt needs a
|
|
@@ -74,9 +80,9 @@ changes nothing. The prompt asks for the model and its key, and it saves them pr
|
|
|
74
80
|
On a running stack, it restarts only Learning. Do not ask for a model file.
|
|
75
81
|
|
|
76
82
|
Say that the run continues when they reply or resume this session. Report the pause with
|
|
77
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
83
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-model-credential`, end your
|
|
78
84
|
turn, and wait. When the developer replies, run
|
|
79
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
85
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 local status --json` and read `learning.configuration`.
|
|
80
86
|
|
|
81
87
|
If the model is still missing or was deferred, report “Learning configuration incomplete”
|
|
82
88
|
and name the same command, run in a terminal window. No Learning run is required to finish
|
|
@@ -90,6 +96,6 @@ must not block Threads, the dashboard, or later Learning configuration.
|
|
|
90
96
|
If the developer cancels the connection, run `local cancel --json` from the app directory.
|
|
91
97
|
Report conflict names only. Keep the stack unless deletion is separately confirmed.
|
|
92
98
|
|
|
93
|
-
Continue with `npx --prefer-offline --yes copilotkit@4.
|
|
99
|
+
Continue with `npx --prefer-offline --yes copilotkit@4.25.0 onboard read credentials/settle-credentials`.
|
|
94
100
|
For this local route, skip the hosted selection-result checks and use the local project
|
|
95
101
|
record. Continue the existing implementation and proof paths against local endpoints.
|
|
@@ -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.25.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.25.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.25.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.25.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.25.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.25.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.25.0 onboard complete --visual-check <outcome>
|
|
145
|
+
npx --prefer-offline --yes copilotkit@4.25.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.25.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
|
|
@@ -33,11 +33,18 @@ protected path, it must not edit it. It returns a result that starts with `Statu
|
|
|
33
33
|
and names the file under Blockers.
|
|
34
34
|
|
|
35
35
|
That result is a question for the developer. The file has not changed yet, so consent can
|
|
36
|
-
still go on the record. Name the file and why the work needs it
|
|
37
|
-
|
|
36
|
+
still go on the record. Name the file and why the work needs it.
|
|
37
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
38
38
|
|
|
39
39
|
```text
|
|
40
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
40
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Then end your turn and wait for the developer's answer. If they allow it, record their
|
|
44
|
+
answer before any edit:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
41
48
|
```
|
|
42
49
|
|
|
43
50
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -49,7 +56,7 @@ feature stop route below.
|
|
|
49
56
|
After validation and each repair, run:
|
|
50
57
|
|
|
51
58
|
```text
|
|
52
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
59
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
|
|
53
60
|
```
|
|
54
61
|
|
|
55
62
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -60,7 +67,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
60
67
|
the path, accept the developer's external change:
|
|
61
68
|
|
|
62
69
|
```text
|
|
63
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
70
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --accept-external --path <path>
|
|
64
71
|
```
|
|
65
72
|
|
|
66
73
|
For an env file where the developer placed a requested credential, use
|
|
@@ -73,11 +80,11 @@ Run the audit again after each accepted change. If it still fails, or starts
|
|
|
73
80
|
with `Status: blocked`, route out and stop:
|
|
74
81
|
|
|
75
82
|
```text
|
|
76
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
83
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
|
|
77
84
|
```
|
|
78
85
|
|
|
79
86
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
80
87
|
the feature stop route above without further changes.
|
|
81
88
|
|
|
82
89
|
Otherwise run
|
|
83
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
90
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/a2ui/proof`.
|
|
@@ -12,7 +12,7 @@ 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.25.0 onboard checkpoint --phase awaiting-developer
|
|
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.
|
|
@@ -33,7 +33,7 @@ you plan. Run `onboard protect` again from the target app directory: on the same
|
|
|
33
33
|
prints the baseline the run already holds.
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
36
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
Then have one read-only subagent repeat the inspection for the findings above, and wait
|
|
@@ -54,19 +54,27 @@ Show a concise plan that names the existing runtime/provider files, the smallest
|
|
|
54
54
|
catalog or runtime wiring required, the test command, and a browser proof request that
|
|
55
55
|
renders a compact visible surface. Ask for approval as its own question.
|
|
56
56
|
|
|
57
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-plan-approval
|
|
61
|
+
```
|
|
62
|
+
|
|
57
63
|
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
58
|
-
with one sentence explaining why. Write `None` when it needs none.
|
|
59
|
-
|
|
60
|
-
|
|
64
|
+
with one sentence explaining why. Write `None` when it needs none. A step that installs or
|
|
65
|
+
upgrades a package changes its manifest, so list a protected manifest such as `package.json`
|
|
66
|
+
or `pyproject.toml`. Its consent covers its lockfile, beside it or at the workspace root.
|
|
67
|
+
Authorization covers changing a protected path, not removing it, so the plan must not
|
|
68
|
+
delete, move, or rename one.
|
|
61
69
|
|
|
62
70
|
After approval, record each approved path before implementation:
|
|
63
71
|
|
|
64
72
|
```text
|
|
65
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
73
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
66
74
|
```
|
|
67
75
|
|
|
68
76
|
If an approved path changed after capture and no implementation step has run, add
|
|
69
77
|
`--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
|
|
70
78
|
authorize a path the approved plan did not list.
|
|
71
79
|
|
|
72
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
80
|
+
Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/a2ui/implement`.
|
|
@@ -23,11 +23,18 @@ not edit it. It returns a result that starts with `Status: blocked` and names th
|
|
|
23
23
|
Blockers.
|
|
24
24
|
|
|
25
25
|
That result is a question for the developer. The file has not changed yet, so consent can
|
|
26
|
-
still go on the record. Name the file and why the fix needs it
|
|
27
|
-
|
|
26
|
+
still go on the record. Name the file and why the fix needs it.
|
|
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.25.0 onboard checkpoint --phase awaiting-developer
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Then end your turn and wait for the developer's answer. If they allow it, record their
|
|
34
|
+
answer before any edit:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
31
38
|
```
|
|
32
39
|
|
|
33
40
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -40,11 +47,11 @@ Report the outcome of each attempt as it ends, before any repair. The command co
|
|
|
40
47
|
attempts and the repairs:
|
|
41
48
|
|
|
42
49
|
```text
|
|
43
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
50
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
44
51
|
```
|
|
45
52
|
|
|
46
53
|
Use `passed` only for a proved A2UI surface, `failed` for an attempted proof that failed,
|
|
47
|
-
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
54
|
+
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard audit`.
|
|
48
55
|
Continue only when it starts with `Status: passed`.
|
|
49
56
|
|
|
50
57
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -59,9 +66,9 @@ the path and the change the audit reports. Run the audit again after each accept
|
|
|
59
66
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
60
67
|
|
|
61
68
|
```text
|
|
62
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
69
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
|
|
63
70
|
```
|
|
64
71
|
|
|
65
72
|
When the audit passes, run
|
|
66
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
73
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/complete` with the actual browser-proof
|
|
67
74
|
outcome.
|
|
@@ -10,17 +10,18 @@ run is doing in the developer's words instead.
|
|
|
10
10
|
Run this before anything else in this prompt:
|
|
11
11
|
|
|
12
12
|
```text
|
|
13
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
13
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
|
|
17
17
|
browser, or project. If this run already ran `onboard identify`, skip this step.
|
|
18
18
|
|
|
19
|
-
- `--model`: copy the model id exactly as your instructions write it.
|
|
20
|
-
|
|
21
|
-
- `--model-family`:
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
- `--model`: copy the model id exactly as your instructions write it. Without an exact
|
|
20
|
+
model id, leave out `--model` rather than guess.
|
|
21
|
+
- `--model-family`: give it even without `--model`. Closest of: `claude-opus`,
|
|
22
|
+
`claude-sonnet`, `claude-haiku`, `gpt-5`, `gemini`, `grok`, `glm`, `minimax`, `mimo`,
|
|
23
|
+
`deepseek`, `qwen`, `kimi`, else the model's series. Leave it out if you do not know it.
|
|
24
|
+
- Never give your product slug as a model, or as an unlisted family.
|
|
24
25
|
|
|
25
26
|
## Waits, stops, and subagents
|
|
26
27
|
|
|
@@ -38,13 +39,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
|
|
|
38
39
|
once:
|
|
39
40
|
|
|
40
41
|
```text
|
|
41
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
42
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase delegation-unavailable
|
|
42
43
|
```
|
|
43
44
|
|
|
44
45
|
Before you end your turn to wait for the developer, report the pause:
|
|
45
46
|
|
|
46
47
|
```text
|
|
47
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
48
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
48
49
|
```
|
|
49
50
|
|
|
50
51
|
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
@@ -54,7 +55,7 @@ If you stop this run, send one short report before you stop. The friction comman
|
|
|
54
55
|
the telemetry setting the developer already chose, so it needs no separate question.
|
|
55
56
|
|
|
56
57
|
```text
|
|
57
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
58
59
|
```
|
|
59
60
|
|
|
60
61
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -68,7 +69,7 @@ one scoped fix, and sends the report itself when no fix is approved.
|
|
|
68
69
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
69
70
|
|
|
70
71
|
```text
|
|
71
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
72
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect
|
|
72
73
|
```
|
|
73
74
|
|
|
74
75
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -83,26 +84,26 @@ development/test commands. It must return paths and secret-safe presence checks
|
|
|
83
84
|
|
|
84
85
|
Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
|
|
85
86
|
processes when needed, inspect `/info`, and run
|
|
86
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
87
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
|
|
87
88
|
Also drive one existing request through the frontend when browser control is available.
|
|
88
89
|
|
|
89
90
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
90
91
|
|
|
91
92
|
```text
|
|
92
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
93
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase research-returned
|
|
93
94
|
```
|
|
94
95
|
|
|
95
96
|
If the inspection did not prove the baseline this intent extends, stop here without
|
|
96
97
|
changing files:
|
|
97
98
|
|
|
98
99
|
```text
|
|
99
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
100
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
|
|
100
101
|
```
|
|
101
102
|
|
|
102
103
|
When the inspection proved what this intent needs, read the next prompt now, in this turn:
|
|
103
104
|
|
|
104
105
|
```text
|
|
105
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
106
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/a2ui/plan
|
|
106
107
|
```
|
|
107
108
|
|
|
108
109
|
That prompt holds the plan, the developer's approval, and the paths the plan changes.
|
|
@@ -19,7 +19,7 @@ On Teams, skip Slack-only tools and the Slack e2e harness. Do not add a CopilotK
|
|
|
19
19
|
web app to make this run look complete. Do not replace the existing agent.
|
|
20
20
|
|
|
21
21
|
If repository evidence does not prove an existing valid Intelligence selection, sign in
|
|
22
|
-
yourself with `npx --prefer-offline --yes copilotkit@4.
|
|
22
|
+
yourself with `npx --prefer-offline --yes copilotkit@4.25.0 login --json`: the same single streaming
|
|
23
23
|
session generic onboarding uses. Read its JSON Lines while the process runs. The CLI opens
|
|
24
24
|
the page itself when it can: with `"browser_opened": false` in `action_required`, show the
|
|
25
25
|
developer the clickable URL and ask them to finish sign-in there. If the record carries
|
|
@@ -75,7 +75,7 @@ starter to satisfy this rule, and do not report the page that shows it.
|
|
|
75
75
|
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
76
76
|
|
|
77
77
|
```text
|
|
78
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
78
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
@@ -90,11 +90,18 @@ protected path, it must not edit it. It returns a result that starts with `Statu
|
|
|
90
90
|
and names the file under Blockers.
|
|
91
91
|
|
|
92
92
|
That result is a question for the developer. The file has not changed yet, so consent can
|
|
93
|
-
still go on the record. Name the file and why the work needs it
|
|
94
|
-
|
|
93
|
+
still go on the record. Name the file and why the work needs it.
|
|
94
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
95
95
|
|
|
96
96
|
```text
|
|
97
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
97
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Then end your turn and wait for the developer's answer. If they allow it, record their
|
|
101
|
+
answer before any edit:
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
98
105
|
```
|
|
99
106
|
|
|
100
107
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -106,7 +113,7 @@ feature stop route below.
|
|
|
106
113
|
After validation and each repair, run:
|
|
107
114
|
|
|
108
115
|
```text
|
|
109
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
116
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
|
|
110
117
|
```
|
|
111
118
|
|
|
112
119
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -117,7 +124,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
117
124
|
the path, accept the developer's external change:
|
|
118
125
|
|
|
119
126
|
```text
|
|
120
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
127
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --accept-external --path <path>
|
|
121
128
|
```
|
|
122
129
|
|
|
123
130
|
For an env file where the developer placed a requested credential, use
|
|
@@ -130,7 +137,7 @@ Run the audit again after each accepted change. If it still fails, or starts
|
|
|
130
137
|
with `Status: blocked`, route out and stop:
|
|
131
138
|
|
|
132
139
|
```text
|
|
133
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
140
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
|
|
134
141
|
```
|
|
135
142
|
|
|
136
143
|
## Values this run writes, and the one credential the developer supplies
|
|
@@ -160,6 +167,11 @@ in a report, a command line, or a commit.
|
|
|
160
167
|
|
|
161
168
|
If that file already sets `INTELLIGENCE_CHANNEL_NAME` to a different Channel, change
|
|
162
169
|
nothing. Ask the developer which Channel this project serves and wait for their answer.
|
|
170
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
174
|
+
```
|
|
163
175
|
|
|
164
176
|
The only credential the developer supplies is their model provider key, such as
|
|
165
177
|
`OPENAI_API_KEY`, and the run asks for it once as part of plan approval. Never ask for it
|
|
@@ -174,4 +186,4 @@ If validation cannot pass, or this run needs a prerequisite the app does not hav
|
|
|
174
186
|
the feature stop route above without further changes.
|
|
175
187
|
|
|
176
188
|
Otherwise run
|
|
177
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
189
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/channels/proof`.
|
|
@@ -12,7 +12,7 @@ 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.25.0 onboard checkpoint --phase awaiting-developer
|
|
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.
|
|
@@ -37,7 +37,7 @@ you plan. Run `onboard protect` again from the target app directory: on the same
|
|
|
37
37
|
prints the baseline the run already holds.
|
|
38
38
|
|
|
39
39
|
```text
|
|
40
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
40
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
Then have one read-only subagent repeat the inspection for the findings above, and wait
|
|
@@ -67,19 +67,27 @@ only `channels add <name> --adapter slack|teams`, with the project's directory o
|
|
|
67
67
|
name as `<name>`. On Teams, skip Slack-only tools and the Slack e2e harness. Name focused
|
|
68
68
|
tests and a real mention proof on the chosen provider. Ask for approval as its own question.
|
|
69
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-plan-approval
|
|
74
|
+
```
|
|
75
|
+
|
|
70
76
|
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
71
|
-
with one sentence explaining why. Write `None` when it needs none.
|
|
72
|
-
|
|
73
|
-
|
|
77
|
+
with one sentence explaining why. Write `None` when it needs none. A step that installs or
|
|
78
|
+
upgrades a package changes its manifest, so list a protected manifest such as `package.json`
|
|
79
|
+
or `pyproject.toml`. Its consent covers its lockfile, beside it or at the workspace root.
|
|
80
|
+
Authorization covers changing a protected path, not removing it, so the plan must not
|
|
81
|
+
delete, move, or rename one.
|
|
74
82
|
|
|
75
83
|
After approval, record each approved path before implementation:
|
|
76
84
|
|
|
77
85
|
```text
|
|
78
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
86
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
79
87
|
```
|
|
80
88
|
|
|
81
89
|
If an approved path changed after capture and no implementation step has run, add
|
|
82
90
|
`--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
|
|
83
91
|
authorize a path the approved plan did not list.
|
|
84
92
|
|
|
85
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
93
|
+
Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/channels/implement`.
|
|
@@ -27,11 +27,18 @@ not edit it. It returns a result that starts with `Status: blocked` and names th
|
|
|
27
27
|
Blockers.
|
|
28
28
|
|
|
29
29
|
That result is a question for the developer. The file has not changed yet, so consent can
|
|
30
|
-
still go on the record. Name the file and why the fix needs it
|
|
31
|
-
|
|
30
|
+
still go on the record. Name the file and why the fix needs it.
|
|
31
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
32
32
|
|
|
33
33
|
```text
|
|
34
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
34
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Then end your turn and wait for the developer's answer. If they allow it, record their
|
|
38
|
+
answer before any edit:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
35
42
|
```
|
|
36
43
|
|
|
37
44
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -44,11 +51,11 @@ Report the outcome of each attempt as it ends, before any repair. The command co
|
|
|
44
51
|
attempts and the repairs:
|
|
45
52
|
|
|
46
53
|
```text
|
|
47
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
54
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
48
55
|
```
|
|
49
56
|
|
|
50
57
|
Use `passed` only for a proved mention reply, `failed` for an attempted proof that
|
|
51
|
-
failed, and `skipped` when the proof did not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
failed, and `skipped` when the proof did not run. Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard audit`.
|
|
52
59
|
Continue only when it starts with `Status: passed`.
|
|
53
60
|
|
|
54
61
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -63,11 +70,11 @@ the path and the change the audit reports. Run the audit again after each accept
|
|
|
63
70
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
64
71
|
|
|
65
72
|
```text
|
|
66
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
73
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
|
|
67
74
|
```
|
|
68
75
|
|
|
69
76
|
When the audit passes and the round trip you reported above was `passed`, run
|
|
70
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
77
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/complete` and complete with
|
|
71
78
|
`--visual-check channels-proof-passed`. The recorded mention and reply are this run's
|
|
72
79
|
proof, so no web app check is missing. Use `--visual-check performed` only when a
|
|
73
80
|
browser drove Slack or Teams web and proved the mention reply. Do not use
|