copilotkit 4.12.0 → 4.13.1

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 (80) hide show
  1. package/README.md +10 -0
  2. package/cli-build-info.json +7 -7
  3. package/index.js +1590 -348
  4. package/onboarding/index.json +20 -2
  5. package/onboarding/prompts/authenticate/start.md +38 -33
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +9 -8
  8. package/onboarding/prompts/credentials/plan.md +26 -20
  9. package/onboarding/prompts/credentials/settle-credentials.md +8 -8
  10. package/onboarding/prompts/credentials/write-plan.md +19 -6
  11. package/onboarding/prompts/fallback/best-effort.md +6 -6
  12. package/onboarding/prompts/feature/a2ui/implement.md +6 -6
  13. package/onboarding/prompts/feature/a2ui/proof.md +6 -6
  14. package/onboarding/prompts/feature/a2ui/start.md +7 -7
  15. package/onboarding/prompts/feature/channels/implement.md +75 -12
  16. package/onboarding/prompts/feature/channels/proof.md +13 -6
  17. package/onboarding/prompts/feature/channels/start.md +27 -10
  18. package/onboarding/prompts/feature/chat-suggestions/implement.md +6 -6
  19. package/onboarding/prompts/feature/chat-suggestions/proof.md +6 -6
  20. package/onboarding/prompts/feature/chat-suggestions/start.md +7 -7
  21. package/onboarding/prompts/feature/complete.md +1 -1
  22. package/onboarding/prompts/feature/learning/implement.md +15 -15
  23. package/onboarding/prompts/feature/learning/proof.md +7 -7
  24. package/onboarding/prompts/feature/learning/start.md +8 -8
  25. package/onboarding/prompts/feature/open-generative-ui/implement.md +6 -6
  26. package/onboarding/prompts/feature/open-generative-ui/proof.md +6 -6
  27. package/onboarding/prompts/feature/open-generative-ui/start.md +7 -7
  28. package/onboarding/prompts/feature/realtime-sync/implement.md +7 -7
  29. package/onboarding/prompts/feature/realtime-sync/proof.md +6 -6
  30. package/onboarding/prompts/feature/realtime-sync/start.md +6 -6
  31. package/onboarding/prompts/feature/rich-threads/implement.md +8 -8
  32. package/onboarding/prompts/feature/rich-threads/proof.md +6 -6
  33. package/onboarding/prompts/feature/rich-threads/start.md +6 -6
  34. package/onboarding/prompts/feature/stop.md +2 -2
  35. package/onboarding/prompts/feature/voice/implement.md +6 -6
  36. package/onboarding/prompts/feature/voice/proof.md +6 -6
  37. package/onboarding/prompts/feature/voice/start.md +7 -7
  38. package/onboarding/prompts/framework/ag2.md +2 -2
  39. package/onboarding/prompts/framework/agno.md +2 -2
  40. package/onboarding/prompts/framework/built-in.md +4 -2
  41. package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
  42. package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
  43. package/onboarding/prompts/framework/crewai-flows.md +2 -2
  44. package/onboarding/prompts/framework/deep-agents.md +5 -2
  45. package/onboarding/prompts/framework/google-adk.md +4 -2
  46. package/onboarding/prompts/framework/langgraph-fastapi.md +4 -3
  47. package/onboarding/prompts/framework/langgraph-python.md +6 -2
  48. package/onboarding/prompts/framework/langgraph-typescript.md +6 -2
  49. package/onboarding/prompts/framework/llamaindex.md +2 -2
  50. package/onboarding/prompts/framework/mastra.md +4 -2
  51. package/onboarding/prompts/framework/ms-agent-dotnet.md +4 -2
  52. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
  53. package/onboarding/prompts/framework/ms-agent-python.md +4 -2
  54. package/onboarding/prompts/framework/pydantic-ai.md +2 -2
  55. package/onboarding/prompts/framework/strands-python.md +4 -2
  56. package/onboarding/prompts/framework/strands-typescript.md +4 -2
  57. package/onboarding/prompts/frontend/angular.md +3 -3
  58. package/onboarding/prompts/frontend/nextjs.md +3 -3
  59. package/onboarding/prompts/frontend/plan.md +21 -10
  60. package/onboarding/prompts/frontend/react-native.md +2 -2
  61. package/onboarding/prompts/frontend/react-spa.md +2 -2
  62. package/onboarding/prompts/frontend/vue.md +2 -2
  63. package/onboarding/prompts/implementation/build-and-validate.md +33 -15
  64. package/onboarding/prompts/proof/complete.md +35 -16
  65. package/onboarding/prompts/proof/oss-baseline.md +5 -5
  66. package/onboarding/prompts/proof/round-trip.md +23 -12
  67. package/onboarding/prompts/research/gather.md +12 -102
  68. package/onboarding/prompts/research/merge.md +60 -0
  69. package/onboarding/prompts/research/preflight.md +75 -0
  70. package/onboarding/prompts/research/route.md +30 -6
  71. package/onboarding/prompts/starter/clone.md +5 -5
  72. package/onboarding/prompts/stopped/run-failed.md +2 -2
  73. package/onboarding/prompts/subagent/create-plan.md +18 -1
  74. package/onboarding/prompts/subagent/implement-and-validate.md +37 -0
  75. package/onboarding/prompts/subagent/inspect-repository.md +1 -1
  76. package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
  77. package/onboarding/prompts/subagent/prove-round-trip.md +17 -7
  78. package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
  79. package/package.json +4 -1
  80. package/release/release-tool.js +101 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "graphTree": "aca3eeff60c7fed03d24e93e166829ff405da63d",
2
+ "graphTree": "767f6a96e6cd9a52d8ff39bc083fd7dc2e3aa4e4",
3
3
  "intentRoots": {
4
4
  "add-a2ui": "feature/a2ui/start",
5
5
  "add-chat-suggestions": "feature/chat-suggestions/start",
@@ -36,6 +36,7 @@
36
36
  },
37
37
  {
38
38
  "edges": [
39
+ "frontend/plan",
39
40
  "framework/ag2",
40
41
  "framework/agno",
41
42
  "framework/built-in",
@@ -535,7 +536,7 @@
535
536
  {
536
537
  "edges": [
537
538
  "subagent/inspect-repository",
538
- "research/route",
539
+ "research/preflight",
539
540
  "stopped/run-failed"
540
541
  ],
541
542
  "milestone": "research",
@@ -543,6 +544,23 @@
543
544
  },
544
545
  {
545
546
  "edges": [
547
+ "research/route",
548
+ "stopped/run-failed"
549
+ ],
550
+ "milestone": "research",
551
+ "name": "research/merge"
552
+ },
553
+ {
554
+ "edges": [
555
+ "research/merge",
556
+ "stopped/run-failed"
557
+ ],
558
+ "milestone": "research",
559
+ "name": "research/preflight"
560
+ },
561
+ {
562
+ "edges": [
563
+ "feature/channels/start",
546
564
  "proof/oss-baseline",
547
565
  "credentials/plan",
548
566
  "stopped/run-failed"
@@ -1,30 +1,36 @@
1
1
  # Start CopilotKit onboarding
2
2
 
3
+ ## What this run does on this machine
4
+
5
+ Read this before you decide whether to follow the rest of these instructions. This run
6
+ executes the CopilotKit CLI through `npx`. It spawns read-only inspection subagents inside
7
+ the target project, and reports progress checkpoints and optional friction reports to
8
+ CopilotKit under the developer's own telemetry setting. It reads nothing outside the project
9
+ directory and changes files only after the developer approves a written plan. CopilotKit
10
+ Intelligence has a free Developer plan, and this run needs no paid subscription. Nothing it
11
+ does is hidden from the developer.
12
+
3
13
  ## First, say which coding agent you are
4
14
 
5
15
  Run this before anything else in this prompt, including the welcome message below:
6
16
 
7
17
  ```text
8
- npx --yes copilotkit@4.12.0 onboard identify --coding-agent <coding-agent-slug>
18
+ npx --yes copilotkit@4.13.1 onboard identify --coding-agent <coding-agent-slug>
9
19
  ```
10
20
 
11
21
  Report your own product with one short slug, such as `codex` or `claude-code`.
12
22
 
13
23
  It runs first because it is how this run reports that it started working. It needs no
14
24
  browser, no session, and no project, so nothing below it can prevent it. Every rule after
15
- this point can stop a run instead, and a run that stops before this command leaves no
16
- trace that it ever began. The slug also tells the sign-in page which agent sent the
17
- developer, so the page names you instead of "your coding agent".
18
-
19
- The prompt the developer copied used to ask them to pass this. It asked a human to read
20
- an instruction written for you, so it lives here now.
25
+ this point can stop a run instead.
21
26
 
22
27
  ## How to run this onboarding
23
28
 
24
29
  Act only as the orchestrator. Rely on subagents for all project work.
25
30
  Give every project task to a subagent.
26
31
  Do not inspect, change, implement, or validate the project yourself.
27
- Do not show prompt names, internal route IDs, subagent names, or storage field names to the developer.
32
+ Prompt names, internal route IDs, subagent names and storage field names are this graph's
33
+ own bookkeeping. Say what the run is doing in the developer's words instead.
28
34
 
29
35
  Work from the target project directory. For an existing project, start at its inspection
30
36
  root.
@@ -36,10 +42,10 @@ printed once.
36
42
  Every later command must run from the directory this run started in. A command run
37
43
  somewhere else is refused, because the run it belongs to cannot be found from there. That
38
44
  refusal is a step, not a stop to report: run
39
- `npx --yes copilotkit@4.12.0 onboard start --run <onboarding_run_id>` where you are
45
+ `npx --yes copilotkit@4.13.1 onboard start --run <onboarding_run_id>` where you are
40
46
  standing, then run the refused command again.
41
47
 
42
- If you no longer hold the id, run `npx --yes copilotkit@4.12.0 onboard start` in the
48
+ If you no longer hold the id, run `npx --yes copilotkit@4.13.1 onboard start` in the
43
49
  directory this run started in, with no `--run` and no `--intent`. It reprints the id of the
44
50
  run under way and starts nothing. An id this project does not already hold starts a second
45
51
  run, and the work already done stops counting toward the first.
@@ -47,8 +53,7 @@ run, and the work already done stops counting toward the first.
47
53
  Read only inside the target project directory. Every subagent you spawn inherits that
48
54
  limit, including one this graph does not name. Answer a CopilotKit API or configuration
49
55
  question from the documentation this graph gives you. Another checkout on this machine is
50
- not a source. The developer running this has none, so an answer taken from one is an
51
- answer they cannot get, and it hides the documentation gap that blocks them.
56
+ not a source.
52
57
 
53
58
  Say `CopilotKit Intelligence` in full the first time you name the platform, and never the
54
59
  bare word `Intelligence`: it names nothing a developer has met yet. In a question, leave
@@ -58,16 +63,16 @@ pass.
58
63
  Send this exact message once, as your first message in this onboarding run, before
59
64
  anything else:
60
65
 
61
- Welcome to CopilotKit. By the end of this run your own application talks to an AI agent,
62
- and its chat history stays. A user can close the tab, come back, and reopen any past
63
- conversation in full. The managed CopilotKit Intelligence platform is what keeps them. I
64
- prove that
65
- round trip in the running app before I call it done. You finish with working software and
66
- the evidence that it works.
66
+ Welcome to CopilotKit! By the end of this run, your application talks to an AI agent and
67
+ preserves messages, tool interactions, and application state as Rich Threads.
68
+ Users can return to earlier work. That history can support Automatic Learning,
69
+ where enabled: finding usage patterns and proposing reusable Skills that help your
70
+ agent improve. You control which Skills get approved.
67
71
 
68
- I will check sign-in, inspect your project, recommend a setup, and show you a plan before I
69
- change files. After you approve the plan, I will build the integration, prove the full round
70
- trip, and leave the app running with its URLs.
72
+ I will check sign-in, inspect your project, recommend a setup, and show you a plan before
73
+ I change files. After you approve the plan, I will build the integration, prove the full
74
+ round trip, and leave the app running with its URLs. You finish with working software and
75
+ the evidence that it works.
71
76
 
72
77
  Everything I need from you comes before that approval: sign-in, a few short setup questions,
73
78
  and the plan itself. After you approve it, you can walk away. Building and proving the
@@ -76,11 +81,12 @@ me next when the app is running and I hand you its URLs, or when something stops
76
81
  tell you what it was.
77
82
 
78
83
  That message belongs to the run, not to this prompt. If you already sent it in this run, do
79
- not send it again, including on a second read of this prompt. It has no value after the
80
- first send, and a developer who reads it repeatedly learns to skim the region it sits in.
84
+ not send it again, including on a second read of this prompt.
81
85
 
82
- Do not ask for separate feedback consent. The feedback commands enforce the developer's
83
- CLI telemetry setting when a later step tries to send a report.
86
+ Telemetry and friction reports follow the CLI telemetry setting the developer controls with
87
+ `copilotkit telemetry` or `DO_NOT_TRACK=1`. Each report is one or two sentences and carries
88
+ no secrets and no source. The feedback commands enforce that setting on every send, so this
89
+ run says so once instead of asking again at each report.
84
90
 
85
91
  ## Where commands run
86
92
 
@@ -98,18 +104,17 @@ record to the repository root by itself and prints where it put it.
98
104
  This run reports its own stops. If you stop this run at any point, send one short report
99
105
  before you stop. That covers a stop this prompt names, a stop a later prompt names, and a
100
106
  stop no prompt anticipated, including one your own harness causes. Run the friction
101
- command without another developer question. Do not ask the developer about telemetry: the
102
- command applies the setting they already have.
107
+ command without another developer question: it applies the telemetry setting the developer
108
+ already set.
103
109
 
104
110
  ```text
105
- npx --yes copilotkit@4.12.0 onboard friction --phase stop --category <slug>
111
+ npx --yes copilotkit@4.13.1 onboard friction --phase stop --category <slug>
106
112
  ```
107
113
 
108
114
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
109
115
  Pick the category that fits from docs-missing, docs-wrong, docs-sequential, cli-gap,
110
116
  sdk-gap, environment, port-collision, credential, validation-loop, and other. Leave
111
- --cost-seconds off. A run that stopped cannot separate one papercut's cost from the cost
112
- of the whole run, so the estimate is optional on a stop report and only there. Send no secrets, source code, logs, or command output. The command refuses a
117
+ --cost-seconds off. Send no secrets, source code, logs, or command output. The command refuses a
113
118
  report that carries any of those, prints the reason, and exits zero. A refused report is
114
119
  not a failed step. Reword it and send it again, or stop without a report.
115
120
 
@@ -119,7 +124,7 @@ next: send the report, then stop.
119
124
 
120
125
  ## Check sign-in
121
126
 
122
- Run `npx --yes copilotkit@4.12.0 login --json` before any project work. This command
127
+ Run `npx --yes copilotkit@4.13.1 login --json` before any project work. This command
123
128
  checks the current session. It starts sign-in only as needed. Treat this as a long-lived
124
129
  streaming process. Do not wait for the command to exit before you read its standard output.
125
130
 
@@ -155,8 +160,8 @@ Do not use `whoami` for this check. It has no JSON output and some failures exit
155
160
  zero. Do not put account tokens or credentials in the conversation.
156
161
 
157
162
  When sign-in is settled, run
158
- `npx --yes copilotkit@4.12.0 onboard read research/gather`.
163
+ `npx --yes copilotkit@4.13.1 onboard read research/gather`.
159
164
 
160
165
  If sign-in stops onboarding, run
161
- `npx --yes copilotkit@4.12.0 onboard read stopped/run-failed`. It says nothing about
166
+ `npx --yes copilotkit@4.13.1 onboard read stopped/run-failed`. It says nothing about
162
167
  whether this project's stack is supported, which is not yet known at this point.
@@ -100,7 +100,7 @@ of this journey, and a drawer that lists nothing is not a reason to mint one. Li
100
100
  tokens stay a self-hosted concern.
101
101
 
102
102
  Where this journey's frontend framework ships no threads drawer -- React Native --, the
103
- fifth item is proved by `npx --yes copilotkit@4.12.0 verify --round-trip`, which sends a
103
+ fifth item is proved by `npx --yes copilotkit@4.13.1 verify --round-trip`, which sends a
104
104
  real request and reads the answer back off the thread it landed on. The run says which of
105
105
  the two it proved. Do not send a run to the managed Intelligence dashboard to prove this.
106
106
  An authenticated browser session at a hosted dashboard is the one thing an agent-driven run
@@ -116,7 +116,7 @@ and passed -- so a run scored on either one was scored on the same fact. Every r
116
116
  resolves that condition from, while `licenseStatus` is a compatibility projection of it
117
117
  for older thread surfaces and outlives them only until those surfaces go.
118
118
 
119
- Then run `npx --yes copilotkit@4.12.0 onboard read credentials/finalize-plan`.
119
+ Then run `npx --yes copilotkit@4.13.1 onboard read credentials/finalize-plan`.
120
120
 
121
121
  If a selected page does not load after the second method, run
122
- `npx --yes copilotkit@4.12.0 onboard read unsupported/no-validated-path`.
122
+ `npx --yes copilotkit@4.13.1 onboard read unsupported/no-validated-path`.
@@ -23,7 +23,7 @@ developer question. Do not ask the developer about telemetry: the command applie
23
23
  setting they already have.
24
24
 
25
25
  ```text
26
- npx --yes copilotkit@4.12.0 onboard friction --phase stop --category <slug>
26
+ npx --yes copilotkit@4.13.1 onboard friction --phase stop --category <slug>
27
27
  ```
28
28
 
29
29
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -58,7 +58,7 @@ the command refuses one of them from a run that was served that node.
58
58
  Run this command with the exact selected slugs:
59
59
 
60
60
  ```text
61
- npx --yes copilotkit@4.12.0 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
61
+ npx --yes copilotkit@4.13.1 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
62
62
  ```
63
63
 
64
64
  Do not continue if a value is refused. Fix the value from the choices that the earlier
@@ -155,7 +155,7 @@ passes against the wrong one.
155
155
  Create it, from the target directory, passing the port research settled:
156
156
 
157
157
  ```text
158
- npx --yes copilotkit@4.12.0 project select --create <name> \
158
+ npx --yes copilotkit@4.13.1 project select --create <name> \
159
159
  --runtime-url http://localhost:<port>/api/copilotkit --json
160
160
  ```
161
161
 
@@ -173,13 +173,13 @@ Take this branch only when the developer asks for an existing project, or asks t
173
173
  projects they have. Read the choices:
174
174
 
175
175
  ```text
176
- npx --yes copilotkit@4.12.0 project list --json
176
+ npx --yes copilotkit@4.13.1 project list --json
177
177
  ```
178
178
 
179
179
  Narrow them:
180
180
 
181
181
  ```text
182
- npx --yes copilotkit@4.12.0 project list --search <query> --json
182
+ npx --yes copilotkit@4.13.1 project list --search <query> --json
183
183
  ```
184
184
 
185
185
  With `--json` the payload is the only thing on standard output, so it is safe to parse. Do
@@ -192,7 +192,7 @@ Then record the project they name, from the target directory, with the same
192
192
  `--runtime-url`:
193
193
 
194
194
  ```text
195
- npx --yes copilotkit@4.12.0 project select --project <slug-or-id> \
195
+ npx --yes copilotkit@4.13.1 project select --project <slug-or-id> \
196
196
  --runtime-url http://localhost:<port>/api/copilotkit --json
197
197
  ```
198
198
 
@@ -222,7 +222,8 @@ After project reuse or a warning-free selection result, send the environment
222
222
  research subagent a focused follow-up check. Give it the exact target app directory and both
223
223
  credential paths. Require it to report these facts without values:
224
224
 
225
- - The project-record path has non-empty `projectId`, `projectSlug`, and `clerkOrgId` fields.
225
+ - The project-record path has non-empty `projectId` and `projectSlug` fields. Unless
226
+ `COPILOTKIT_DEPLOYMENT` is `self-hosted`, it also has a non-empty `clerkOrgId` field.
226
227
  - The environment path has a non-empty `CPK_INTELLIGENCE_API_KEY` entry.
227
228
  - If project selection ran, its selected slug matches `projectSlug`.
228
229
  - If project selection ran, the `.env` file was created or its modification time advanced.
@@ -236,4 +237,4 @@ project-record path and environment path as the credential setup path list. Do n
236
237
  to the baseline yet.
237
238
 
238
239
  When project selection is settled, run
239
- `npx --yes copilotkit@4.12.0 onboard read credentials/settle-credentials`.
240
+ `npx --yes copilotkit@4.13.1 onboard read credentials/settle-credentials`.
@@ -16,6 +16,12 @@ second way before you judge it. Run `curl -fsSL <url>`, or read the same page wi
16
16
  policy to every documentation subagent. A page that is still unavailable after the second
17
17
  method does not support the selection.
18
18
 
19
+ If the target directory holds no project and the copied prompt came from the Slack or the
20
+ Microsoft Teams docs page, do not ask the framework question. The Channel starter brings
21
+ its own agent, so an answer here decides nothing. Tell the developer that the Channel
22
+ starter decides the agent, then run
23
+ `npx --yes copilotkit@4.13.1 onboard read frontend/plan`.
24
+
19
25
  Use a gentle wizard. Ask one short question at a time. Do not combine separate choices in
20
26
  one question. Put the recommendation first, give its evidence in one sentence, and keep
21
27
  the alternatives short. When the framework is unknown, use this rule: Ask one framework
@@ -68,26 +74,26 @@ another framework. Do not show the internal route.
68
74
 
69
75
  Use exactly one matching internal route:
70
76
 
71
- 1. AG2: `npx --yes copilotkit@4.12.0 onboard read framework/ag2`
72
- 2. Agno: `npx --yes copilotkit@4.12.0 onboard read framework/agno`
73
- 3. Built-in CopilotKit agent: `npx --yes copilotkit@4.12.0 onboard read framework/built-in`
74
- 4. Claude Agent SDK Python: `npx --yes copilotkit@4.12.0 onboard read framework/claude-sdk-python`
75
- 5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.12.0 onboard read framework/claude-sdk-typescript`
76
- 6. CrewAI Flows: `npx --yes copilotkit@4.12.0 onboard read framework/crewai-flows`
77
- 7. Deep Agents: `npx --yes copilotkit@4.12.0 onboard read framework/deep-agents`
78
- 8. LangGraph Python: `npx --yes copilotkit@4.12.0 onboard read framework/langgraph-python`
79
- 9. LangGraph FastAPI: `npx --yes copilotkit@4.12.0 onboard read framework/langgraph-fastapi`
80
- 10. LangGraph TypeScript: `npx --yes copilotkit@4.12.0 onboard read framework/langgraph-typescript`
81
- 11. LlamaIndex: `npx --yes copilotkit@4.12.0 onboard read framework/llamaindex`
82
- 12. ADK: `npx --yes copilotkit@4.12.0 onboard read framework/google-adk`
83
- 13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.12.0 onboard read framework/ms-agent-python`
84
- 14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.12.0 onboard read framework/ms-agent-dotnet`
85
- 15. Mastra: `npx --yes copilotkit@4.12.0 onboard read framework/mastra`
86
- 16. MS Agent Harness .NET: `npx --yes copilotkit@4.12.0 onboard read framework/ms-agent-harness-dotnet`
87
- 17. Pydantic AI: `npx --yes copilotkit@4.12.0 onboard read framework/pydantic-ai`
88
- 18. Strands Agents Python: `npx --yes copilotkit@4.12.0 onboard read framework/strands-python`
89
- 19. Strands Agents TypeScript: `npx --yes copilotkit@4.12.0 onboard read framework/strands-typescript`
77
+ 1. AG2: `npx --yes copilotkit@4.13.1 onboard read framework/ag2`
78
+ 2. Agno: `npx --yes copilotkit@4.13.1 onboard read framework/agno`
79
+ 3. Built-in CopilotKit agent: `npx --yes copilotkit@4.13.1 onboard read framework/built-in`
80
+ 4. Claude Agent SDK Python: `npx --yes copilotkit@4.13.1 onboard read framework/claude-sdk-python`
81
+ 5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.13.1 onboard read framework/claude-sdk-typescript`
82
+ 6. CrewAI Flows: `npx --yes copilotkit@4.13.1 onboard read framework/crewai-flows`
83
+ 7. Deep Agents: `npx --yes copilotkit@4.13.1 onboard read framework/deep-agents`
84
+ 8. LangGraph Python: `npx --yes copilotkit@4.13.1 onboard read framework/langgraph-python`
85
+ 9. LangGraph FastAPI: `npx --yes copilotkit@4.13.1 onboard read framework/langgraph-fastapi`
86
+ 10. LangGraph TypeScript: `npx --yes copilotkit@4.13.1 onboard read framework/langgraph-typescript`
87
+ 11. LlamaIndex: `npx --yes copilotkit@4.13.1 onboard read framework/llamaindex`
88
+ 12. ADK: `npx --yes copilotkit@4.13.1 onboard read framework/google-adk`
89
+ 13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.13.1 onboard read framework/ms-agent-python`
90
+ 14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.13.1 onboard read framework/ms-agent-dotnet`
91
+ 15. Mastra: `npx --yes copilotkit@4.13.1 onboard read framework/mastra`
92
+ 16. MS Agent Harness .NET: `npx --yes copilotkit@4.13.1 onboard read framework/ms-agent-harness-dotnet`
93
+ 17. Pydantic AI: `npx --yes copilotkit@4.13.1 onboard read framework/pydantic-ai`
94
+ 18. Strands Agents Python: `npx --yes copilotkit@4.13.1 onboard read framework/strands-python`
95
+ 19. Strands Agents TypeScript: `npx --yes copilotkit@4.13.1 onboard read framework/strands-typescript`
90
96
 
91
97
  If the project has an agent in another framework, or no listed framework fits, keep the
92
98
  developer's current agent and run
93
- `npx --yes copilotkit@4.12.0 onboard read unsupported/no-validated-path`.
99
+ `npx --yes copilotkit@4.13.1 onboard read unsupported/no-validated-path`.
@@ -11,7 +11,7 @@ friction command without another developer question. Do not ask the developer ab
11
11
  telemetry: the command applies the setting they already have.
12
12
 
13
13
  ```text
14
- npx --yes copilotkit@4.12.0 onboard friction --phase stop --category <slug>
14
+ npx --yes copilotkit@4.13.1 onboard friction --phase stop --category <slug>
15
15
  ```
16
16
 
17
17
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -60,7 +60,7 @@ One container for this project is the default scope, so the id comes from the se
60
60
  project slug. Ask the CLI for it, from the target directory:
61
61
 
62
62
  ```text
63
- npx --yes copilotkit@4.12.0 learning containers default-id --json
63
+ npx --yes copilotkit@4.13.1 learning containers default-id --json
64
64
  ```
65
65
 
66
66
  The command reads the local project record. It needs no credential and makes no network
@@ -79,7 +79,7 @@ happened.
79
79
  Then ask the platform about that id, from the target directory:
80
80
 
81
81
  ```text
82
- npx --yes copilotkit@4.12.0 learning containers get <id> --json
82
+ npx --yes copilotkit@4.13.1 learning containers get <id> --json
83
83
  ```
84
84
 
85
85
  The read carries the same availability gate as the create, so it answers the entitlement
@@ -104,7 +104,7 @@ Never invent an id, scrape a dashboard, or treat an arbitrary string as a contai
104
104
  Report what the read found, before anything is planned:
105
105
 
106
106
  ```text
107
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase container-surveyed
107
+ npx --yes copilotkit@4.13.1 onboard checkpoint --phase container-surveyed
108
108
  ```
109
109
 
110
110
  Carry the derived id into the planning subagent's handoff, with whether the platform
@@ -134,7 +134,7 @@ protected path list. Also add each project file that the developer changed for m
134
134
  credentials. Record them in the baseline from the target app directory:
135
135
 
136
136
  ```text
137
- npx --yes copilotkit@4.12.0 onboard protect --path <path>
137
+ npx --yes copilotkit@4.13.1 onboard protect --path <path>
138
138
  ```
139
139
 
140
140
  Pass one `--path` for each. The command captures a digest for each path and never re-reads
@@ -148,7 +148,7 @@ Then re-capture the files this graph wrote itself. For each path the first captu
148
148
  as `deferred` that this run has now written, run:
149
149
 
150
150
  ```text
151
- npx --yes copilotkit@4.12.0 onboard protect --rebaseline --path <path>
151
+ npx --yes copilotkit@4.13.1 onboard protect --rebaseline --path <path>
152
152
  ```
153
153
 
154
154
  From that point they are protected like any other path, so a later step that rewrites
@@ -167,7 +167,7 @@ environment path. The command below is what to run at that point, from the targe
167
167
  directory:
168
168
 
169
169
  ```text
170
- npx --yes copilotkit@4.12.0 onboard protect --accept-credential --path <environment path>
170
+ npx --yes copilotkit@4.13.1 onboard protect --accept-credential --path <environment path>
171
171
  ```
172
172
 
173
173
  The command compares the variable names the baseline recorded with the names the file holds
@@ -182,4 +182,4 @@ now. Read its result:
182
182
  is not a failed step. It answers the question and the run carries on.
183
183
 
184
184
  When the credential question is answered, run
185
- `npx --yes copilotkit@4.12.0 onboard read credentials/write-plan`.
185
+ `npx --yes copilotkit@4.13.1 onboard read credentials/write-plan`.
@@ -11,7 +11,7 @@ friction command without another developer question. Do not ask the developer ab
11
11
  telemetry: the command applies the setting they already have.
12
12
 
13
13
  ```text
14
- npx --yes copilotkit@4.12.0 onboard friction --phase stop --category <slug>
14
+ npx --yes copilotkit@4.13.1 onboard friction --phase stop --category <slug>
15
15
  ```
16
16
 
17
17
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -52,7 +52,7 @@ proof subagents:
52
52
  Fetch them together with the pages already selected rather than on their own.
53
53
 
54
54
  Spawn one planning subagent. Tell it to run
55
- `npx --yes copilotkit@4.12.0 onboard read subagent/create-plan` first and follow the prompt
55
+ `npx --yes copilotkit@4.13.1 onboard read subagent/create-plan` first and follow the prompt
56
56
  it returns. If that read fails because the subagent cannot use the shell, stop that subagent.
57
57
  Run the same command yourself, then spawn a fresh subagent with the returned prompt and the
58
58
  same handoff. Give it the repository findings, selected framework, frontend, model, credential
@@ -63,7 +63,7 @@ Wait for the subagent to finish.
63
63
  Continue only if the planning result starts with `Status: passed`. For `Status: failed`,
64
64
  send the result back to the planning subagent for repair, up to three attempts. For
65
65
  `Status: blocked`, or a third failed result, run
66
- `npx --yes copilotkit@4.12.0 onboard read stopped/run-failed`. A plan this run cannot
66
+ `npx --yes copilotkit@4.13.1 onboard read stopped/run-failed`. A plan this run cannot
67
67
  write is a run that broke, not a stack the documentation does not cover. Do not show or
68
68
  ask for approval of a non-pass plan.
69
69
 
@@ -73,7 +73,20 @@ for, implementation steps, validation steps, and proof steps. Where the plan upg
73
73
  CopilotKit dependencies, it must name the versions it moves, every other pin it has to
74
74
  move with them, and the revert it falls back to. It must not contain secret values.
75
75
 
76
- Show only the selected framework, frontend, model, planned file changes, any ignore-file line this run adds, the CopilotKit dependency upgrade and the versions it moves, every other dependency the upgrade moves and the versions it moves them to, validation commands, and proof steps.
76
+ Show only the selected framework, frontend, model, planned file changes with the feature explanations below where applicable, any ignore-file line this run adds, the CopilotKit dependency upgrade and the versions it moves, every other dependency the upgrade moves and the versions it moves them to, validation commands, and proof steps.
77
+
78
+ Explain these benefits in your own words within the planned changes, only when the
79
+ plan includes the feature:
80
+
81
+ - Threads drawer: users can switch between conversations and return to earlier work
82
+ with their messages, generative UI, tool interactions, and application state restored.
83
+ - Learning Container: it groups the conversations Automatic Learning learns from.
84
+ As people use the app, Automatic Learning can find recurring patterns and propose
85
+ reusable Skills to help the agent improve. The developer can review the supporting
86
+ conversations and decide which Skills to approve.
87
+
88
+ These explanations are required content, not fixed wording. They explain the existing
89
+ plan. They do not add features, implementation steps, or a separate message or question.
77
90
 
78
91
  An upgrade to a working install is the developer's call, so it belongs in the plan they
79
92
  approve rather than in the implementation that follows. Do not upgrade a dependency the
@@ -87,7 +100,7 @@ that waits at the terminal through all of them for a question that never comes.
87
100
  the same message as the plan, and do not turn it into a second question.
88
101
 
89
102
  If the developer approves the plan, run
90
- `npx --yes copilotkit@4.12.0 onboard read implementation/build-and-validate`.
103
+ `npx --yes copilotkit@4.13.1 onboard read implementation/build-and-validate`.
91
104
 
92
105
  If no exact supported path or documentation URL exists, run
93
- `npx --yes copilotkit@4.12.0 onboard read unsupported/no-validated-path`.
106
+ `npx --yes copilotkit@4.13.1 onboard read unsupported/no-validated-path`.
@@ -14,7 +14,7 @@ command without another developer question. Do not ask the developer about telem
14
14
  command applies the setting they already have.
15
15
 
16
16
  ```text
17
- npx --yes copilotkit@4.12.0 onboard friction --phase stop --category <slug>
17
+ npx --yes copilotkit@4.13.1 onboard friction --phase stop --category <slug>
18
18
  ```
19
19
 
20
20
  Write one or two sentences to standard input: the step you stopped at and what stopped it.
@@ -60,13 +60,13 @@ stop.
60
60
 
61
61
  Use these rules for every protected-path check in this fallback:
62
62
 
63
- - Run `npx --yes copilotkit@4.12.0 onboard audit` from the target app directory.
63
+ - Run `npx --yes copilotkit@4.13.1 onboard audit` from the target app directory.
64
64
  - If a result starts with `Status: blocked`, stop onboarding and report the printed reason.
65
65
  It proved nothing changed, so do not report a preservation failure.
66
66
  - If a result reports a changed protected path this run wrote, stop onboarding.
67
67
  - If a result reports a changed path that no Files changed section from this run names,
68
68
  the change came from outside the run. Accept it by name with
69
- `npx --yes copilotkit@4.12.0 onboard protect --accept-external --path <path>`, run the
69
+ `npx --yes copilotkit@4.13.1 onboard protect --accept-external --path <path>`, run the
70
70
  audit again, and name it in the closing report.
71
71
  - If no Files changed section from this run covers the step that wrote it, stop
72
72
  onboarding. The proof subagent here returns no such section, so a finding it raises is
@@ -119,13 +119,13 @@ application passes proof. Report each tool result separately from the proof resu
119
119
  Report the documentation gap and each assumption with the proof evidence. Do not claim
120
120
  that the selected documentation proved an inferred step.
121
121
 
122
- When the proof is complete, run `npx --yes copilotkit@4.12.0 onboard complete`, carrying the
122
+ When the proof is complete, run `npx --yes copilotkit@4.13.1 onboard complete`, carrying the
123
123
  surface-check result the proof subagent returned. Pass exactly one flag, matching this
124
124
  journey's surface:
125
125
 
126
126
  ```text
127
- npx --yes copilotkit@4.12.0 onboard complete --visual-check <outcome>
128
- npx --yes copilotkit@4.12.0 onboard complete --device-check <outcome>
127
+ npx --yes copilotkit@4.13.1 onboard complete --visual-check <outcome>
128
+ npx --yes copilotkit@4.13.1 onboard complete --device-check <outcome>
129
129
  ```
130
130
 
131
131
  `--visual-check` is for a web frontend and takes `performed`, `skipped-no-browser-tool`, or
@@ -18,7 +18,7 @@ without exposing secrets.
18
18
  After validation and each repair, run:
19
19
 
20
20
  ```text
21
- npx --yes copilotkit@4.12.0 onboard audit
21
+ npx --yes copilotkit@4.13.1 onboard audit
22
22
  ```
23
23
 
24
24
  Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
@@ -29,7 +29,7 @@ with the implementation subagent's `Files changed` section. If that section does
29
29
  the path, accept the developer's external change:
30
30
 
31
31
  ```text
32
- npx --yes copilotkit@4.12.0 onboard protect --accept-external --path <path>
32
+ npx --yes copilotkit@4.13.1 onboard protect --accept-external --path <path>
33
33
  ```
34
34
 
35
35
  For an env file where the developer placed a requested credential, use
@@ -38,24 +38,24 @@ or its report does not settle who changed it, ask the developer to allow the unp
38
38
  change. Only after they agree, record their answer:
39
39
 
40
40
  ```text
41
- npx --yes copilotkit@4.12.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
41
+ npx --yes copilotkit@4.13.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
42
42
  ```
43
43
 
44
44
  Run the audit again after each accepted or authorized change. If it still fails, or starts
45
45
  with `Status: blocked`, route out and stop:
46
46
 
47
47
  ```text
48
- npx --yes copilotkit@4.12.0 onboard read feature/stop
48
+ npx --yes copilotkit@4.13.1 onboard read feature/stop
49
49
  ```
50
50
 
51
51
  When implementation validation passes, report it:
52
52
 
53
53
  ```text
54
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase build-validated
54
+ npx --yes copilotkit@4.13.1 onboard checkpoint --phase build-validated
55
55
  ```
56
56
 
57
57
  If validation cannot pass, or this intent needs a prerequisite the app does not have, use
58
58
  the feature stop route above without further changes.
59
59
 
60
60
  Otherwise run
61
- `npx --yes copilotkit@4.12.0 onboard read feature/a2ui/proof`.
61
+ `npx --yes copilotkit@4.13.1 onboard read feature/a2ui/proof`.
@@ -19,23 +19,23 @@ user's agent response with a hard-coded UI.
19
19
  Report each attempt at the proof as it ends, counting from one:
20
20
 
21
21
  ```text
22
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase journey-attempted --attempt 1
22
+ npx --yes copilotkit@4.13.1 onboard checkpoint --phase journey-attempted --attempt 1
23
23
  ```
24
24
 
25
25
  Report each repair cycle the same way, counting from one:
26
26
 
27
27
  ```text
28
- npx --yes copilotkit@4.12.0 onboard checkpoint --phase repair-attempted --attempt 1
28
+ npx --yes copilotkit@4.13.1 onboard checkpoint --phase repair-attempted --attempt 1
29
29
  ```
30
30
 
31
31
  After the final attempt, report the gate exactly once:
32
32
 
33
33
  ```text
34
- npx --yes copilotkit@4.12.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
34
+ npx --yes copilotkit@4.13.1 onboard proof --step round-trip --outcome <passed|failed|skipped>
35
35
  ```
36
36
 
37
37
  Use `passed` only for a proved A2UI surface, `failed` for an attempted proof that failed,
38
- and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.12.0 onboard audit`.
38
+ and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.13.1 onboard audit`.
39
39
  Continue only when it starts with `Status: passed`.
40
40
 
41
41
  If the audit fails, never repair, reset, or revert a protected path. Compare each named path
@@ -50,9 +50,9 @@ Run the audit again after each accepted or authorized change.
50
50
  If the audit still fails, or starts with `Status: blocked`, route out and stop:
51
51
 
52
52
  ```text
53
- npx --yes copilotkit@4.12.0 onboard read feature/stop
53
+ npx --yes copilotkit@4.13.1 onboard read feature/stop
54
54
  ```
55
55
 
56
56
  When the audit passes, run
57
- `npx --yes copilotkit@4.12.0 onboard read feature/complete` with the actual browser-proof
57
+ `npx --yes copilotkit@4.13.1 onboard read feature/complete` with the actual browser-proof
58
58
  outcome.