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
|
@@ -10,17 +10,18 @@ restricted to the target project.
|
|
|
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. Do not
|
|
@@ -98,13 +99,19 @@ This one does not.
|
|
|
98
99
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
99
100
|
|
|
100
101
|
```text
|
|
101
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
102
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase research-returned
|
|
102
103
|
```
|
|
103
104
|
|
|
104
105
|
If the folder is empty, check Node 22, `uv`, and Python before cloning. Python 3.12 or
|
|
105
106
|
newer satisfies the check. If no Python 3.12 or newer is present and `uv` is, offer once
|
|
106
107
|
to install one with `uv python install 3.12`, and continue after the developer approves.
|
|
107
108
|
|
|
109
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
110
|
+
|
|
111
|
+
```text
|
|
112
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
113
|
+
```
|
|
114
|
+
|
|
108
115
|
Stop here without cloning only when Node 22 is missing, `uv` is missing, or the developer
|
|
109
116
|
declines that install. Do not switch to a custom build in silence. Name the missing tool
|
|
110
117
|
and its install command in the message the developer sees: `nvm install 22` for Node 22,
|
|
@@ -112,13 +119,13 @@ and its install command in the message the developer sees: `nvm install 22` for
|
|
|
112
119
|
for Python. Offer a custom headless build as a later path. Then route out:
|
|
113
120
|
|
|
114
121
|
```text
|
|
115
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
122
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
|
|
116
123
|
```
|
|
117
124
|
|
|
118
125
|
When the tools this run needs are present, read the next prompt now, in this turn:
|
|
119
126
|
|
|
120
127
|
```text
|
|
121
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
128
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/channels/plan
|
|
122
129
|
```
|
|
123
130
|
|
|
124
131
|
That prompt holds the plan, the developer's approval, and the paths the plan changes.
|
|
@@ -15,7 +15,7 @@ Run focused type/test checks and start the app. Record the changed files and val
|
|
|
15
15
|
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
16
16
|
|
|
17
17
|
```text
|
|
18
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
18
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
@@ -30,11 +30,18 @@ protected path, it must not edit it. It returns a result that starts with `Statu
|
|
|
30
30
|
and names the file under Blockers.
|
|
31
31
|
|
|
32
32
|
That result is a question for the developer. The file has not changed yet, so consent can
|
|
33
|
-
still go on the record. Name the file and why the work needs it
|
|
34
|
-
|
|
33
|
+
still go on the record. Name the file and why the work needs it.
|
|
34
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
35
35
|
|
|
36
36
|
```text
|
|
37
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
37
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Then end your turn and wait for the developer's answer. If they allow it, record their
|
|
41
|
+
answer before any edit:
|
|
42
|
+
|
|
43
|
+
```text
|
|
44
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
38
45
|
```
|
|
39
46
|
|
|
40
47
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -46,7 +53,7 @@ feature stop route below.
|
|
|
46
53
|
After validation and each repair, run:
|
|
47
54
|
|
|
48
55
|
```text
|
|
49
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
56
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
|
|
50
57
|
```
|
|
51
58
|
|
|
52
59
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -57,7 +64,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
57
64
|
the path, accept the developer's external change:
|
|
58
65
|
|
|
59
66
|
```text
|
|
60
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
67
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --accept-external --path <path>
|
|
61
68
|
```
|
|
62
69
|
|
|
63
70
|
For an env file where the developer placed a requested credential, use
|
|
@@ -70,11 +77,11 @@ Run the audit again after each accepted change. If it still fails, or starts
|
|
|
70
77
|
with `Status: blocked`, route out and stop:
|
|
71
78
|
|
|
72
79
|
```text
|
|
73
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
80
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
|
|
74
81
|
```
|
|
75
82
|
|
|
76
83
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
77
84
|
the feature stop route above without further changes.
|
|
78
85
|
|
|
79
86
|
Otherwise run
|
|
80
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
87
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/chat-suggestions/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
|
|
@@ -53,19 +53,27 @@ context-dependent follow-ups. Show an approved-plan-sized diff, a focused test,
|
|
|
53
53
|
proof that a visible suggestion submits the intended message. Ask for approval as its own
|
|
54
54
|
question.
|
|
55
55
|
|
|
56
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-plan-approval
|
|
60
|
+
```
|
|
61
|
+
|
|
56
62
|
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
57
|
-
with one sentence explaining why. Write `None` when it needs none.
|
|
58
|
-
|
|
59
|
-
|
|
63
|
+
with one sentence explaining why. Write `None` when it needs none. A step that installs or
|
|
64
|
+
upgrades a package changes its manifest, so list a protected manifest such as `package.json`
|
|
65
|
+
or `pyproject.toml`. Its consent covers its lockfile, beside it or at the workspace root.
|
|
66
|
+
Authorization covers changing a protected path, not removing it, so the plan must not
|
|
67
|
+
delete, move, or rename one.
|
|
60
68
|
|
|
61
69
|
After approval, record each approved path before implementation:
|
|
62
70
|
|
|
63
71
|
```text
|
|
64
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
72
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
65
73
|
```
|
|
66
74
|
|
|
67
75
|
If an approved path changed after capture and no implementation step has run, add
|
|
68
76
|
`--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
|
|
69
77
|
authorize a path the approved plan did not list.
|
|
70
78
|
|
|
71
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
79
|
+
Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/chat-suggestions/implement`.
|
|
@@ -16,11 +16,18 @@ not edit it. It returns a result that starts with `Status: blocked` and names th
|
|
|
16
16
|
Blockers.
|
|
17
17
|
|
|
18
18
|
That result is a question for the developer. The file has not changed yet, so consent can
|
|
19
|
-
still go on the record. Name the file and why the fix needs it
|
|
20
|
-
|
|
19
|
+
still go on the record. Name the file and why the fix needs it.
|
|
20
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
21
21
|
|
|
22
22
|
```text
|
|
23
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
23
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then end your turn and wait for the developer's answer. If they allow it, record their
|
|
27
|
+
answer before any edit:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
24
31
|
```
|
|
25
32
|
|
|
26
33
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -33,11 +40,11 @@ Report the outcome of each attempt as it ends, before any repair. The command co
|
|
|
33
40
|
attempts and the repairs:
|
|
34
41
|
|
|
35
42
|
```text
|
|
36
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
43
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
37
44
|
```
|
|
38
45
|
|
|
39
46
|
Use `passed` only for a proved sent suggestion, `failed` for an attempted proof that failed,
|
|
40
|
-
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
47
|
+
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard audit`.
|
|
41
48
|
Continue only when it starts with `Status: passed`.
|
|
42
49
|
|
|
43
50
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -52,9 +59,9 @@ the path and the change the audit reports. Run the audit again after each accept
|
|
|
52
59
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
53
60
|
|
|
54
61
|
```text
|
|
55
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
62
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
|
|
56
63
|
```
|
|
57
64
|
|
|
58
65
|
When the audit passes, run
|
|
59
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
66
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/complete` with the real browser-proof
|
|
60
67
|
outcome.
|
|
@@ -8,17 +8,18 @@ implementation, and proof to separate subagents and keep all work inside the tar
|
|
|
8
8
|
Run this before anything else in this prompt:
|
|
9
9
|
|
|
10
10
|
```text
|
|
11
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
11
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
|
|
15
15
|
browser, or project. If this run already ran `onboard identify`, skip this step.
|
|
16
16
|
|
|
17
|
-
- `--model`: copy the model id exactly as your instructions write it.
|
|
18
|
-
|
|
19
|
-
- `--model-family`:
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
- `--model`: copy the model id exactly as your instructions write it. Without an exact
|
|
18
|
+
model id, leave out `--model` rather than guess.
|
|
19
|
+
- `--model-family`: give it even without `--model`. Closest of: `claude-opus`,
|
|
20
|
+
`claude-sonnet`, `claude-haiku`, `gpt-5`, `gemini`, `grok`, `glm`, `minimax`, `mimo`,
|
|
21
|
+
`deepseek`, `qwen`, `kimi`, else the model's series. Leave it out if you do not know it.
|
|
22
|
+
- Never give your product slug as a model, or as an unlisted family.
|
|
22
23
|
|
|
23
24
|
## Waits, stops, and subagents
|
|
24
25
|
|
|
@@ -36,13 +37,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
|
|
|
36
37
|
once:
|
|
37
38
|
|
|
38
39
|
```text
|
|
39
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
40
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase delegation-unavailable
|
|
40
41
|
```
|
|
41
42
|
|
|
42
43
|
Before you end your turn to wait for the developer, report the pause:
|
|
43
44
|
|
|
44
45
|
```text
|
|
45
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
46
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
46
47
|
```
|
|
47
48
|
|
|
48
49
|
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
@@ -52,7 +53,7 @@ If you stop this run, send one short report before you stop. The friction comman
|
|
|
52
53
|
the telemetry setting the developer already chose, so it needs no separate question.
|
|
53
54
|
|
|
54
55
|
```text
|
|
55
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
56
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
56
57
|
```
|
|
57
58
|
|
|
58
59
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -66,7 +67,7 @@ one scoped fix, and sends the report itself when no fix is approved.
|
|
|
66
67
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
67
68
|
|
|
68
69
|
```text
|
|
69
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
70
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect
|
|
70
71
|
```
|
|
71
72
|
|
|
72
73
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -75,26 +76,26 @@ approved authorization before implementation.
|
|
|
75
76
|
|
|
76
77
|
Before edits, identify the current CopilotKit provider, chat component, message lifecycle,
|
|
77
78
|
agent id, package version, and test/dev commands. Prove the existing OSS round trip with
|
|
78
|
-
`/info`, `npx --prefer-offline --yes copilotkit@4.
|
|
79
|
+
`/info`, `npx --prefer-offline --yes copilotkit@4.25.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
|
|
79
80
|
and one real frontend request when browser control is available.
|
|
80
81
|
|
|
81
82
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
82
83
|
|
|
83
84
|
```text
|
|
84
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
85
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase research-returned
|
|
85
86
|
```
|
|
86
87
|
|
|
87
88
|
If the inspection did not prove the baseline this intent extends, stop here without
|
|
88
89
|
changing files:
|
|
89
90
|
|
|
90
91
|
```text
|
|
91
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
92
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
|
|
92
93
|
```
|
|
93
94
|
|
|
94
95
|
When the inspection proved what this intent needs, read the next prompt now, in this turn:
|
|
95
96
|
|
|
96
97
|
```text
|
|
97
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
98
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/chat-suggestions/plan
|
|
98
99
|
```
|
|
99
100
|
|
|
100
101
|
That prompt holds the plan, the developer's approval, and the paths the plan changes.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Use the outcome the proof step observed. Run:
|
|
4
4
|
|
|
5
5
|
```text
|
|
6
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
6
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard complete --visual-check <performed|skipped-no-browser-tool|channels-proof-passed|failed>
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
Use `channels-proof-passed` for a Slack or Teams run that recorded a passed round-trip proof
|
|
@@ -22,7 +22,7 @@ Before `onboard complete`, send the friction this run mentioned to the developer
|
|
|
22
22
|
report each, at most four, costliest first:
|
|
23
23
|
|
|
24
24
|
```text
|
|
25
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
25
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --category <slug> --cost-seconds <seconds> --message "<sentences>"
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Put one or two sentences in `--message`, with no secrets, source, or logs. Pick the
|
|
@@ -17,7 +17,7 @@ follows the telemetry setting the developer already chose, so it needs no separa
|
|
|
17
17
|
question.
|
|
18
18
|
|
|
19
19
|
```text
|
|
20
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
20
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -49,7 +49,7 @@ settled refusal rather than a missing baseline, so stop here, before any file ch
|
|
|
49
49
|
take its own ending:
|
|
50
50
|
|
|
51
51
|
```text
|
|
52
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/blocked-by-plan
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
`LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
|
|
@@ -63,7 +63,7 @@ then, so the read below is where its refusal surfaces.
|
|
|
63
63
|
When the plan or the repository already names an id, ask about that one id and nothing else:
|
|
64
64
|
|
|
65
65
|
```text
|
|
66
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
66
|
+
npx --prefer-offline --yes copilotkit@4.25.0 learning containers get <id> --json
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
One call answers it, and no list is needed.
|
|
@@ -71,7 +71,7 @@ One call answers it, and no list is needed.
|
|
|
71
71
|
When no id is in hand, survey what the project holds:
|
|
72
72
|
|
|
73
73
|
```text
|
|
74
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
74
|
+
npx --prefer-offline --yes copilotkit@4.25.0 learning containers list --json
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
One call returns at most 500 containers. When `nextCursor` in the result is not null, read
|
|
@@ -82,6 +82,12 @@ second container for work the first one already covers.
|
|
|
82
82
|
Reuse an existing container when one covers the workflow this run is instrumenting, and ask
|
|
83
83
|
the developer which one when more than one could. Otherwise create one.
|
|
84
84
|
|
|
85
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
89
|
+
```
|
|
90
|
+
|
|
85
91
|
Default to one container for this project, and name it after the project. Learning needs
|
|
86
92
|
evidence to work with: the first automatic run wants threads from 15 distinct conversations
|
|
87
93
|
in one container, so splitting a new project across several leaves every one of them below
|
|
@@ -94,7 +100,7 @@ user, so the callback can return a different id per tier or per customer.
|
|
|
94
100
|
Ask the CLI for the id rather than spelling one yourself:
|
|
95
101
|
|
|
96
102
|
```text
|
|
97
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
103
|
+
npx --prefer-offline --yes copilotkit@4.25.0 learning containers default-id --json
|
|
98
104
|
```
|
|
99
105
|
|
|
100
106
|
It derives the project-scoped id from the selected project's slug, reads the local project
|
|
@@ -108,7 +114,7 @@ run that spells the id differently gives one project two containers, each below
|
|
|
108
114
|
above on its own. One command is what keeps the two spellings identical.
|
|
109
115
|
|
|
110
116
|
```text
|
|
111
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
117
|
+
npx --prefer-offline --yes copilotkit@4.25.0 learning containers create --id <id> --name <name> --json
|
|
112
118
|
```
|
|
113
119
|
|
|
114
120
|
An id already in use answers `LEARNING_CONTAINER_ALREADY_EXISTS`. That is a container to
|
|
@@ -129,18 +135,19 @@ and persistence.
|
|
|
129
135
|
|
|
130
136
|
An Intelligence runtime requires `identifyUser`, and it usually reads a signed-in session
|
|
131
137
|
that a CLI request does not carry. That makes the round trip UNKNOWN and the command exit
|
|
132
|
-
non-zero on an app that is working.
|
|
133
|
-
|
|
134
|
-
|
|
138
|
+
non-zero on an app that is working. It is not a defect to repair. The proof step proves
|
|
139
|
+
such an app on a thread the app created, with `--thread <id>`, which needs no session. Pass
|
|
140
|
+
`--header "Name: value"` only when the developer offers what `identifyUser` reads, or
|
|
141
|
+
record UNKNOWN as the expected result here.
|
|
135
142
|
|
|
136
143
|
Run focused tests and
|
|
137
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
144
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
|
|
138
145
|
Repair changed-file failures and record secret-safe evidence.
|
|
139
146
|
|
|
140
147
|
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
141
148
|
|
|
142
149
|
```text
|
|
143
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
150
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
|
|
144
151
|
```
|
|
145
152
|
|
|
146
153
|
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
@@ -155,11 +162,18 @@ protected path, it must not edit it. It returns a result that starts with `Statu
|
|
|
155
162
|
and names the file under Blockers.
|
|
156
163
|
|
|
157
164
|
That result is a question for the developer. The file has not changed yet, so consent can
|
|
158
|
-
still go on the record. Name the file and why the work needs it
|
|
159
|
-
|
|
165
|
+
still go on the record. Name the file and why the work needs it.
|
|
166
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
167
|
+
|
|
168
|
+
```text
|
|
169
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-developer
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Then end your turn and wait for the developer's answer. If they allow it, record their
|
|
173
|
+
answer before any edit:
|
|
160
174
|
|
|
161
175
|
```text
|
|
162
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
176
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
163
177
|
```
|
|
164
178
|
|
|
165
179
|
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
@@ -171,7 +185,7 @@ feature stop route below.
|
|
|
171
185
|
After validation and each repair, run:
|
|
172
186
|
|
|
173
187
|
```text
|
|
174
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
188
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard audit
|
|
175
189
|
```
|
|
176
190
|
|
|
177
191
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -182,7 +196,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
182
196
|
the path, accept the developer's external change:
|
|
183
197
|
|
|
184
198
|
```text
|
|
185
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
199
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --accept-external --path <path>
|
|
186
200
|
```
|
|
187
201
|
|
|
188
202
|
For an env file where the developer placed a requested credential, use
|
|
@@ -196,11 +210,11 @@ with `Status: blocked`, route out and stop. Route out the same way when
|
|
|
196
210
|
`--accept-credential` refuses because it names a lost variable:
|
|
197
211
|
|
|
198
212
|
```text
|
|
199
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
213
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/stop
|
|
200
214
|
```
|
|
201
215
|
|
|
202
216
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
203
217
|
the feature stop route above without further changes.
|
|
204
218
|
|
|
205
219
|
Otherwise run
|
|
206
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
220
|
+
`npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/learning/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.
|
|
@@ -34,7 +34,7 @@ you plan. Run `onboard protect` again from the target app directory: on the same
|
|
|
34
34
|
prints the baseline the run already holds.
|
|
35
35
|
|
|
36
36
|
```text
|
|
37
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
37
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
Then have one read-only subagent repeat the inspection for the findings above, and wait
|
|
@@ -64,19 +64,27 @@ Show a concise plan for managed runtime/thread prerequisites, a stable selected
|
|
|
64
64
|
the documented `getLearningContainerId` selector, validation, and a visible assignment
|
|
65
65
|
proof. Ask for approval as its own question.
|
|
66
66
|
|
|
67
|
+
Before you end your turn to wait for the developer, report the pause:
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard checkpoint --phase awaiting-plan-approval
|
|
71
|
+
```
|
|
72
|
+
|
|
67
73
|
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
68
|
-
with one sentence explaining why. Write `None` when it needs none.
|
|
69
|
-
|
|
70
|
-
|
|
74
|
+
with one sentence explaining why. Write `None` when it needs none. A step that installs or
|
|
75
|
+
upgrades a package changes its manifest, so list a protected manifest such as `package.json`
|
|
76
|
+
or `pyproject.toml`. Its consent covers its lockfile, beside it or at the workspace root.
|
|
77
|
+
Authorization covers changing a protected path, not removing it, so the plan must not
|
|
78
|
+
delete, move, or rename one.
|
|
71
79
|
|
|
72
80
|
After approval, record each approved path before implementation:
|
|
73
81
|
|
|
74
82
|
```text
|
|
75
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
83
|
+
npx --prefer-offline --yes copilotkit@4.25.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
76
84
|
```
|
|
77
85
|
|
|
78
86
|
If an approved path changed after capture and no implementation step has run, add
|
|
79
87
|
`--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
|
|
80
88
|
authorize a path the approved plan did not list.
|
|
81
89
|
|
|
82
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
90
|
+
Then run `npx --prefer-offline --yes copilotkit@4.25.0 onboard read feature/learning/implement`.
|