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.
Files changed (97) hide show
  1. package/README.md +317 -36
  2. package/cli-build-info.json +7 -7
  3. package/exporters/claude-sdk/README.md +93 -0
  4. package/exporters/claude-sdk/export_session_store.py +39 -0
  5. package/exporters/claude-sdk/store-export.ts +61 -0
  6. package/index.js +212799 -109146
  7. package/onboarding/index.json +51 -5
  8. package/onboarding/prompts/authenticate/start.md +66 -52
  9. package/onboarding/prompts/conversion/plan.md +3 -3
  10. package/onboarding/prompts/credentials/finalize-plan.md +15 -15
  11. package/onboarding/prompts/credentials/plan.md +25 -29
  12. package/onboarding/prompts/credentials/settle-credentials.md +13 -8
  13. package/onboarding/prompts/credentials/write-plan.md +40 -30
  14. package/onboarding/prompts/deployment/choose-local.md +13 -12
  15. package/onboarding/prompts/deployment/local-evaluation.md +12 -12
  16. package/onboarding/prompts/fallback/best-effort.md +10 -11
  17. package/onboarding/prompts/feature/a2ui/implement.md +7 -5
  18. package/onboarding/prompts/feature/a2ui/plan.md +7 -3
  19. package/onboarding/prompts/feature/a2ui/proof.md +8 -6
  20. package/onboarding/prompts/feature/a2ui/start.md +18 -9
  21. package/onboarding/prompts/feature/channels/implement.md +10 -8
  22. package/onboarding/prompts/feature/channels/plan.md +9 -5
  23. package/onboarding/prompts/feature/channels/proof.md +8 -6
  24. package/onboarding/prompts/feature/channels/start.md +25 -12
  25. package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -5
  26. package/onboarding/prompts/feature/chat-suggestions/plan.md +7 -3
  27. package/onboarding/prompts/feature/chat-suggestions/proof.md +8 -6
  28. package/onboarding/prompts/feature/chat-suggestions/start.md +18 -9
  29. package/onboarding/prompts/feature/complete.md +3 -3
  30. package/onboarding/prompts/feature/learning/implement.md +15 -13
  31. package/onboarding/prompts/feature/learning/plan.md +8 -4
  32. package/onboarding/prompts/feature/learning/proof.md +16 -14
  33. package/onboarding/prompts/feature/learning/start.md +18 -9
  34. package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -5
  35. package/onboarding/prompts/feature/open-generative-ui/plan.md +7 -3
  36. package/onboarding/prompts/feature/open-generative-ui/proof.md +8 -6
  37. package/onboarding/prompts/feature/open-generative-ui/start.md +18 -9
  38. package/onboarding/prompts/feature/realtime-sync/implement.md +8 -6
  39. package/onboarding/prompts/feature/realtime-sync/plan.md +7 -3
  40. package/onboarding/prompts/feature/realtime-sync/proof.md +8 -6
  41. package/onboarding/prompts/feature/realtime-sync/start.md +17 -8
  42. package/onboarding/prompts/feature/rich-threads/implement.md +9 -7
  43. package/onboarding/prompts/feature/rich-threads/plan.md +7 -3
  44. package/onboarding/prompts/feature/rich-threads/proof.md +8 -6
  45. package/onboarding/prompts/feature/rich-threads/start.md +17 -8
  46. package/onboarding/prompts/feature/stop.md +4 -4
  47. package/onboarding/prompts/feature/voice/implement.md +7 -5
  48. package/onboarding/prompts/feature/voice/plan.md +8 -4
  49. package/onboarding/prompts/feature/voice/proof.md +8 -6
  50. package/onboarding/prompts/feature/voice/start.md +18 -9
  51. package/onboarding/prompts/framework/ag2.md +4 -11
  52. package/onboarding/prompts/framework/agno.md +4 -11
  53. package/onboarding/prompts/framework/built-in.md +3 -3
  54. package/onboarding/prompts/framework/claude-sdk-python.md +3 -3
  55. package/onboarding/prompts/framework/claude-sdk-typescript.md +3 -3
  56. package/onboarding/prompts/framework/crewai-flows.md +6 -12
  57. package/onboarding/prompts/framework/custom-ag-ui.md +5 -11
  58. package/onboarding/prompts/framework/deep-agents.md +5 -11
  59. package/onboarding/prompts/framework/google-adk.md +4 -8
  60. package/onboarding/prompts/framework/langgraph-fastapi.md +4 -10
  61. package/onboarding/prompts/framework/langgraph-python.md +4 -10
  62. package/onboarding/prompts/framework/langgraph-typescript.md +5 -11
  63. package/onboarding/prompts/framework/llamaindex.md +4 -10
  64. package/onboarding/prompts/framework/mastra.md +4 -10
  65. package/onboarding/prompts/framework/ms-agent-dotnet.md +6 -13
  66. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +7 -13
  67. package/onboarding/prompts/framework/ms-agent-python.md +5 -11
  68. package/onboarding/prompts/framework/pydantic-ai.md +4 -10
  69. package/onboarding/prompts/framework/strands-python.md +4 -10
  70. package/onboarding/prompts/framework/strands-typescript.md +4 -10
  71. package/onboarding/prompts/frontend/angular.md +4 -4
  72. package/onboarding/prompts/frontend/nextjs.md +4 -4
  73. package/onboarding/prompts/frontend/plan.md +10 -10
  74. package/onboarding/prompts/frontend/react-native.md +3 -3
  75. package/onboarding/prompts/frontend/react-spa.md +3 -3
  76. package/onboarding/prompts/frontend/vue.md +3 -3
  77. package/onboarding/prompts/implementation/build-and-validate.md +48 -15
  78. package/onboarding/prompts/proof/complete.md +22 -19
  79. package/onboarding/prompts/proof/oss-baseline.md +21 -5
  80. package/onboarding/prompts/proof/round-trip.md +55 -13
  81. package/onboarding/prompts/research/gather.md +60 -43
  82. package/onboarding/prompts/research/merge.md +6 -5
  83. package/onboarding/prompts/research/preflight.md +2 -2
  84. package/onboarding/prompts/research/route.md +5 -5
  85. package/onboarding/prompts/setup/questions.md +11 -9
  86. package/onboarding/prompts/starter/clone.md +78 -76
  87. package/onboarding/prompts/starter/setup.md +111 -0
  88. package/onboarding/prompts/stopped/declined.md +44 -0
  89. package/onboarding/prompts/stopped/run-failed.md +6 -6
  90. package/onboarding/prompts/subagent/create-plan.md +29 -4
  91. package/onboarding/prompts/subagent/implement-and-validate.md +31 -3
  92. package/onboarding/prompts/subagent/inspect-repository.md +17 -4
  93. package/onboarding/prompts/subagent/prove-oss-baseline.md +24 -1
  94. package/onboarding/prompts/subagent/prove-round-trip.md +43 -7
  95. package/onboarding/prompts/unsupported/no-validated-path.md +6 -6
  96. package/package.json +4 -1
  97. package/release/release-tool.js +383 -112
@@ -10,11 +10,11 @@ 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.28.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
13
+ npx --prefer-offline --yes copilotkit@4.30.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
- browser, or project. If this run already ran `onboard identify`, skip this step.
17
+ browser, or project. If this run already ran `onboard identify` or `onboard begin`, skip this step.
18
18
 
19
19
  - `--model`: copy the model id exactly as your instructions write it. Without an exact
20
20
  model id, leave out `--model` rather than guess.
@@ -39,15 +39,24 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
39
39
  once:
40
40
 
41
41
  ```text
42
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase delegation-unavailable
42
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase delegation-unavailable
43
43
  ```
44
44
 
45
45
  Before you end your turn to wait for the developer, report the pause:
46
46
 
47
47
  ```text
48
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
48
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about <question>
49
49
  ```
50
50
 
51
+ Name the question with `--about`. Use the one the prompt that asks it names, or else the
52
+ closest of: `welcome`, `harness-permission`, `sign-in`, `setup-answers`, `stack-choice`,
53
+ `project-name`, `which-project`, `env-file-tracked`, `local-connection`, `local-terms`,
54
+ `existing-folder`,
55
+ `environment-fix`, `uncommitted-file`, `agent-change`, `restore-files`, `thread-id`,
56
+ `scoped-fix`, `feature-binding`, `other`. Report the pause before every turn that ends while
57
+ the run is still open, even a turn where you asked nothing, with `other` then. A run that
58
+ goes quiet without it reads as a run that died.
59
+
51
60
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
52
61
  When the answer or the result arrives, continue from the step that paused.
53
62
 
@@ -55,7 +64,7 @@ If you stop this run, send one short report before you stop. The friction comman
55
64
  the telemetry setting the developer already chose, so it needs no separate question.
56
65
 
57
66
  ```text
58
- npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
67
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard friction --phase stop --category <slug> --message "<sentences>"
59
68
  ```
60
69
 
61
70
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -77,7 +86,7 @@ development/test commands. It must return paths and secret-safe presence checks
77
86
 
78
87
  Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
79
88
  processes when needed, inspect `/info`, and run
80
- `npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
89
+ `npx --prefer-offline --yes copilotkit@4.30.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
81
90
  Also drive one existing request through the frontend when browser control is available.
82
91
  The `verify` report names the runtime URL it probed. If the dev server serves the
83
92
  runtime at another URL, add `--runtime-url <url>`.
@@ -85,20 +94,20 @@ runtime at another URL, add `--runtime-url <url>`.
85
94
  Wait for the inspection subagent to finish. Then report that the inspection came back:
86
95
 
87
96
  ```text
88
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
97
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase research-returned
89
98
  ```
90
99
 
91
100
  If the inspection did not prove the baseline this intent extends, stop here without
92
101
  changing files:
93
102
 
94
103
  ```text
95
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
104
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
96
105
  ```
97
106
 
98
107
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
99
108
 
100
109
  ```text
101
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/a2ui/plan
110
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/a2ui/plan
102
111
  ```
103
112
 
104
113
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -19,14 +19,14 @@ 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.28.0 login --json`: the same single streaming
22
+ yourself with `npx --prefer-offline --yes copilotkit@4.30.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
26
26
  `user_code`, show the developer the code to check against the page. Never ask the developer
27
27
  to run a login command. Keep reading the same process. Continue only after that same process emits
28
28
  `type: completed`. Only when it emits `type: failed`, report the error and take the
29
- feature stop route below. Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`.
29
+ feature stop route below. Then run `npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers`.
30
30
  When it holds a `project` answer from the setup message, create or select that project
31
31
  without asking again. Otherwise list projects and select or create one only after they
32
32
  choose. Require the secret-safe project/key provisioning summary before wiring the
@@ -84,22 +84,24 @@ That result is a question for the developer. Name the file and why the work need
84
84
  Before you end your turn to wait for the developer, report the pause:
85
85
 
86
86
  ```text
87
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
87
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about uncommitted-file
88
88
  ```
89
89
 
90
90
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
91
91
  implementation subagent with the same handoff and the file added to the plan. If you
92
- cannot ask, or the developer declines, take the feature stop route below.
92
+ cannot ask, take the feature stop route below. If the developer declines, such as **no** or **not now**,
93
+ the run did not break. Run
94
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
93
95
 
94
96
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
95
97
  a step, show the developer the list it printed, and run what they choose:
96
98
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
97
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
99
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again.
98
100
 
99
101
  To route out and stop:
100
102
 
101
103
  ```text
102
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
104
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
103
105
  ```
104
106
 
105
107
  ## Values this run writes, and the one credential the developer supplies
@@ -132,7 +134,7 @@ nothing. Ask the developer which Channel this project serves and wait for their
132
134
  Before you end your turn to wait for the developer, report the pause:
133
135
 
134
136
  ```text
135
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
137
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about feature-binding
136
138
  ```
137
139
 
138
140
  The only credential the developer supplies is their model provider key, such as
@@ -146,4 +148,4 @@ If validation cannot pass, or this run needs a prerequisite the app does not hav
146
148
  the feature stop route above without further changes.
147
149
 
148
150
  Otherwise run
149
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/channels/proof`.
151
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/channels/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.28.0 onboard checkpoint --phase awaiting-developer
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/channels/start`, and give them to every subagent:
@@ -49,11 +53,11 @@ Retry it a second way if needed.
49
53
  For an empty folder, OpenTag runs its own agent on `OPENAI_API_KEY`. State that before the
50
54
  plan. Check the target `.env` and the environment for that name. Report presence only, and
51
55
  never read, print, or store the value. If it is absent, run
52
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers` for the key answer the setup message
56
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers` for the key answer the setup message
53
57
  recorded, and do not ask for the key again when it holds one:
54
58
 
55
59
  - `key.file`: the plan copies the key from that file after approval, with
56
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard credentials --model-key OPENAI_API_KEY --env-path <key.file> --copy-to .env --json`.
60
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard credentials --model-key OPENAI_API_KEY --env-path <key.file> --copy-to .env --json`.
57
61
  - `key.later`: the plan says the developer adds it to the project `.env` before the backend
58
62
  starts.
59
63
 
@@ -70,7 +74,7 @@ tests and a real mention proof on the chosen provider. Ask for approval as its o
70
74
  Before you end your turn to wait for the developer, report the pause:
71
75
 
72
76
  ```text
73
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-plan-approval
77
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-plan-approval
74
78
  ```
75
79
 
76
80
  Ask the developer before you edit a file that has uncommitted changes. List those files in
@@ -78,4 +82,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
78
82
  `git status` names them. The CLI records no consent: the approved plan is the record. The
79
83
  plan must not delete, move, or rename one of those files.
80
84
 
81
- Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/channels/implement`.
85
+ Then run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/channels/implement`.
@@ -29,23 +29,25 @@ That result is a question for the developer. Name the file and why the fix needs
29
29
  Before you end your turn to wait for the developer, report the pause:
30
30
 
31
31
  ```text
32
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
32
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about uncommitted-file
33
33
  ```
34
34
 
35
35
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
36
36
  proof subagent with the same handoff and the file added to the plan. If you cannot ask,
37
- or the developer declines, take the feature stop route below.
37
+ take the feature stop route below. If the developer declines, such as **no** or **not now**,
38
+ the run did not break. Run
39
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
38
40
 
39
41
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
40
42
  a step, show the developer the list it printed, and run what they choose:
41
43
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
42
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
44
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again.
43
45
 
44
46
  Report the outcome of each attempt as it ends, before any repair. The command counts the
45
47
  attempts and the repairs:
46
48
 
47
49
  ```text
48
- npx --prefer-offline --yes copilotkit@4.28.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
50
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
49
51
  ```
50
52
 
51
53
  Use `passed` only for a proved mention reply, `failed` for an attempted proof that
@@ -54,11 +56,11 @@ failed, and `skipped` when the proof did not run.
54
56
  To route out and stop:
55
57
 
56
58
  ```text
57
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
59
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
58
60
  ```
59
61
 
60
62
  When the round trip you reported above was `passed`, run
61
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/complete`, and pass
63
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/complete`, and pass
62
64
  `onboard complete` the flag `--visual-check channels-proof-passed`. The recorded mention and
63
65
  reply are this run's proof, so no web app check is missing. Use `--visual-check performed`
64
66
  only when a
@@ -10,11 +10,11 @@ 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.28.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
13
+ npx --prefer-offline --yes copilotkit@4.30.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
- browser, or project. If this run already ran `onboard identify`, skip this step.
17
+ browser, or project. If this run already ran `onboard identify` or `onboard begin`, skip this step.
18
18
 
19
19
  - `--model`: copy the model id exactly as your instructions write it. Without an exact
20
20
  model id, leave out `--model` rather than guess.
@@ -39,15 +39,24 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
39
39
  once:
40
40
 
41
41
  ```text
42
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase delegation-unavailable
42
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase delegation-unavailable
43
43
  ```
44
44
 
45
45
  Before you end your turn to wait for the developer, report the pause:
46
46
 
47
47
  ```text
48
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
48
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about <question>
49
49
  ```
50
50
 
51
+ Name the question with `--about`. Use the one the prompt that asks it names, or else the
52
+ closest of: `welcome`, `harness-permission`, `sign-in`, `setup-answers`, `stack-choice`,
53
+ `project-name`, `which-project`, `env-file-tracked`, `local-connection`, `local-terms`,
54
+ `existing-folder`,
55
+ `environment-fix`, `uncommitted-file`, `agent-change`, `restore-files`, `thread-id`,
56
+ `scoped-fix`, `feature-binding`, `other`. Report the pause before every turn that ends while
57
+ the run is still open, even a turn where you asked nothing, with `other` then. A run that
58
+ goes quiet without it reads as a run that died.
59
+
51
60
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
52
61
  When the answer or the result arrives, continue from the step that paused.
53
62
 
@@ -55,7 +64,7 @@ If you stop this run, send one short report before you stop. The friction comman
55
64
  the telemetry setting the developer already chose, so it needs no separate question.
56
65
 
57
66
  ```text
58
- npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
67
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard friction --phase stop --category <slug> --message "<sentences>"
59
68
  ```
60
69
 
61
70
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -72,7 +81,7 @@ before a subagent or a project process runs.
72
81
  Before changing files, send a short welcome. Say you will inspect the project, show a
73
82
  Channel plan, implement only after approval, and prove a real mention reply.
74
83
 
75
- Run `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`. When it holds a recorded
84
+ Run `npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers`. When it holds a recorded
76
85
  `frontend` of Slack or Microsoft Teams, use that one. Ask Slack or Teams as its own question
77
86
  only when neither the record, the copied prompt, nor the developer already named one. If either named Slack, use Slack. If either named Teams or
78
87
  Microsoft Teams, use Teams. Do not ask again.
@@ -93,7 +102,7 @@ This one does not.
93
102
  Wait for the inspection subagent to finish. Then report that the inspection came back:
94
103
 
95
104
  ```text
96
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
105
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase research-returned
97
106
  ```
98
107
 
99
108
  If the folder is empty, check Node 22, `uv`, and Python before cloning. Python 3.12 or
@@ -103,23 +112,27 @@ to install one with `uv python install 3.12`, and continue after the developer a
103
112
  Before you end your turn to wait for the developer, report the pause:
104
113
 
105
114
  ```text
106
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
115
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about environment-fix
107
116
  ```
108
117
 
109
- Stop here without cloning only when Node 22 is missing, `uv` is missing, or the developer
110
- declines that install. Do not switch to a custom build in silence. Name the missing tool
118
+ If the developer declines that install, such as **no** or **not now**, the run did not
119
+ break. Clone nothing, and run
120
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
121
+
122
+ Stop here without cloning only when Node 22 is missing or `uv` is missing. Do not switch
123
+ to a custom build in silence. Name the missing tool
111
124
  and its install command in the message the developer sees: `nvm install 22` for Node 22,
112
125
  `curl -LsSf https://astral.sh/uv/install.sh | sh` for `uv`, and `uv python install 3.12`
113
126
  for Python. Offer a custom headless build as a later path. Then route out:
114
127
 
115
128
  ```text
116
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
129
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
117
130
  ```
118
131
 
119
132
  When the tools this run needs are present, read the next prompt now, in this turn:
120
133
 
121
134
  ```text
122
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/channels/plan
135
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/channels/plan
123
136
  ```
124
137
 
125
138
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -21,26 +21,28 @@ That result is a question for the developer. Name the file and why the work need
21
21
  Before you end your turn to wait for the developer, report the pause:
22
22
 
23
23
  ```text
24
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
24
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about uncommitted-file
25
25
  ```
26
26
 
27
27
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
28
28
  implementation subagent with the same handoff and the file added to the plan. If you
29
- cannot ask, or the developer declines, take the feature stop route below.
29
+ cannot ask, take the feature stop route below. If the developer declines, such as **no** or **not now**,
30
+ the run did not break. Run
31
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
30
32
 
31
33
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
32
34
  a step, show the developer the list it printed, and run what they choose:
33
35
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
34
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
36
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again.
35
37
 
36
38
  To route out and stop:
37
39
 
38
40
  ```text
39
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
41
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
40
42
  ```
41
43
 
42
44
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
43
45
  the feature stop route above without further changes.
44
46
 
45
47
  Otherwise run
46
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/chat-suggestions/proof`.
48
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/chat-suggestions/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.28.0 onboard checkpoint --phase awaiting-developer
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/chat-suggestions/start`, and give them to every subagent:
@@ -48,7 +52,7 @@ question.
48
52
  Before you end your turn to wait for the developer, report the pause:
49
53
 
50
54
  ```text
51
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-plan-approval
55
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-plan-approval
52
56
  ```
53
57
 
54
58
  Ask the developer before you edit a file that has uncommitted changes. List those files in
@@ -56,4 +60,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
56
60
  `git status` names them. The CLI records no consent: the approved plan is the record. The
57
61
  plan must not delete, move, or rename one of those files.
58
62
 
59
- Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/chat-suggestions/implement`.
63
+ Then run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/chat-suggestions/implement`.
@@ -18,23 +18,25 @@ That result is a question for the developer. Name the file and why the fix needs
18
18
  Before you end your turn to wait for the developer, report the pause:
19
19
 
20
20
  ```text
21
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
21
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about uncommitted-file
22
22
  ```
23
23
 
24
24
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
25
25
  proof subagent with the same handoff and the file added to the plan. If you cannot ask,
26
- or the developer declines, take the feature stop route below.
26
+ take the feature stop route below. If the developer declines, such as **no** or **not now**,
27
+ the run did not break. Run
28
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
27
29
 
28
30
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
29
31
  a step, show the developer the list it printed, and run what they choose:
30
32
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
31
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
33
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again.
32
34
 
33
35
  Report the outcome of each attempt as it ends, before any repair. The command counts the
34
36
  attempts and the repairs:
35
37
 
36
38
  ```text
37
- npx --prefer-offline --yes copilotkit@4.28.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
39
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
38
40
  ```
39
41
 
40
42
  Use `passed` only for a proved sent suggestion, `failed` for an attempted proof that failed,
@@ -43,9 +45,9 @@ and `skipped` when the proof could not run.
43
45
  To route out and stop:
44
46
 
45
47
  ```text
46
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
48
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
47
49
  ```
48
50
 
49
51
  When the proof is recorded, run
50
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/complete` with the real browser-proof
52
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/complete` with the real browser-proof
51
53
  outcome.
@@ -8,11 +8,11 @@ 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.28.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
11
+ npx --prefer-offline --yes copilotkit@4.30.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
- browser, or project. If this run already ran `onboard identify`, skip this step.
15
+ browser, or project. If this run already ran `onboard identify` or `onboard begin`, skip this step.
16
16
 
17
17
  - `--model`: copy the model id exactly as your instructions write it. Without an exact
18
18
  model id, leave out `--model` rather than guess.
@@ -37,15 +37,24 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
37
37
  once:
38
38
 
39
39
  ```text
40
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase delegation-unavailable
40
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase delegation-unavailable
41
41
  ```
42
42
 
43
43
  Before you end your turn to wait for the developer, report the pause:
44
44
 
45
45
  ```text
46
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
46
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about <question>
47
47
  ```
48
48
 
49
+ Name the question with `--about`. Use the one the prompt that asks it names, or else the
50
+ closest of: `welcome`, `harness-permission`, `sign-in`, `setup-answers`, `stack-choice`,
51
+ `project-name`, `which-project`, `env-file-tracked`, `local-connection`, `local-terms`,
52
+ `existing-folder`,
53
+ `environment-fix`, `uncommitted-file`, `agent-change`, `restore-files`, `thread-id`,
54
+ `scoped-fix`, `feature-binding`, `other`. Report the pause before every turn that ends while
55
+ the run is still open, even a turn where you asked nothing, with `other` then. A run that
56
+ goes quiet without it reads as a run that died.
57
+
49
58
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
50
59
  When the answer or the result arrives, continue from the step that paused.
51
60
 
@@ -53,7 +62,7 @@ If you stop this run, send one short report before you stop. The friction comman
53
62
  the telemetry setting the developer already chose, so it needs no separate question.
54
63
 
55
64
  ```text
56
- npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
65
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard friction --phase stop --category <slug> --message "<sentences>"
57
66
  ```
58
67
 
59
68
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -69,7 +78,7 @@ before a subagent or a project process runs.
69
78
 
70
79
  Before edits, identify the current CopilotKit provider, chat component, message lifecycle,
71
80
  agent id, package version, and test/dev commands. Prove the existing OSS round trip with
72
- `/info`, `npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
81
+ `/info`, `npx --prefer-offline --yes copilotkit@4.30.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
73
82
  and one real frontend request when browser control is available.
74
83
  The `verify` report names the runtime URL it probed. If the dev server serves the
75
84
  runtime at another URL, add `--runtime-url <url>`.
@@ -77,20 +86,20 @@ runtime at another URL, add `--runtime-url <url>`.
77
86
  Wait for the inspection subagent to finish. Then report that the inspection came back:
78
87
 
79
88
  ```text
80
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
89
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase research-returned
81
90
  ```
82
91
 
83
92
  If the inspection did not prove the baseline this intent extends, stop here without
84
93
  changing files:
85
94
 
86
95
  ```text
87
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
96
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
88
97
  ```
89
98
 
90
99
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
91
100
 
92
101
  ```text
93
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/chat-suggestions/plan
102
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/chat-suggestions/plan
94
103
  ```
95
104
 
96
105
  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.28.0 onboard complete --visual-check <performed|skipped-no-browser-tool|channels-proof-passed|failed>
6
+ npx --prefer-offline --yes copilotkit@4.30.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
@@ -14,7 +14,7 @@ Use `performed` only when browser control drove the real user-visible surface. U
14
14
  `skipped-no-browser-tool` only when no browser tool was available. Use `failed` when the
15
15
  browser proof ran but did not prove the feature.
16
16
 
17
- Paste the **Handoff facts** block the command prints into your summary, as it is.
17
+ Write the message the command prints into your summary, word for word.
18
18
 
19
19
  ## Report friction before completing
20
20
 
@@ -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.28.0 onboard friction --category <slug> --cost-seconds <seconds> --message "<sentences>"
25
+ npx --prefer-offline --yes copilotkit@4.30.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