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
@@ -1,6 +1,6 @@
1
1
  # Gather the evidence this run routes on
2
2
 
3
- The developer can still be signing in. Keep reading the login process as
3
+ The developer can still be signing in. When a login process runs, keep reading it as
4
4
  `authenticate/start` says while this phase runs. This phase inspects the project and proves
5
5
  what this environment can drive. Do not change application code here, and do not ask the
6
6
  developer a setup question yet, except the setup message below: every other read-only
@@ -15,16 +15,16 @@ own bookkeeping. Say what the run is doing in the developer's words instead.
15
15
 
16
16
  Every later command must run from the directory this run is bound to. Elsewhere, the
17
17
  command cannot find its run and refuses. Do not report that refusal as a stop. Run
18
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard start --run <onboarding_run_id>` where you are
18
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard start --run <onboarding_run_id>` where you are
19
19
  standing, then run the refused command again.
20
20
 
21
- If you no longer hold the id, run `npx --prefer-offline --yes copilotkit@4.28.0 onboard start` in the
21
+ If you no longer hold the id, run `npx --prefer-offline --yes copilotkit@4.30.0 onboard start` in the
22
22
  directory this run started in, with no `--run` and no `--intent`. It reprints the id
23
23
  and starts nothing. An id this project does not already hold starts a second
24
24
  run, and the work already done stops counting toward the first.
25
25
 
26
26
  Read only inside the target project directory. Every subagent you spawn inherits that
27
- limit, including one this graph does not name. Answer a CopilotKit API or configuration
27
+ limit. Answer a CopilotKit API or configuration
28
28
  question from the documentation this graph gives you. Another checkout on this machine is
29
29
  not a source.
30
30
 
@@ -35,7 +35,7 @@ pass.
35
35
 
36
36
  Telemetry and friction reports follow the CLI telemetry setting the developer controls with
37
37
  `copilotkit telemetry` or `DO_NOT_TRACK=1`. Each report is one or two sentences and carries
38
- no secrets and no source. The feedback commands enforce that setting on every send. Explain it once.
38
+ no secrets and no source. The commands enforce that setting. Explain it once.
39
39
 
40
40
  The directory this run started in is the run root. Every `--path` argument is read against
41
41
  it, so one path names one file from anywhere in the project.
@@ -48,19 +48,33 @@ to the repository root and prints its path.
48
48
 
49
49
  This rule covers every subagent this run spawns, here and in every later prompt.
50
50
 
51
- Spawning a subagent returns almost at once. That return is the dispatch succeeding, not the
52
- work finishing: the subagent runs in the background, and its result reaches you as a
53
- notification. Where your own harness hands you the report from the dispatch itself instead,
54
- you already hold the result. Either way there is nothing to poll.
51
+ Spawning a subagent returns almost at once. That return is the dispatch, not the result:
52
+ the result reaches you as a notification, or with the dispatch in some harnesses. There is
53
+ nothing to poll.
55
54
 
56
- After you dispatch, do the work that does not depend on the result. For example, dispatch
57
- the other subagent, or run the preflight that the next prompt gives you. Then end your turn
58
- and wait for the result. Wherever a prompt in this graph says to wait for a subagent to finish, that is
59
- what it means. It is a pause, as "Pausing vs stopping" below describes, and not a stop.
55
+ After you dispatch, do the work that does not depend on the result, then end your turn
56
+ and wait for the result. That is what "wait for a subagent to finish" means in this graph.
57
+ It is a pause, as "Pausing vs stopping" below describes, and not a stop.
60
58
 
61
- Do not sleep to pass the time. Not `sleep`, not `/bin/sleep`, not a timer under another
62
- name, and not a loop that re-checks whether a result arrived. Sleeping tells you nothing
63
- that waiting for the result does not, and it spends wall clock.
59
+ Do not sleep to pass the time: no `sleep`, no timer, and no loop that re-checks for a
60
+ result. It spends wall clock and tells you nothing.
61
+
62
+ ## When a subagent is refused a command
63
+
64
+ This rule covers every subagent this run spawns. A subagent whose harness refuses a command
65
+ returns at once with the command, its directory, and the refusal. Then run that command
66
+ yourself, from that directory. Spawn at most one fresh subagent for each refused command,
67
+ with the same handoff and that result. If the fresh subagent is refused a command too,
68
+ spawn no other: do the brief yourself.
69
+
70
+ Record each research result, since a research subagent runs no onboarding command:
71
+
72
+ ```text
73
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase subagent-returned --brief inspect-repository --result <ok|refused|failed>
74
+ ```
75
+
76
+ `ok` is `Status: passed`, `failed` is failed or blocked, and `refused` names a refused
77
+ command.
64
78
 
65
79
  ## Pausing vs stopping
66
80
 
@@ -74,7 +88,7 @@ says to file none, follow it, so the run sends one report at most. Nothing else
74
88
  A pause keeps the run open. "End your turn and wait for" something means: end this turn.
75
89
  When that thing arrives, continue. A pause waits for one of two things:
76
90
 
77
- 1. A subagent result. The section above says how to wait for one.
91
+ 1. A subagent result, waited for as the section above says.
78
92
  2. The developer. Ask the question, then end your turn and wait for the reply. The reply
79
93
  is the answer. A developer who replies without choosing, such as "go ahead" or "you
80
94
  pick", gives no answer, and the default that the prompt states applies. Where the
@@ -83,54 +97,57 @@ When that thing arrives, continue. A pause waits for one of two things:
83
97
  Before you end your turn to wait for the developer, report the pause:
84
98
 
85
99
  ```text
86
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
100
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about <question>
87
101
  ```
88
102
 
103
+ Use the question the asking prompt names, or else the closest of: `welcome`, `harness-permission`,
104
+ `sign-in`, `setup-answers`, `stack-choice`, `project-name`, `which-project`,
105
+ `env-file-tracked`, `local-connection`, `local-terms`, `existing-folder`,
106
+ `environment-fix`, `uncommitted-file`, `agent-change`, `restore-files`, `thread-id`,
107
+ `scoped-fix`, `feature-binding`, `other`. Report it before every turn that ends while the
108
+ run is open, with `other` if you asked nothing. A run that goes quiet without it reads as
109
+ a run that died.
110
+
89
111
  When the answer or the result arrives, continue from the step that paused. Do not read an
90
- earlier prompt again, send the welcome again, or start a new run: the run id you hold still
91
- names this run. A pause is not a stop. It sends no stop report and takes no stop route.
112
+ earlier prompt again, send the welcome again, or start a new run. If you lost the step you
113
+ were on, run `npx --prefer-offline --yes copilotkit@4.30.0 onboard route`. Skip every `subagent/` entry: a
114
+ subagent read that brief. The last step left is that step. Read it again with `onboard read`. A pause is not a stop. It sends no stop report.
92
115
 
93
116
  ## When a subagent cannot work
94
117
 
95
- This rule also covers every subagent this run spawns, here and in every later prompt.
118
+ This rule covers every subagent too.
96
119
 
97
- A subagent that returns no usable result failed in your harness, not in this graph.
98
- Delegation buys parallelism and a clean context, not capability: every assignment in this
99
- run is work you can do yourself, slower. So run that assignment yourself and carry on,
100
- rather than treating it as the end of the run.
120
+ A subagent that returns no usable result failed in your harness, not in this graph. Every
121
+ assignment in this run is work you can do yourself, slower. So do it yourself and carry
122
+ on. It is not the end of the run.
101
123
 
102
124
  Both research subagents failing means this harness has no working subagent at all, which
103
125
  is worth recording once:
104
126
 
105
127
  ```text
106
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase delegation-unavailable
128
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase delegation-unavailable
107
129
  ```
108
130
 
109
- Then say once, in your own words, that this environment has no working subagents. Say that
110
- you will do each step yourself, and that the run will take longer than usual.
131
+ Then tell the developer once that this environment has no working subagents, so you do
132
+ each step yourself and the run takes longer.
111
133
 
112
134
  For the rest of this run, do not spawn a subagent where a prompt tells you to. Read that
113
135
  `subagent/` brief yourself and follow it.
114
136
 
115
- Before you ask the developer any setup question, finish every read-only investigation and
116
- preflight check in this section. The setup message below is the one exception.
117
-
118
137
  Prepare two research assignments. Before you spawn either subagent, run these two
119
138
  read-only commands yourself, from the target project directory:
120
139
 
121
140
  ```text
122
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read subagent/inspect-repository
123
- npx --prefer-offline --yes copilotkit@4.28.0 onboard inspect --json
141
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read subagent/inspect-repository
142
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard inspect --json
124
143
  ```
125
144
 
126
145
  Give each research subagent the prompt that the first command returns, the whole JSON that
127
146
  the second command returns, and one assignment. Tell it that its handoff already holds both,
128
- so it runs no onboarding command. A coding agent's permission layer can refuse a registry
129
- package inside a subagent, even where it lets you run the same command.
130
- The run then waits for an approval that nobody sees. Require only its assigned packet.
147
+ so it runs no onboarding command: a permission layer can refuse one inside a subagent, and
148
+ the run then waits for an approval nobody sees. Require only its assigned packet.
131
149
 
132
- Give the same JSON to every later subagent that this research spawns, such as a retry, a
133
- focused directory check, or a conflict verifier.
150
+ Give the same JSON to every later subagent this research spawns, such as a retry.
134
151
 
135
152
  Start both research subagents in parallel:
136
153
 
@@ -148,13 +165,13 @@ names no Channel (as `research/route` lists), and the `onboard inspect` JSON sho
148
165
  - A frontend and no agent: `detection.frontend` has a `match`, and
149
166
  `detection.agentFramework` has an empty `matched` and an empty `unmatched`.
150
167
 
151
- Once `login --json` has emitted `type: completed`, read the setup questions now:
152
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read setup/questions`. Record the frontend from
168
+ Once sign-in is done, read the setup questions now:
169
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read setup/questions`. Record the frontend from
153
170
  `detection` first.
154
171
  Show the message. Before you end your turn to wait for the developer, report the pause:
155
172
 
156
173
  ```text
157
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
174
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about setup-answers
158
175
  ```
159
176
 
160
177
  Then continue below: the preflight and the merge do not wait for the reply. When the
@@ -168,8 +185,8 @@ the research first.
168
185
  The research is under way. Continue to the surface-control preflight while it runs:
169
186
 
170
187
  ```text
171
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read research/preflight
188
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read research/preflight
172
189
  ```
173
190
 
174
191
  If inspection stops onboarding, run
175
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read stopped/run-failed`.
192
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/run-failed --reason other`.
@@ -45,17 +45,18 @@ environment row. If either packet gives no match or more than one match, send ea
45
45
  worker a focused directory check. Continue only when both workers return the same one target
46
46
  app directory. Both results must start with `Status: passed`. Otherwise, use the stop route.
47
47
 
48
- Read the next step only after `login --json` has emitted `type: completed`. If sign-in still
49
- waits on the developer, end your turn and wait for it: that is a pause.
48
+ Read the next step only after sign-in is done: `onboard begin` confirmed the session, or
49
+ `login --json` emitted `type: completed`. Until then, keep reading the login process. End
50
+ your turn and wait for the developer only after it writes `type: pause`: that is a pause.
50
51
 
51
52
  Before you end your turn to wait for the developer, report the pause:
52
53
 
53
54
  ```text
54
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
55
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about sign-in
55
56
  ```
56
57
 
57
58
  When both research results are merged and sign-in is done, run
58
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read research/route`.
59
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read research/route`.
59
60
 
60
61
  If inspection stops onboarding, run
61
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read stopped/run-failed`.
62
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/run-failed --reason other`.
@@ -32,8 +32,8 @@ Where the device probe found no booted device, that is the whole finding.
32
32
  Then merge the research:
33
33
 
34
34
  ```text
35
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read research/merge
35
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read research/merge
36
36
  ```
37
37
 
38
38
  If inspection stops onboarding, run
39
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read stopped/run-failed`.
39
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/run-failed --reason other`.
@@ -21,7 +21,7 @@ On any one of them, run this before you read the three findings below, and witho
21
21
  the purpose question:
22
22
 
23
23
  ```text
24
- npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/channels/start
24
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard read feature/channels/start
25
25
  ```
26
26
 
27
27
  Name the provider to that node so it does not ask again. A `/slack` page names Slack. A
@@ -82,7 +82,7 @@ settle these three from your own reading of the project. Each one comes from the
82
82
  packets or it is not proved.
83
83
 
84
84
  If all three are proved, prove the live starting state before any project file changes. Run
85
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read proof/oss-baseline`.
85
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read proof/oss-baseline`.
86
86
 
87
87
  Route there before any other question to the developer. The questions after this prompt
88
88
  select a framework and a frontend that the findings already name, so a developer who
@@ -91,16 +91,16 @@ application is what that node protects. Whether it works is what the proof decid
91
91
  these three findings.
92
92
 
93
93
  For every other combination of the three, run
94
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read setup/questions`. That node asks every
94
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read setup/questions`. That node asks every
95
95
  remaining setup question in one message, including what the project is for when nothing
96
96
  proves it.
97
97
 
98
98
  On a blank folder the setup message can go out before the research ends. If the setup
99
99
  message is already out and the developer has not replied, record what the findings settle
100
100
  with `onboard setup-answers`, then end your turn and send the developer nothing. Report
101
- the pause with `onboard checkpoint --phase awaiting-developer` first. Do not remind them,
101
+ the pause with `onboard checkpoint --phase awaiting-developer --about setup-answers` first. Do not remind them,
102
102
  and do not restate the setup. Their reply continues the run.
103
103
 
104
104
  If authentication or inspection stops onboarding, run
105
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read stopped/run-failed`. Neither says anything
105
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/run-failed --reason other`. Neither says anything
106
106
  about whether this project's stack is supported, which is not yet known at this point.
@@ -6,7 +6,7 @@ Never ask for the key itself: the message asks only for the file that holds it.
6
6
  ## Record what the findings already answer
7
7
 
8
8
  Do not ask the developer for a fact that the repository or their request answers. Record
9
- each one with `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers` before you build the
9
+ each one with `npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-answers` before you build the
10
10
  message, so the message leaves it out:
11
11
 
12
12
  - An agent the project already has: `--framework <name>` with its vendor and the choice
@@ -31,17 +31,17 @@ For an existing app on the managed route, the command reads the app's project it
31
31
  env-file and project lines are in the same message as the key. That read creates no project
32
32
  and writes no file. If the command prints `status: stopped`, do what its `next` says.
33
33
 
34
- On the local route, first run `npx --prefer-offline --yes copilotkit@4.28.0 onboard local-terms --json`.
34
+ On the local route, first run `npx --prefer-offline --yes copilotkit@4.30.0 onboard local-terms --json`.
35
35
  If it reports `signed-out` or `unavailable`, follow its `next`. Do not add its
36
36
  `question.ask` yourself: the setup message already carries the agreement line.
37
37
 
38
38
  From the target app directory, run:
39
39
 
40
40
  ```text
41
- npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-message --target <empty|existing> [--language <typescript|python|dotnet>] [--vendor <vendor>]
41
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard setup-message --target <empty|existing> [--language <typescript|python|dotnet>] [--vendor <vendor>]
42
42
  ```
43
43
 
44
- - `--target empty` for a target with no project yet, `existing` for one with a project.
44
+ - `--target`: `empty` for a target with no project yet, else `existing`.
45
45
  - `--language` is the project's language, for a project with no agent.
46
46
  - `--vendor` is a model vendor the developer named, as `openai`, `anthropic`, `google`, or
47
47
  `openai-compatible`.
@@ -52,14 +52,16 @@ your own reply word for word. The developer does not see your tool output. Befor
52
52
  put the one short line `next` names, and add nothing else. Before you end your turn to wait for the developer, report the pause:
53
53
 
54
54
  ```text
55
- npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
55
+ npx --prefer-offline --yes copilotkit@4.30.0 onboard checkpoint --phase awaiting-developer --about setup-answers
56
56
  ```
57
57
 
58
- Then end your turn and wait for the developer. When the developer replies, record their
58
+ End your turn and wait. If they decline, such as **no**, run
59
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read stopped/declined --message "<their reason>"`.
60
+ Otherwise record their
59
61
  answers with `onboard setup-answers`, and run `onboard setup-message` again with
60
- `--accept-defaults`, as `next` says. When it prints `status: settled`, run
61
- `npx --prefer-offline --yes copilotkit@4.28.0 onboard read credentials/plan`. If you came here from
62
+ `--accept-defaults`. When it prints `status: settled`, run
63
+ `npx --prefer-offline --yes copilotkit@4.30.0 onboard read credentials/plan`. If you came here from
62
64
  `research/gather` before the research merged, do not read `credentials/plan` yet: finish the
63
65
  research. If it returns and the developer has not replied, record what the findings settle
64
66
  with `onboard setup-answers`, then end your turn and send the developer nothing. Report
65
- the pause with `onboard checkpoint --phase awaiting-developer` first.
67
+ the same pause first.