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
@@ -16,7 +16,7 @@ follows the telemetry setting the developer already chose, so it needs no separa
16
16
  question.
17
17
 
18
18
  ```text
19
- npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
19
+ npx --prefer-offline --yes copilotkit@4.30.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.
@@ -48,7 +48,7 @@ settled refusal rather than a missing baseline, so stop here, before any file ch
48
48
  take its own ending:
49
49
 
50
50
  ```text
51
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/blocked-by-plan
51
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/blocked-by-plan
52
52
  ```
53
53
 
54
54
  `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
@@ -62,7 +62,7 @@ then, so the read below is where its refusal surfaces.
62
62
  When the plan or the repository already names an id, ask about that one id and nothing else:
63
63
 
64
64
  ```text
65
- npx --prefer-offline --yes copilotkit@4.28.0 learning containers get <id> --json
65
+ npx --prefer-offline --yes copilotkit@4.30.0 learning containers get <id> --json
66
66
  ```
67
67
 
68
68
  One call answers it, and no list is needed.
@@ -70,7 +70,7 @@ One call answers it, and no list is needed.
70
70
  When no id is in hand, survey what the project holds:
71
71
 
72
72
  ```text
73
- npx --prefer-offline --yes copilotkit@4.28.0 learning containers list --json
73
+ npx --prefer-offline --yes copilotkit@4.30.0 learning containers list --json
74
74
  ```
75
75
 
76
76
  One call returns at most 500 containers. When `nextCursor` in the result is not null, read
@@ -84,7 +84,7 @@ the developer which one when more than one could. Otherwise create one.
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 feature-binding
88
88
  ```
89
89
 
90
90
  Default to one container for this project, and name it after the project. Learning needs
@@ -99,7 +99,7 @@ user, so the callback can return a different id per tier or per customer.
99
99
  Ask the CLI for the id rather than spelling one yourself:
100
100
 
101
101
  ```text
102
- npx --prefer-offline --yes copilotkit@4.28.0 learning containers default-id --json
102
+ npx --prefer-offline --yes copilotkit@4.30.0 learning containers default-id --json
103
103
  ```
104
104
 
105
105
  It derives the project-scoped id from the selected project's slug, reads the local project
@@ -116,7 +116,7 @@ run that spells the id differently gives one project two containers, each below
116
116
  above on its own. One command is what keeps the two spellings identical.
117
117
 
118
118
  ```text
119
- npx --prefer-offline --yes copilotkit@4.28.0 learning containers create --id <id> --name <name> --json
119
+ npx --prefer-offline --yes copilotkit@4.30.0 learning containers create --id <id> --name <name> --json
120
120
  ```
121
121
 
122
122
  An id already in use answers `LEARNING_CONTAINER_ALREADY_EXISTS`. That is a container to
@@ -143,7 +143,7 @@ such an app on a thread the app created, with `--thread <id>`, which needs no se
143
143
  record UNKNOWN as the expected result here.
144
144
 
145
145
  Run focused tests and
146
- `npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
146
+ `npx --prefer-offline --yes copilotkit@4.30.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
147
147
  The `verify` report names the runtime URL it probed. If the dev server serves the
148
148
  runtime at another URL, add `--runtime-url <url>`.
149
149
  Repair changed-file failures and record secret-safe evidence.
@@ -157,26 +157,28 @@ That result is a question for the developer. Name the file and why the work need
157
157
  Before you end your turn to wait for the developer, report the pause:
158
158
 
159
159
  ```text
160
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
160
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about uncommitted-file
161
161
  ```
162
162
 
163
163
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
164
164
  implementation subagent with the same handoff and the file added to the plan. If you
165
- cannot ask, or the developer declines, take the feature stop route below.
165
+ cannot ask, take the feature stop route below. If the developer declines, such as **no** or **not now**,
166
+ the run did not break. Run
167
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
166
168
 
167
169
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
168
170
  a step, show the developer the list it printed, and run what they choose:
169
171
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
170
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
172
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again.
171
173
 
172
174
  To route out and stop:
173
175
 
174
176
  ```text
175
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
177
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
176
178
  ```
177
179
 
178
180
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
179
181
  the feature stop route above without further changes.
180
182
 
181
183
  Otherwise run
182
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/learning/proof`.
184
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/learning/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/learning/start`, and give them to every subagent:
@@ -52,7 +56,7 @@ now. If the list from `feature/learning/start` holds a container that covers thi
52
56
  name that one. Otherwise ask the CLI for the id of a new one:
53
57
 
54
58
  ```text
55
- npx --prefer-offline --yes copilotkit@4.28.0 learning containers default-id --json
59
+ npx --prefer-offline --yes copilotkit@4.30.0 learning containers default-id --json
56
60
  ```
57
61
 
58
62
  It derives the id from the selected project's slug and needs no credential.
@@ -87,7 +91,7 @@ tracked file, and it accepts a Learning run only after the proof's container che
87
91
  Before you end your turn to wait for the developer, report the pause:
88
92
 
89
93
  ```text
90
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-plan-approval
94
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-plan-approval
91
95
  ```
92
96
 
93
97
  Ask the developer before you edit a file that has uncommitted changes. List those files in
@@ -95,4 +99,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
95
99
  `git status` names them. The CLI records no consent: the approved plan is the record. The
96
100
  plan must not delete, move, or rename one of those files.
97
101
 
98
- Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/learning/implement`.
102
+ Then run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/learning/implement`.
@@ -12,13 +12,13 @@ A local stack runs Learning only with a model that the developer gave it. Before
12
12
  run this command from the app directory:
13
13
 
14
14
  ```text
15
- npx --prefer-offline --yes copilotkit@4.28.0 local status --json
15
+ npx --prefer-offline --yes copilotkit@4.30.0 local status --json
16
16
  ```
17
17
 
18
18
  Read `learning.configuration`. If it is `configured`, continue with the proof. Any other
19
19
  value means that the stack has no Learning model.
20
20
 
21
- Run `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`. It holds the setup message's
21
+ Run `npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers`. It holds the setup message's
22
22
  answers, even after this conversation lost them. Take the Learning answer from the record,
23
23
  or this conversation. If it is `later`, the developer chose "configure later" for the
24
24
  Learning model on the local route, so do not ask again. The same holds when neither holds a
@@ -30,7 +30,7 @@ it has a model. Ask them to run this command in their own terminal window, in th
30
30
  directory:
31
31
 
32
32
  ```text
33
- npx --prefer-offline --yes copilotkit@4.28.0 local setup
33
+ npx --prefer-offline --yes copilotkit@4.30.0 local setup
34
34
  ```
35
35
 
36
36
  Do not give it as a `!` line, and do not run it yourself. Its guided model prompt needs a
@@ -40,13 +40,13 @@ On a running stack, it restarts only Learning. The container and its threads sta
40
40
  ask the developer to write a model file, and do not read or print the model key.
41
41
 
42
42
  Say that the run continues when they reply or resume this session. Report the pause with
43
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-model-credential`, end your
43
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-model-credential`, end your
44
44
  turn, and wait. When the developer replies, run `local status --json` again.
45
45
  When it reports `configured`, continue with the proof.
46
46
 
47
47
  If the developer declines, continue with the proof, because the container assignment can
48
48
  still be proved. In the closing report, write "Learning configuration incomplete". Name the
49
- command that adds the model later: `npx --prefer-offline --yes copilotkit@4.28.0 local setup`, run from
49
+ command that adds the model later: `npx --prefer-offline --yes copilotkit@4.30.0 local setup`, run from
50
50
  the app directory. `learning.verified` is always `false`. It does not mean that Learning
51
51
  failed.
52
52
 
@@ -55,7 +55,7 @@ failed.
55
55
  One command decides it:
56
56
 
57
57
  ```text
58
- npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --expect-learning-container <id> --json
58
+ npx --prefer-offline --yes copilotkit@4.30.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --expect-learning-container <id> --json
59
59
  ```
60
60
 
61
61
  It reads the thread back from the platform, so it answers for any runtime mount, and it
@@ -74,11 +74,11 @@ a signed-in user, read that request's `threadId` from the request body the page
74
74
  the runtime, and prove the same thread. Where the page needs a sign-in, do not create an
75
75
  account and do not enter credentials. Where you cannot send the request yourself, ask the
76
76
  developer to send one message on a new thread and give you its thread id. Report the pause
77
- with `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`, then
77
+ with `npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about thread-id`, then
78
78
  end your turn and wait. When the developer gives the id, prove that thread:
79
79
 
80
80
  ```text
81
- npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime intelligence --thread <thread-id> --expect-learning-container <id> --json
81
+ npx --prefer-offline --yes copilotkit@4.30.0 verify --expect-runtime intelligence --thread <thread-id> --expect-learning-container <id> --json
82
82
  ```
83
83
 
84
84
  It reads that thread from the platform with the project key and starts no run.
@@ -108,23 +108,25 @@ That result is a question for the developer. Name the file and why the fix needs
108
108
  Before you end your turn to wait for the developer, report the pause:
109
109
 
110
110
  ```text
111
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
111
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about uncommitted-file
112
112
  ```
113
113
 
114
114
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
115
115
  proof subagent with the same handoff and the file added to the plan. If you cannot ask,
116
- or the developer declines, take the feature stop route below.
116
+ take the feature stop route below. If the developer declines, such as **no** or **not now**,
117
+ the run did not break. Run
118
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
117
119
 
118
120
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
119
121
  a step, show the developer the list it printed, and run what they choose:
120
122
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
121
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
123
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again.
122
124
 
123
125
  Report the outcome of each attempt as it ends, before any repair. The command counts the
124
126
  attempts and the repairs:
125
127
 
126
128
  ```text
127
- npx --prefer-offline --yes copilotkit@4.28.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
129
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
128
130
  ```
129
131
 
130
132
  Use `passed` only for a proved Container assignment, `failed` for an attempted proof that
@@ -133,9 +135,9 @@ failed, and `skipped` when the proof could not run.
133
135
  To route out and stop:
134
136
 
135
137
  ```text
136
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
138
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
137
139
  ```
138
140
 
139
141
  When the proof is recorded, run
140
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/complete` with the actual surface
142
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/complete` with the actual surface
141
143
  outcome.
@@ -9,11 +9,11 @@ subagents. Work only inside the target project and preserve its existing agent a
9
9
  Run this before anything else in this prompt:
10
10
 
11
11
  ```text
12
- npx --prefer-offline --yes copilotkit@4.28.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
12
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
13
13
  ```
14
14
 
15
15
  Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
16
- browser, or project. If this run already ran `onboard identify`, skip this step.
16
+ browser, or project. If this run already ran `onboard identify` or `onboard begin`, skip this step.
17
17
 
18
18
  - `--model`: copy the model id exactly as your instructions write it. Without an exact
19
19
  model id, leave out `--model` rather than guess.
@@ -38,15 +38,24 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
38
38
  once:
39
39
 
40
40
  ```text
41
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase delegation-unavailable
41
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase delegation-unavailable
42
42
  ```
43
43
 
44
44
  Before you end your turn to wait for the developer, report the pause:
45
45
 
46
46
  ```text
47
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
47
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about <question>
48
48
  ```
49
49
 
50
+ Name the question with `--about`. Use the one the prompt that asks it names, or else the
51
+ closest of: `welcome`, `harness-permission`, `sign-in`, `setup-answers`, `stack-choice`,
52
+ `project-name`, `which-project`, `env-file-tracked`, `local-connection`, `local-terms`,
53
+ `existing-folder`,
54
+ `environment-fix`, `uncommitted-file`, `agent-change`, `restore-files`, `thread-id`,
55
+ `scoped-fix`, `feature-binding`, `other`. Report the pause before every turn that ends while
56
+ the run is still open, even a turn where you asked nothing, with `other` then. A run that
57
+ goes quiet without it reads as a run that died.
58
+
50
59
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
51
60
  When the answer or the result arrives, continue from the step that paused.
52
61
 
@@ -54,7 +63,7 @@ If you stop this run, send one short report before you stop. The friction comman
54
63
  the telemetry setting the developer already chose, so it needs no separate question.
55
64
 
56
65
  ```text
57
- npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
66
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard friction --phase stop --category <slug> --message "<sentences>"
58
67
  ```
59
68
 
60
69
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -84,7 +93,7 @@ status:
84
93
  before the capture, the inspection, and any edit:
85
94
 
86
95
  ```text
87
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/blocked-by-plan
96
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/blocked-by-plan
88
97
  ```
89
98
 
90
99
  - `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
@@ -112,20 +121,20 @@ test/dev commands. Prove the current round trip and inspect `/info`.
112
121
  Wait for the inspection subagent to finish. Then report that the inspection came back:
113
122
 
114
123
  ```text
115
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
124
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase research-returned
116
125
  ```
117
126
 
118
127
  If the inspection did not prove the baseline this intent extends, stop here without
119
128
  changing files:
120
129
 
121
130
  ```text
122
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
131
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
123
132
  ```
124
133
 
125
134
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
126
135
 
127
136
  ```text
128
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/learning/plan
137
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/learning/plan
129
138
  ```
130
139
 
131
140
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -22,26 +22,28 @@ That result is a question for the developer. Name the file and why the work need
22
22
  Before you end your turn to wait for the developer, report the pause:
23
23
 
24
24
  ```text
25
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
25
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about uncommitted-file
26
26
  ```
27
27
 
28
28
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
29
29
  implementation subagent with the same handoff and the file added to the plan. If you
30
- cannot ask, or the developer declines, take the feature stop route below.
30
+ cannot ask, take the feature stop route below. If the developer declines, such as **no** or **not now**,
31
+ the run did not break. Run
32
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
31
33
 
32
34
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
33
35
  a step, show the developer the list it printed, and run what they choose:
34
36
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
35
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
37
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again.
36
38
 
37
39
  To route out and stop:
38
40
 
39
41
  ```text
40
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
42
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
41
43
  ```
42
44
 
43
45
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
44
46
  the feature stop route above without further changes.
45
47
 
46
48
  Otherwise run
47
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/open-generative-ui/proof`.
49
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/open-generative-ui/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/open-generative-ui/start`, and give them to every subagent:
@@ -47,7 +51,7 @@ likely CSP/sandbox implications, tests, and a user-visible generated UI proof. A
47
51
  Before you end your turn to wait for the developer, report the pause:
48
52
 
49
53
  ```text
50
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-plan-approval
54
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-plan-approval
51
55
  ```
52
56
 
53
57
  Ask the developer before you edit a file that has uncommitted changes. List those files in
@@ -55,4 +59,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
55
59
  `git status` names them. The CLI records no consent: the approved plan is the record. The
56
60
  plan must not delete, move, or rename one of those files.
57
61
 
58
- Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/open-generative-ui/implement`.
62
+ Then run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/open-generative-ui/implement`.
@@ -19,23 +19,25 @@ That result is a question for the developer. Name the file and why the fix needs
19
19
  Before you end your turn to wait for the developer, report the pause:
20
20
 
21
21
  ```text
22
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
22
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about uncommitted-file
23
23
  ```
24
24
 
25
25
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
26
26
  proof subagent with the same handoff and the file added to the plan. If you cannot ask,
27
- or the developer declines, take the feature stop route below.
27
+ take the feature stop route below. If the developer declines, such as **no** or **not now**,
28
+ the run did not break. Run
29
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
28
30
 
29
31
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
30
32
  a step, show the developer the list it printed, and run what they choose:
31
33
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
32
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
34
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again.
33
35
 
34
36
  Report the outcome of each attempt as it ends, before any repair. The command counts the
35
37
  attempts and the repairs:
36
38
 
37
39
  ```text
38
- npx --prefer-offline --yes copilotkit@4.28.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
40
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
39
41
  ```
40
42
 
41
43
  Use `passed` only for a proved generated UI, `failed` for an attempted proof that failed,
@@ -44,9 +46,9 @@ and `skipped` when the proof could not run.
44
46
  To route out and stop:
45
47
 
46
48
  ```text
47
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
49
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
48
50
  ```
49
51
 
50
52
  When the proof is recorded, run
51
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/complete` with the outcome actually
53
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/complete` with the outcome actually
52
54
  observed.
@@ -8,11 +8,11 @@ implementation, and proof subagents, all restricted to the target project direct
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.
@@ -70,7 +79,7 @@ before a subagent or a project process runs.
70
79
  Before edits, have a research subagent identify the current CopilotKit runtime route,
71
80
  provider/chat component, agent id, package versions, existing middleware, sandbox/CSP
72
81
  constraints, and normal test/dev commands. Prove the existing app first with `/info`,
73
- `npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
82
+ `npx --prefer-offline --yes copilotkit@4.30.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
74
83
  and a real frontend request when browser control is available.
75
84
  The `verify` report names the runtime URL it probed. If the dev server serves the
76
85
  runtime at another URL, add `--runtime-url <url>`.
@@ -78,20 +87,20 @@ runtime at another URL, add `--runtime-url <url>`.
78
87
  Wait for the inspection subagent to finish. Then report that the inspection came back:
79
88
 
80
89
  ```text
81
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
90
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase research-returned
82
91
  ```
83
92
 
84
93
  If the inspection did not prove the baseline this intent extends, stop here without
85
94
  changing files:
86
95
 
87
96
  ```text
88
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
97
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
89
98
  ```
90
99
 
91
100
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
92
101
 
93
102
  ```text
94
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/open-generative-ui/plan
103
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/open-generative-ui/plan
95
104
  ```
96
105
 
97
106
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -18,7 +18,7 @@ such an app on a thread the app created, with `--thread <id>`, which needs no se
18
18
  record UNKNOWN as the expected result here.
19
19
 
20
20
  Run focused tests and
21
- `npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
21
+ `npx --prefer-offline --yes copilotkit@4.30.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
22
22
  The `verify` report names the runtime URL it probed. If the dev server serves the
23
23
  runtime at another URL, add `--runtime-url <url>`.
24
24
  Repair changed-file failures and record changed paths and secret-safe validation
@@ -33,26 +33,28 @@ That result is a question for the developer. Name the file and why the work need
33
33
  Before you end your turn to wait for the developer, report the pause:
34
34
 
35
35
  ```text
36
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
36
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about uncommitted-file
37
37
  ```
38
38
 
39
39
  Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
40
40
  implementation subagent with the same handoff and the file added to the plan. If you
41
- cannot ask, or the developer declines, take the feature stop route below.
41
+ cannot ask, take the feature stop route below. If the developer declines, such as **no** or **not now**,
42
+ the run did not break. Run
43
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
42
44
 
43
45
  If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
44
46
  a step, show the developer the list it printed, and run what they choose:
45
47
  the `onboard restore` command the tripwire stop prints, which names each deleted file, or
46
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
48
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard tripwire --continue`. Then read the step again.
47
49
 
48
50
  To route out and stop:
49
51
 
50
52
  ```text
51
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
53
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
52
54
  ```
53
55
 
54
56
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
55
57
  the feature stop route above without further changes.
56
58
 
57
59
  Otherwise run
58
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/realtime-sync/proof`.
60
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/realtime-sync/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/realtime-sync/start`, and give them to every subagent:
@@ -52,7 +56,7 @@ need a `wsUrl`. Ask for approval as its own question.
52
56
  Before you end your turn to wait for the developer, report the pause:
53
57
 
54
58
  ```text
55
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-plan-approval
59
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-plan-approval
56
60
  ```
57
61
 
58
62
  Ask the developer before you edit a file that has uncommitted changes. List those files in
@@ -60,4 +64,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
60
64
  `git status` names them. The CLI records no consent: the approved plan is the record. The
61
65
  plan must not delete, move, or rename one of those files.
62
66
 
63
- Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/realtime-sync/implement`.
67
+ Then run `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/realtime-sync/implement`.
@@ -21,23 +21,25 @@ That result is a question for the developer. Name the file and why the fix needs
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
  proof subagent with the same handoff and the file added to the plan. If you cannot ask,
29
- or the developer declines, take the feature stop route below.
29
+ 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
  Report the outcome of each attempt as it ends, before any repair. The command counts the
37
39
  attempts and the repairs:
38
40
 
39
41
  ```text
40
- npx --prefer-offline --yes copilotkit@4.28.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
42
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
41
43
  ```
42
44
 
43
45
  Use `passed` only for proved two-client sync, `failed` for an attempted proof that failed,
@@ -46,8 +48,8 @@ and `skipped` when the proof could not run.
46
48
  To route out and stop:
47
49
 
48
50
  ```text
49
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
51
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/stop
50
52
  ```
51
53
 
52
54
  When the proof is recorded, run
53
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/complete` with the actual outcome.
55
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/complete` with the actual outcome.