copilotkit 4.23.1 → 4.24.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 (94) hide show
  1. package/README.md +91 -5
  2. package/cli-build-info.json +8 -8
  3. package/exporters/langgraph/README.md +33 -0
  4. package/exporters/langgraph/export_checkpointer.py +16 -0
  5. package/index.js +4380 -3586
  6. package/onboarding/index.json +2 -1
  7. package/onboarding/prompts/authenticate/start.md +15 -12
  8. package/onboarding/prompts/conversion/plan.md +3 -3
  9. package/onboarding/prompts/credentials/finalize-plan.md +8 -8
  10. package/onboarding/prompts/credentials/plan.md +23 -23
  11. package/onboarding/prompts/credentials/settle-credentials.md +14 -5
  12. package/onboarding/prompts/credentials/write-plan.md +6 -6
  13. package/onboarding/prompts/deployment/choose-local.md +24 -13
  14. package/onboarding/prompts/deployment/local-evaluation.md +31 -7
  15. package/onboarding/prompts/fallback/best-effort.md +8 -8
  16. package/onboarding/prompts/feature/a2ui/implement.md +6 -6
  17. package/onboarding/prompts/feature/a2ui/plan.md +4 -4
  18. package/onboarding/prompts/feature/a2ui/proof.md +5 -5
  19. package/onboarding/prompts/feature/a2ui/start.md +25 -8
  20. package/onboarding/prompts/feature/channels/implement.md +7 -7
  21. package/onboarding/prompts/feature/channels/plan.md +4 -4
  22. package/onboarding/prompts/feature/channels/proof.md +5 -5
  23. package/onboarding/prompts/feature/channels/start.md +23 -19
  24. package/onboarding/prompts/feature/chat-suggestions/implement.md +6 -6
  25. package/onboarding/prompts/feature/chat-suggestions/plan.md +4 -4
  26. package/onboarding/prompts/feature/chat-suggestions/proof.md +5 -5
  27. package/onboarding/prompts/feature/chat-suggestions/start.md +25 -8
  28. package/onboarding/prompts/feature/complete.md +2 -2
  29. package/onboarding/prompts/feature/learning/implement.md +13 -13
  30. package/onboarding/prompts/feature/learning/plan.md +4 -4
  31. package/onboarding/prompts/feature/learning/proof.md +49 -6
  32. package/onboarding/prompts/feature/learning/start.md +25 -8
  33. package/onboarding/prompts/feature/open-generative-ui/implement.md +6 -6
  34. package/onboarding/prompts/feature/open-generative-ui/plan.md +4 -4
  35. package/onboarding/prompts/feature/open-generative-ui/proof.md +5 -5
  36. package/onboarding/prompts/feature/open-generative-ui/start.md +25 -8
  37. package/onboarding/prompts/feature/realtime-sync/implement.md +7 -7
  38. package/onboarding/prompts/feature/realtime-sync/plan.md +4 -4
  39. package/onboarding/prompts/feature/realtime-sync/proof.md +5 -5
  40. package/onboarding/prompts/feature/realtime-sync/start.md +24 -7
  41. package/onboarding/prompts/feature/rich-threads/implement.md +8 -8
  42. package/onboarding/prompts/feature/rich-threads/plan.md +4 -4
  43. package/onboarding/prompts/feature/rich-threads/proof.md +5 -5
  44. package/onboarding/prompts/feature/rich-threads/start.md +24 -7
  45. package/onboarding/prompts/feature/stop.md +3 -3
  46. package/onboarding/prompts/feature/voice/implement.md +6 -6
  47. package/onboarding/prompts/feature/voice/plan.md +5 -5
  48. package/onboarding/prompts/feature/voice/proof.md +5 -5
  49. package/onboarding/prompts/feature/voice/start.md +25 -8
  50. package/onboarding/prompts/framework/ag2.md +2 -2
  51. package/onboarding/prompts/framework/agno.md +2 -2
  52. package/onboarding/prompts/framework/built-in.md +2 -2
  53. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  54. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  55. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  56. package/onboarding/prompts/framework/custom-ag-ui.md +2 -2
  57. package/onboarding/prompts/framework/deep-agents.md +2 -2
  58. package/onboarding/prompts/framework/google-adk.md +2 -2
  59. package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
  60. package/onboarding/prompts/framework/langgraph-python.md +2 -2
  61. package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
  62. package/onboarding/prompts/framework/llamaindex.md +2 -2
  63. package/onboarding/prompts/framework/mastra.md +2 -2
  64. package/onboarding/prompts/framework/ms-agent-dotnet.md +3 -3
  65. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +3 -3
  66. package/onboarding/prompts/framework/ms-agent-python.md +2 -2
  67. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  68. package/onboarding/prompts/framework/strands-python.md +2 -2
  69. package/onboarding/prompts/framework/strands-typescript.md +2 -2
  70. package/onboarding/prompts/frontend/angular.md +3 -3
  71. package/onboarding/prompts/frontend/nextjs.md +3 -3
  72. package/onboarding/prompts/frontend/plan.md +7 -7
  73. package/onboarding/prompts/frontend/react-native.md +2 -2
  74. package/onboarding/prompts/frontend/react-spa.md +2 -2
  75. package/onboarding/prompts/frontend/vue.md +2 -2
  76. package/onboarding/prompts/implementation/build-and-validate.md +16 -14
  77. package/onboarding/prompts/proof/complete.md +3 -3
  78. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  79. package/onboarding/prompts/proof/round-trip.md +8 -8
  80. package/onboarding/prompts/research/gather.md +5 -5
  81. package/onboarding/prompts/research/merge.md +2 -2
  82. package/onboarding/prompts/research/preflight.md +2 -2
  83. package/onboarding/prompts/research/route.md +5 -5
  84. package/onboarding/prompts/starter/clone.md +92 -7
  85. package/onboarding/prompts/stopped/run-failed.md +2 -2
  86. package/onboarding/prompts/subagent/create-plan.md +2 -2
  87. package/onboarding/prompts/subagent/implement-and-validate.md +2 -2
  88. package/onboarding/prompts/subagent/inspect-repository.md +1 -1
  89. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  90. package/onboarding/prompts/subagent/prove-round-trip.md +8 -6
  91. package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
  92. package/package.json +1 -1
  93. package/release/release-tool.js +12 -1
  94. package/services/local-auth-worker.js +175 -159
@@ -5,6 +5,23 @@ orchestrator and delegate inspection, implementation, and proof to focused subag
5
5
  only inside the target project. Prompt names are this graph's own bookkeeping. Say what the
6
6
  run is doing in the developer's words instead.
7
7
 
8
+ ## First, say which coding agent you are
9
+
10
+ Run this before anything else in this prompt:
11
+
12
+ ```text
13
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
14
+ ```
15
+
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.
18
+
19
+ - `--model`: copy the model id exactly as your instructions write it. If they name no
20
+ exact model id, leave out `--model` rather than guess.
21
+ - `--model-family`: your model's family, such as `claude-opus` or `gpt-5`. Give it even
22
+ without `--model`, and leave out `--model-family` if you do not know it.
23
+ - Never give your product slug as a model or a family.
24
+
8
25
  ## Waits, stops, and subagents
9
26
 
10
27
  A run that starts here has not read these rules yet, so they come first. They cover this
@@ -21,13 +38,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
21
38
  once:
22
39
 
23
40
  ```text
24
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
41
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase delegation-unavailable
25
42
  ```
26
43
 
27
44
  Before you end your turn to wait for the developer, report the pause:
28
45
 
29
46
  ```text
30
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
47
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase awaiting-developer
31
48
  ```
32
49
 
33
50
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -37,7 +54,7 @@ If you stop this run, send one short report before you stop. The friction comman
37
54
  the telemetry setting the developer already chose, so it needs no separate question.
38
55
 
39
56
  ```text
40
- npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
57
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard friction --phase stop --category <slug> --message "<sentences>"
41
58
  ```
42
59
 
43
60
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -51,7 +68,7 @@ one scoped fix, and sends the report itself when no fix is approved.
51
68
  Before any subagent or project process runs, capture the developer's existing work:
52
69
 
53
70
  ```text
54
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
71
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect
55
72
  ```
56
73
 
57
74
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -66,26 +83,26 @@ development/test commands. It must return paths and secret-safe presence checks
66
83
 
67
84
  Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
68
85
  processes when needed, inspect `/info`, and run
69
- `npx --prefer-offline --yes copilotkit@4.23.1 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
86
+ `npx --prefer-offline --yes copilotkit@4.24.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
70
87
  Also drive one existing request through the frontend when browser control is available.
71
88
 
72
89
  Wait for the inspection subagent to finish. Then report that the inspection came back:
73
90
 
74
91
  ```text
75
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
92
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase research-returned
76
93
  ```
77
94
 
78
95
  If the inspection did not prove the baseline this intent extends, stop here without
79
96
  changing files:
80
97
 
81
98
  ```text
82
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
99
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
83
100
  ```
84
101
 
85
102
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
86
103
 
87
104
  ```text
88
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/a2ui/plan
105
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/a2ui/plan
89
106
  ```
90
107
 
91
108
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -19,7 +19,7 @@ On Teams, skip Slack-only tools and the Slack e2e harness. Do not add a CopilotK
19
19
  web app to make this run look complete. Do not replace the existing agent.
20
20
 
21
21
  If repository evidence does not prove an existing valid Intelligence selection, sign in
22
- yourself with `npx --prefer-offline --yes copilotkit@4.23.1 login --json`: the same single streaming
22
+ yourself with `npx --prefer-offline --yes copilotkit@4.24.0 login --json`: the same single streaming
23
23
  session generic onboarding uses. Read its JSON Lines while the process runs. The CLI opens
24
24
  the page itself when it can: with `"browser_opened": false` in `action_required`, show the
25
25
  developer the clickable URL and ask them to finish sign-in there. If the record carries
@@ -75,7 +75,7 @@ starter to satisfy this rule, and do not report the page that shows it.
75
75
  Before you spawn the implementation subagent, take the authorized list from the CLI:
76
76
 
77
77
  ```text
78
- npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
78
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard audit
79
79
  ```
80
80
 
81
81
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -94,7 +94,7 @@ still go on the record. Name the file and why the work needs it, then end your t
94
94
  for the developer's answer. If they allow it, record their answer before any edit:
95
95
 
96
96
  ```text
97
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
97
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
98
98
  ```
99
99
 
100
100
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -106,7 +106,7 @@ feature stop route below.
106
106
  After validation and each repair, run:
107
107
 
108
108
  ```text
109
- npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
109
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard audit
110
110
  ```
111
111
 
112
112
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -117,7 +117,7 @@ with the implementation subagent's `Files changed` section. If that section does
117
117
  the path, accept the developer's external change:
118
118
 
119
119
  ```text
120
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --accept-external --path <path>
120
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --accept-external --path <path>
121
121
  ```
122
122
 
123
123
  For an env file where the developer placed a requested credential, use
@@ -130,7 +130,7 @@ Run the audit again after each accepted change. If it still fails, or starts
130
130
  with `Status: blocked`, route out and stop:
131
131
 
132
132
  ```text
133
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
133
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
134
134
  ```
135
135
 
136
136
  ## Values this run writes, and the one credential the developer supplies
@@ -174,4 +174,4 @@ If validation cannot pass, or this run needs a prerequisite the app does not hav
174
174
  the feature stop route above without further changes.
175
175
 
176
176
  Otherwise run
177
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/channels/proof`.
177
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/channels/proof`.
@@ -12,7 +12,7 @@ The approval is a wait for the developer. Before you end your turn to wait, repo
12
12
  pause:
13
13
 
14
14
  ```text
15
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
15
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase awaiting-developer
16
16
  ```
17
17
 
18
18
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -37,7 +37,7 @@ you plan. Run `onboard protect` again from the target app directory: on the same
37
37
  prints the baseline the run already holds.
38
38
 
39
39
  ```text
40
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
40
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect
41
41
  ```
42
42
 
43
43
  Then have one read-only subagent repeat the inspection for the findings above, and wait
@@ -75,11 +75,11 @@ one.
75
75
  After approval, record each approved path before implementation:
76
76
 
77
77
  ```text
78
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
78
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
79
79
  ```
80
80
 
81
81
  If an approved path changed after capture and no implementation step has run, add
82
82
  `--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
83
83
  authorize a path the approved plan did not list.
84
84
 
85
- Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/channels/implement`.
85
+ Then run `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/channels/implement`.
@@ -31,7 +31,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
31
31
  for the developer's answer. If they allow it, record their answer before any edit:
32
32
 
33
33
  ```text
34
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
34
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
35
35
  ```
36
36
 
37
37
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -44,11 +44,11 @@ Report the outcome of each attempt as it ends, before any repair. The command co
44
44
  attempts and the repairs:
45
45
 
46
46
  ```text
47
- npx --prefer-offline --yes copilotkit@4.23.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
47
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
48
48
  ```
49
49
 
50
50
  Use `passed` only for a proved mention reply, `failed` for an attempted proof that
51
- failed, and `skipped` when the proof did not run. Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard audit`.
51
+ failed, and `skipped` when the proof did not run. Then run `npx --prefer-offline --yes copilotkit@4.24.0 onboard audit`.
52
52
  Continue only when it starts with `Status: passed`.
53
53
 
54
54
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -63,11 +63,11 @@ the path and the change the audit reports. Run the audit again after each accept
63
63
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
64
64
 
65
65
  ```text
66
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
66
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
67
67
  ```
68
68
 
69
69
  When the audit passes and the round trip you reported above was `passed`, run
70
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/complete` and complete with
70
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/complete` and complete with
71
71
  `--visual-check channels-proof-passed`. The recorded mention and reply are this run's
72
72
  proof, so no web app check is missing. Use `--visual-check performed` only when a
73
73
  browser drove Slack or Teams web and proved the mention reply. Do not use
@@ -1,22 +1,26 @@
1
1
  # Add a managed Channel for Slack or Microsoft Teams
2
2
 
3
- First, report your coding agent identity using the same command as generic onboarding:
3
+ Treat Slack or Teams as the UI for this run. A CopilotKit web app is not required.
4
+ Empty folders, agent-only folders, and existing CopilotKit apps are all valid starts.
5
+ Orchestrate with separate read-only, implementation, and proof subagents, each
6
+ restricted to the target project.
7
+
8
+ ## First, say which coding agent you are
9
+
10
+ Run this before anything else in this prompt:
4
11
 
5
12
  ```text
6
- npx --prefer-offline --yes copilotkit@4.23.1 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
13
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
7
14
  ```
8
15
 
9
- Use your own product's slug, such as `codex` or `claude-code`. For `--model`, copy the
10
- model id exactly as your instructions write it. If they name no exact model id, leave out
11
- `--model` rather than guess. For `--model-family`, give the family of the model you run,
12
- such as `claude-opus` or `gpt-5`, and leave it out if you do not know it. Never give your
13
- product slug as a model or a family. This also covers entry commands that omit `--coding-agent`. It needs no login,
14
- browser, or project setup.
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.
15
18
 
16
- Treat Slack or Teams as the UI for this run. A CopilotKit web app is not required.
17
- Empty folders, agent-only folders, and existing CopilotKit apps are all valid starts.
18
- Orchestrate with separate read-only, implementation, and proof subagents, each
19
- restricted to the target project.
19
+ - `--model`: copy the model id exactly as your instructions write it. If they name no
20
+ exact model id, leave out `--model` rather than guess.
21
+ - `--model-family`: your model's family, such as `claude-opus` or `gpt-5`. Give it even
22
+ without `--model`, and leave out `--model-family` if you do not know it.
23
+ - Never give your product slug as a model or a family.
20
24
 
21
25
  ## Waits, stops, and subagents
22
26
 
@@ -34,13 +38,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
34
38
  once:
35
39
 
36
40
  ```text
37
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
41
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase delegation-unavailable
38
42
  ```
39
43
 
40
44
  Before you end your turn to wait for the developer, report the pause:
41
45
 
42
46
  ```text
43
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
47
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase awaiting-developer
44
48
  ```
45
49
 
46
50
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -50,7 +54,7 @@ If you stop this run, send one short report before you stop. The friction comman
50
54
  the telemetry setting the developer already chose, so it needs no separate question.
51
55
 
52
56
  ```text
53
- npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
57
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard friction --phase stop --category <slug> --message "<sentences>"
54
58
  ```
55
59
 
56
60
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -64,7 +68,7 @@ one scoped fix, and sends the report itself when no fix is approved.
64
68
  Before any subagent or project process runs, capture the developer's existing work:
65
69
 
66
70
  ```text
67
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
71
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect
68
72
  ```
69
73
 
70
74
  Keep the exact protected path list it prints and give that list to every subagent. Do not
@@ -94,7 +98,7 @@ This one does not.
94
98
  Wait for the inspection subagent to finish. Then report that the inspection came back:
95
99
 
96
100
  ```text
97
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
101
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase research-returned
98
102
  ```
99
103
 
100
104
  If the folder is empty, check Node 22, `uv`, and Python before cloning. Python 3.12 or
@@ -108,13 +112,13 @@ and its install command in the message the developer sees: `nvm install 22` for
108
112
  for Python. Offer a custom headless build as a later path. Then route out:
109
113
 
110
114
  ```text
111
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
115
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
112
116
  ```
113
117
 
114
118
  When the tools this run needs are present, read the next prompt now, in this turn:
115
119
 
116
120
  ```text
117
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/channels/plan
121
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/channels/plan
118
122
  ```
119
123
 
120
124
  That prompt holds the plan, the developer's approval, and the paths the plan changes.
@@ -15,7 +15,7 @@ Run focused type/test checks and start the app. Record the changed files and val
15
15
  Before you spawn the implementation subagent, take the authorized list from the CLI:
16
16
 
17
17
  ```text
18
- npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
18
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard audit
19
19
  ```
20
20
 
21
21
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -34,7 +34,7 @@ still go on the record. Name the file and why the work needs it, then end your t
34
34
  for the developer's answer. If they allow it, record their answer before any edit:
35
35
 
36
36
  ```text
37
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
37
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
38
38
  ```
39
39
 
40
40
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -46,7 +46,7 @@ feature stop route below.
46
46
  After validation and each repair, run:
47
47
 
48
48
  ```text
49
- npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
49
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard audit
50
50
  ```
51
51
 
52
52
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -57,7 +57,7 @@ with the implementation subagent's `Files changed` section. If that section does
57
57
  the path, accept the developer's external change:
58
58
 
59
59
  ```text
60
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --accept-external --path <path>
60
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --accept-external --path <path>
61
61
  ```
62
62
 
63
63
  For an env file where the developer placed a requested credential, use
@@ -70,11 +70,11 @@ Run the audit again after each accepted change. If it still fails, or starts
70
70
  with `Status: blocked`, route out and stop:
71
71
 
72
72
  ```text
73
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
73
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
74
74
  ```
75
75
 
76
76
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
77
77
  the feature stop route above without further changes.
78
78
 
79
79
  Otherwise run
80
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/chat-suggestions/proof`.
80
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/chat-suggestions/proof`.
@@ -12,7 +12,7 @@ The approval is a wait for the developer. Before you end your turn to wait, repo
12
12
  pause:
13
13
 
14
14
  ```text
15
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
15
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase awaiting-developer
16
16
  ```
17
17
 
18
18
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -33,7 +33,7 @@ you plan. Run `onboard protect` again from the target app directory: on the same
33
33
  prints the baseline the run already holds.
34
34
 
35
35
  ```text
36
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
36
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect
37
37
  ```
38
38
 
39
39
  Then have one read-only subagent repeat the inspection for the findings above, and wait
@@ -61,11 +61,11 @@ one.
61
61
  After approval, record each approved path before implementation:
62
62
 
63
63
  ```text
64
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
64
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
65
65
  ```
66
66
 
67
67
  If an approved path changed after capture and no implementation step has run, add
68
68
  `--with-prior-change`. Continue only when every result starts with `Status: passed`. Do not
69
69
  authorize a path the approved plan did not list.
70
70
 
71
- Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/chat-suggestions/implement`.
71
+ Then run `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/chat-suggestions/implement`.
@@ -20,7 +20,7 @@ still go on the record. Name the file and why the fix needs it, then end your tu
20
20
  for the developer's answer. If they allow it, record their answer before any edit:
21
21
 
22
22
  ```text
23
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
23
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
24
24
  ```
25
25
 
26
26
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -33,11 +33,11 @@ Report the outcome of each attempt as it ends, before any repair. The command co
33
33
  attempts and the repairs:
34
34
 
35
35
  ```text
36
- npx --prefer-offline --yes copilotkit@4.23.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
36
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
37
37
  ```
38
38
 
39
39
  Use `passed` only for a proved sent suggestion, `failed` for an attempted proof that failed,
40
- and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.23.1 onboard audit`.
40
+ and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.24.0 onboard audit`.
41
41
  Continue only when it starts with `Status: passed`.
42
42
 
43
43
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -52,9 +52,9 @@ the path and the change the audit reports. Run the audit again after each accept
52
52
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
53
53
 
54
54
  ```text
55
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
55
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
56
56
  ```
57
57
 
58
58
  When the audit passes, run
59
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/complete` with the real browser-proof
59
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/complete` with the real browser-proof
60
60
  outcome.
@@ -3,6 +3,23 @@
3
3
  Treat this as an additive OSS chat-surface feature. Delegate repository inspection,
4
4
  implementation, and proof to separate subagents and keep all work inside the target project.
5
5
 
6
+ ## First, say which coding agent you are
7
+
8
+ Run this before anything else in this prompt:
9
+
10
+ ```text
11
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
12
+ ```
13
+
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.
16
+
17
+ - `--model`: copy the model id exactly as your instructions write it. If they name no
18
+ exact model id, leave out `--model` rather than guess.
19
+ - `--model-family`: your model's family, such as `claude-opus` or `gpt-5`. Give it even
20
+ without `--model`, and leave out `--model-family` if you do not know it.
21
+ - Never give your product slug as a model or a family.
22
+
6
23
  ## Waits, stops, and subagents
7
24
 
8
25
  A run that starts here has not read these rules yet, so they come first. They cover this
@@ -19,13 +36,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
19
36
  once:
20
37
 
21
38
  ```text
22
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase delegation-unavailable
39
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase delegation-unavailable
23
40
  ```
24
41
 
25
42
  Before you end your turn to wait for the developer, report the pause:
26
43
 
27
44
  ```text
28
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase awaiting-developer
45
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase awaiting-developer
29
46
  ```
30
47
 
31
48
  A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
@@ -35,7 +52,7 @@ If you stop this run, send one short report before you stop. The friction comman
35
52
  the telemetry setting the developer already chose, so it needs no separate question.
36
53
 
37
54
  ```text
38
- npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
55
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard friction --phase stop --category <slug> --message "<sentences>"
39
56
  ```
40
57
 
41
58
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -49,7 +66,7 @@ one scoped fix, and sends the report itself when no fix is approved.
49
66
  Before any subagent or project process runs, capture the developer's existing work:
50
67
 
51
68
  ```text
52
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect
69
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect
53
70
  ```
54
71
 
55
72
  Keep the exact protected path list it prints and give that list to every subagent. No
@@ -58,26 +75,26 @@ approved authorization before implementation.
58
75
 
59
76
  Before edits, identify the current CopilotKit provider, chat component, message lifecycle,
60
77
  agent id, package version, and test/dev commands. Prove the existing OSS round trip with
61
- `/info`, `npx --prefer-offline --yes copilotkit@4.23.1 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
78
+ `/info`, `npx --prefer-offline --yes copilotkit@4.24.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
62
79
  and one real frontend request when browser control is available.
63
80
 
64
81
  Wait for the inspection subagent to finish. Then report that the inspection came back:
65
82
 
66
83
  ```text
67
- npx --prefer-offline --yes copilotkit@4.23.1 onboard checkpoint --phase research-returned
84
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard checkpoint --phase research-returned
68
85
  ```
69
86
 
70
87
  If the inspection did not prove the baseline this intent extends, stop here without
71
88
  changing files:
72
89
 
73
90
  ```text
74
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
91
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
75
92
  ```
76
93
 
77
94
  When the inspection proved what this intent needs, read the next prompt now, in this turn:
78
95
 
79
96
  ```text
80
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/chat-suggestions/plan
97
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/chat-suggestions/plan
81
98
  ```
82
99
 
83
100
  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.23.1 onboard complete --visual-check <performed|skipped-no-browser-tool|channels-proof-passed|failed>
6
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard complete --visual-check <performed|skipped-no-browser-tool|channels-proof-passed|failed>
7
7
  ```
8
8
 
9
9
  Use `channels-proof-passed` for a Slack or Teams run that recorded a passed round-trip proof
@@ -22,7 +22,7 @@ Before `onboard complete`, send the friction this run mentioned to the developer
22
22
  report each, at most four, costliest first:
23
23
 
24
24
  ```text
25
- npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --category <slug> --cost-seconds <seconds> --message "<sentences>"
25
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard friction --category <slug> --cost-seconds <seconds> --message "<sentences>"
26
26
  ```
27
27
 
28
28
  Put one or two sentences in `--message`, with no secrets, source, or logs. Pick the
@@ -17,7 +17,7 @@ follows the telemetry setting the developer already chose, so it needs no separa
17
17
  question.
18
18
 
19
19
  ```text
20
- npx --prefer-offline --yes copilotkit@4.23.1 onboard friction --phase stop --category <slug> --message "<sentences>"
20
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard friction --phase stop --category <slug> --message "<sentences>"
21
21
  ```
22
22
 
23
23
  `--message` takes one or two sentences: the step you stopped at and what stopped it.
@@ -49,7 +49,7 @@ settled refusal rather than a missing baseline, so stop here, before any file ch
49
49
  take its own ending:
50
50
 
51
51
  ```text
52
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/blocked-by-plan
52
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/blocked-by-plan
53
53
  ```
54
54
 
55
55
  `LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
@@ -63,7 +63,7 @@ then, so the read below is where its refusal surfaces.
63
63
  When the plan or the repository already names an id, ask about that one id and nothing else:
64
64
 
65
65
  ```text
66
- npx --prefer-offline --yes copilotkit@4.23.1 learning containers get <id> --json
66
+ npx --prefer-offline --yes copilotkit@4.24.0 learning containers get <id> --json
67
67
  ```
68
68
 
69
69
  One call answers it, and no list is needed.
@@ -71,7 +71,7 @@ One call answers it, and no list is needed.
71
71
  When no id is in hand, survey what the project holds:
72
72
 
73
73
  ```text
74
- npx --prefer-offline --yes copilotkit@4.23.1 learning containers list --json
74
+ npx --prefer-offline --yes copilotkit@4.24.0 learning containers list --json
75
75
  ```
76
76
 
77
77
  One call returns at most 500 containers. When `nextCursor` in the result is not null, read
@@ -94,7 +94,7 @@ user, so the callback can return a different id per tier or per customer.
94
94
  Ask the CLI for the id rather than spelling one yourself:
95
95
 
96
96
  ```text
97
- npx --prefer-offline --yes copilotkit@4.23.1 learning containers default-id --json
97
+ npx --prefer-offline --yes copilotkit@4.24.0 learning containers default-id --json
98
98
  ```
99
99
 
100
100
  It derives the project-scoped id from the selected project's slug, reads the local project
@@ -108,7 +108,7 @@ run that spells the id differently gives one project two containers, each below
108
108
  above on its own. One command is what keeps the two spellings identical.
109
109
 
110
110
  ```text
111
- npx --prefer-offline --yes copilotkit@4.23.1 learning containers create --id <id> --name <name> --json
111
+ npx --prefer-offline --yes copilotkit@4.24.0 learning containers create --id <id> --name <name> --json
112
112
  ```
113
113
 
114
114
  An id already in use answers `LEARNING_CONTAINER_ALREADY_EXISTS`. That is a container to
@@ -134,13 +134,13 @@ non-zero on an app that is working. Pass what `identifyUser` reads with a repeat
134
134
  It is not a defect to repair.
135
135
 
136
136
  Run focused tests and
137
- `npx --prefer-offline --yes copilotkit@4.23.1 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
137
+ `npx --prefer-offline --yes copilotkit@4.24.0 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
138
138
  Repair changed-file failures and record secret-safe evidence.
139
139
 
140
140
  Before you spawn the implementation subagent, take the authorized list from the CLI:
141
141
 
142
142
  ```text
143
- npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
143
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard audit
144
144
  ```
145
145
 
146
146
  From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
@@ -159,7 +159,7 @@ still go on the record. Name the file and why the work needs it, then end your t
159
159
  for the developer's answer. If they allow it, record their answer before any edit:
160
160
 
161
161
  ```text
162
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
162
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
163
163
  ```
164
164
 
165
165
  Continue only when the result starts with `Status: passed`. Run the audit again, take the
@@ -171,7 +171,7 @@ feature stop route below.
171
171
  After validation and each repair, run:
172
172
 
173
173
  ```text
174
- npx --prefer-offline --yes copilotkit@4.23.1 onboard audit
174
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard audit
175
175
  ```
176
176
 
177
177
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -182,7 +182,7 @@ with the implementation subagent's `Files changed` section. If that section does
182
182
  the path, accept the developer's external change:
183
183
 
184
184
  ```text
185
- npx --prefer-offline --yes copilotkit@4.23.1 onboard protect --accept-external --path <path>
185
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard protect --accept-external --path <path>
186
186
  ```
187
187
 
188
188
  For an env file where the developer placed a requested credential, use
@@ -196,11 +196,11 @@ with `Status: blocked`, route out and stop. Route out the same way when
196
196
  `--accept-credential` refuses because it names a lost variable:
197
197
 
198
198
  ```text
199
- npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/stop
199
+ npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/stop
200
200
  ```
201
201
 
202
202
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
203
203
  the feature stop route above without further changes.
204
204
 
205
205
  Otherwise run
206
- `npx --prefer-offline --yes copilotkit@4.23.1 onboard read feature/learning/proof`.
206
+ `npx --prefer-offline --yes copilotkit@4.24.0 onboard read feature/learning/proof`.