copilotkit 4.9.2 → 4.9.17

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 (47) hide show
  1. package/README.md +13 -12
  2. package/cli-build-info.json +8 -8
  3. package/index.js +1879 -685
  4. package/onboarding/index.json +15 -0
  5. package/onboarding/prompts/authenticate/start.md +180 -71
  6. package/onboarding/prompts/conversion/plan.md +103 -0
  7. package/onboarding/prompts/credentials/finalize-plan.md +105 -135
  8. package/onboarding/prompts/credentials/plan.md +42 -25
  9. package/onboarding/prompts/fallback/best-effort.md +107 -16
  10. package/onboarding/prompts/framework/ag2.md +8 -19
  11. package/onboarding/prompts/framework/agno.md +12 -20
  12. package/onboarding/prompts/framework/built-in.md +4 -14
  13. package/onboarding/prompts/framework/claude-sdk-python.md +8 -18
  14. package/onboarding/prompts/framework/claude-sdk-typescript.md +10 -20
  15. package/onboarding/prompts/framework/crewai-flows.md +31 -27
  16. package/onboarding/prompts/framework/deep-agents.md +10 -20
  17. package/onboarding/prompts/framework/google-adk.md +4 -16
  18. package/onboarding/prompts/framework/langgraph-fastapi.md +4 -16
  19. package/onboarding/prompts/framework/langgraph-python.md +4 -16
  20. package/onboarding/prompts/framework/langgraph-typescript.md +4 -16
  21. package/onboarding/prompts/framework/llamaindex.md +8 -19
  22. package/onboarding/prompts/framework/mastra.md +4 -16
  23. package/onboarding/prompts/framework/ms-agent-dotnet.md +19 -50
  24. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +24 -36
  25. package/onboarding/prompts/framework/ms-agent-python.md +4 -16
  26. package/onboarding/prompts/framework/pydantic-ai.md +27 -26
  27. package/onboarding/prompts/framework/strands-python.md +9 -18
  28. package/onboarding/prompts/framework/strands-typescript.md +10 -18
  29. package/onboarding/prompts/frontend/angular.md +22 -19
  30. package/onboarding/prompts/frontend/nextjs.md +6 -16
  31. package/onboarding/prompts/frontend/plan.md +9 -14
  32. package/onboarding/prompts/frontend/react-native.md +11 -14
  33. package/onboarding/prompts/frontend/react-spa.md +5 -15
  34. package/onboarding/prompts/frontend/vue.md +12 -14
  35. package/onboarding/prompts/implementation/build-and-validate.md +61 -101
  36. package/onboarding/prompts/proof/complete.md +24 -5
  37. package/onboarding/prompts/proof/oss-baseline.md +15 -50
  38. package/onboarding/prompts/proof/round-trip.md +96 -271
  39. package/onboarding/prompts/starter/clone.md +4 -4
  40. package/onboarding/prompts/subagent/create-plan.md +49 -11
  41. package/onboarding/prompts/subagent/implement-and-validate.md +71 -51
  42. package/onboarding/prompts/subagent/inspect-repository.md +38 -9
  43. package/onboarding/prompts/subagent/prove-oss-baseline.md +2 -1
  44. package/onboarding/prompts/subagent/prove-round-trip.md +154 -51
  45. package/onboarding/prompts/unsupported/no-validated-path.md +10 -2
  46. package/package.json +1 -1
  47. package/release/release-tool.js +1 -1
@@ -1,7 +1,9 @@
1
1
  # Select the Intelligence project and create the plan
2
2
 
3
3
  Use the selected framework, frontend, model vendor, model, documentation URLs, and
4
- repository findings. Ask the developer only for choices that the repository does not
4
+ repository findings. On a conversion these were read from the baseline rather than
5
+ selected, and the conversion prompt recorded them: use those values and ask no framework
6
+ or frontend question here. Ask the developer only for choices that the repository does not
5
7
  show. Do not change application code in this phase. Do not read, show, store, or request
6
8
  a secret value.
7
9
 
@@ -10,6 +12,25 @@ one question. Put the recommendation first, give its evidence in one sentence, a
10
12
  the alternatives short. When project selection is unknown, ask only which Intelligence
11
13
  project to use. Keep final plan approval as its own later question.
12
14
 
15
+ ## If you stop in this phase
16
+
17
+ Several rules below stop onboarding: a refused classification value, an output path that
18
+ overlaps a protected path, a project selection that reports a false field, a failed
19
+ credential check, a model credential nobody can place. Each one ends a run that reached
20
+ project selection and never got a plan, and more runs stop here than anywhere else. Send
21
+ one short report before you stop. Run the feedback command without another developer
22
+ question. The CLI telemetry gate decides whether the report is sent.
23
+
24
+ ```text
25
+ npx --yes copilotkit@4.9.17 onboard feedback
26
+ ```
27
+
28
+ Write at most four lines to standard input: the step you stopped at and what stopped it.
29
+ Send no secrets, source code, logs, or command output. The command refuses a report that
30
+ carries any of those, prints the reason, and exits zero. A refused report is not a failed
31
+ step. Send the report, then stop the way the rule that stopped you says to. Reporting is
32
+ not a route change and does not resume the run.
33
+
13
34
  ## Record the audit cell
14
35
 
15
36
  Use the repository findings and selected choices to record the path before project work
@@ -24,7 +45,7 @@ starts. Choose one starting state: empty, agent-only, frontend-only, both, both-
24
45
  Run this command with the exact selected slugs:
25
46
 
26
47
  ```text
27
- npx --yes copilotkit@4.9.2 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
48
+ npx --yes copilotkit@4.9.17 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend>
28
49
  ```
29
50
 
30
51
  Do not continue if a value is refused. Fix the value from the choices that the earlier
@@ -34,13 +55,14 @@ prompts gave, then run the command again.
34
55
 
35
56
  Use the target app or runtime directory from the repository findings. If a nested app owns
36
57
  the runtime `.env` file, do not default to the repository root.
58
+ Set the environment path to `<target>/.env`.
37
59
 
38
- If valid project fields and a non-empty `INTELLIGENCE_API_KEY` already exist, ask whether to
39
- keep that selection. Recommend keeping it to avoid minting another key. Ask the developer to
40
- confirm that the prior project selection had no key-provision warning.
41
-
42
- Reused project credentials remain unverified until an authenticated Intelligence call
43
- succeeds. Record that state in the plan.
60
+ If valid project fields and a non-empty `CPK_INTELLIGENCE_API_KEY` already exist, use this
61
+ rule: Reuse that project without another question. Do not mint another key. The round-trip
62
+ proof later runs the authenticated Intelligence checks. Record the reused project
63
+ credentials as unverified in the plan until those checks pass.
64
+ If you reuse a project, set the project-record path to the exact evidence path from the
65
+ project research subagent.
44
66
 
45
67
  If the developer needs a project or another project, do the selection yourself from the
46
68
  target directory. Do not send the developer to another terminal.
@@ -48,7 +70,7 @@ target directory. Do not send the developer to another terminal.
48
70
  Read the choices first:
49
71
 
50
72
  ```text
51
- npx --yes copilotkit@4.9.2 project list --json
73
+ npx --yes copilotkit@4.9.17 project list --json
52
74
  ```
53
75
 
54
76
  With `--json` the payload is the only thing on standard output, so it is safe to parse.
@@ -59,38 +81,53 @@ developer asks.
59
81
  If the developer searches, run:
60
82
 
61
83
  ```text
62
- npx --yes copilotkit@4.9.2 project list --search <query> --json
84
+ npx --yes copilotkit@4.9.17 project list --search <query> --json
63
85
  ```
64
86
 
65
87
  If the developer asks for all projects, show the result of the first list command. Ask
66
88
  which project to use, or ask for a new project name. Do not combine this question with a
67
89
  frontend, framework, model, credential, or plan-approval question.
68
90
 
91
+ Project selection writes the environment path. It updates the nearest project record from
92
+ the target through the repository root. If no project record exists there, it writes one at
93
+ the repository root. If no repository exists, use the target. If the repository root is the
94
+ home directory, use the target.
95
+
96
+ Before project selection, derive the expected project-record path from the repository
97
+ findings. Compare that path and the environment path with the initial protected paths. Use
98
+ the path-segment overlap rule. If either output path overlaps an initial protected path, do
99
+ not run project selection. Report the conflicting path and stop onboarding.
100
+
69
101
  Then record their answer, from the target directory:
70
102
 
71
103
  ```text
72
- npx --yes copilotkit@4.9.2 project select --project <slug-or-id> --json
104
+ npx --yes copilotkit@4.9.17 project select --project <slug-or-id> --json
73
105
  ```
74
106
 
75
107
  Use `--create <name> --json` instead when they want a new project. The two flags cannot be
76
108
  combined. A slug that does not exist fails and lists the real ones, so a typo cannot record
77
109
  a selection that points at nothing.
78
110
 
79
- Read the JSON result. It reports `selected_project_slug`, `api_key_provisioned`,
80
- `project_file_written`, and `environment_file_written` at the top level. The result does
81
- not contain a secret. Report `selected_project_slug` as the project slug that the server
82
- selected or created. Require `api_key_provisioned`, `project_file_written`, and
83
- `environment_file_written` to be true. If one is false, report the error and stop
84
- onboarding. Key provisioning is non-fatal, so the command can persist a selection and
85
- still exit zero with no key. A scaffold with no key looks finished and is not.
111
+ Read the JSON result. It reports `selected_project_slug`, `config_path`,
112
+ `api_key_provisioned`, `project_file_written`, and `environment_file_written` at the top
113
+ level. The result does not contain a secret. Report `selected_project_slug` as the project
114
+ slug that the server selected or created. Require `api_key_provisioned`,
115
+ `project_file_written`, and `environment_file_written` to be true. If one is false, report
116
+ the error and stop onboarding. Key provisioning is non-fatal, so the command can persist a
117
+ selection and still exit zero with no key. A scaffold with no key looks finished and is not.
118
+
119
+ After project selection, set the project-record path to the absolute `config_path` from the
120
+ JSON result. If it differs from the expected project-record path, report both paths and stop
121
+ onboarding.
86
122
 
87
123
  Never print the payload or any secret value.
88
124
 
89
- After a warning-free result, send the research subagent a follow-up check. Require it to
90
- confirm these facts without showing values:
125
+ After project reuse or a warning-free selection result, send the environment
126
+ research subagent a focused follow-up check. Give it the exact target app directory and both
127
+ credential paths. Require it to report these facts without values:
91
128
 
92
- - `.copilotkit/project.json` has non-empty `projectId`, `projectSlug`, and `clerkOrgId` fields.
93
- - `.env` has a non-empty `INTELLIGENCE_API_KEY` entry.
129
+ - The project-record path has non-empty `projectId`, `projectSlug`, and `clerkOrgId` fields.
130
+ - The environment path has a non-empty `CPK_INTELLIGENCE_API_KEY` entry.
94
131
  - If project selection ran, its selected slug matches `projectSlug`.
95
132
  - If project selection ran, the `.env` file was created or its modification time advanced.
96
133
 
@@ -98,6 +135,10 @@ Do not print either file or any secret value. If a check fails, stop onboarding.
98
135
  selection success message alone does not prove key readiness. The CLI cannot prove key scope
99
136
  before an authenticated Intelligence call succeeds.
100
137
 
138
+ Continue only if the environment follow-up result starts with `Status: passed`. Retain the
139
+ project-record path and environment path as the credential setup path list. Do not add them
140
+ to the baseline yet.
141
+
101
142
  ## Where a model credential comes from
102
143
 
103
144
  The plan names the model credential variables. Finding their values is not its job.
@@ -116,6 +157,28 @@ If no answer comes, stop. Do not write a placeholder or an empty value. A scaffo
116
157
  carrying a dummy key looks finished and fails at the first model call, which is worse
117
158
  than stopping here.
118
159
 
160
+ After model credential placement is complete, add each credential setup path to the
161
+ protected path list. Also add each project file that the developer changed for model
162
+ credentials. Record them in the baseline from the target app directory:
163
+
164
+ ```text
165
+ npx --yes copilotkit@4.9.17 onboard protect --path <path>
166
+ ```
167
+
168
+ Pass one `--path` for each. The command captures a digest for each path and never re-reads
169
+ a path the baseline already holds.
170
+
171
+ Then re-capture the files this graph wrote itself. For each path the first capture printed
172
+ as `deferred` that this run has now written, run:
173
+
174
+ ```text
175
+ npx --yes copilotkit@4.9.17 onboard protect --rebaseline --path <path>
176
+ ```
177
+
178
+ From that point they are protected like any other path, so a later step that rewrites
179
+ `.env` and drops its key fails the audit rather than passing it. Continue only if every
180
+ result starts with `Status: passed`.
181
+
119
182
  ## Wire the runtime to Intelligence
120
183
 
121
184
  The key in `.env` does nothing on its own. The runtime reads no environment variable for
@@ -123,15 +186,28 @@ it. The credential reaches the platform only when the runtime is constructed wit
123
186
  Intelligence client, and a runtime built without one compiles, serves, answers in a
124
187
  browser, and never touches the platform.
125
188
 
126
- Add this page to the selected documentation URLs for both subagents:
189
+ Add these pages to the selected documentation URLs for the planning, implementation, and
190
+ proof subagents:
127
191
 
128
192
  - https://docs.copilotkit.ai/premium/connect-your-runtime.md
193
+ - https://docs.copilotkit.ai/backend/runtime-endpoints.md
194
+ - https://docs.copilotkit.ai/premium/managed-intelligence-platform.md
195
+
196
+ Fetch them together with the pages already selected rather than on their own.
129
197
 
130
- Fetch it together with the pages already selected rather than on its own.
198
+ Spawn one planning subagent. Tell it to run
199
+ `npx --yes copilotkit@4.9.17 onboard read subagent/create-plan` first and follow the prompt
200
+ it returns. If that read fails because the subagent cannot use the shell, stop that subagent.
201
+ Run the same command yourself, then spawn a fresh subagent with the returned prompt and the
202
+ same handoff. Give it the repository findings, selected framework, frontend, model, credential
203
+ variable names, selected documentation URLs, and documentation policy. On a conversion, also
204
+ give it the frozen criterion. Give the planning subagent the updated protected path list.
205
+ Wait for the subagent to finish.
131
206
 
132
- Spawn one planning subagent. Give it the full text of the planning brief at the end of this
133
- prompt, the repository findings, selected framework, frontend, model, credential variable
134
- names, and selected documentation URLs. Wait for the subagent to finish.
207
+ Continue only if the planning result starts with `Status: passed`. For `Status: failed`,
208
+ send the result back to the planning subagent for repair, up to three attempts. For
209
+ `Status: blocked`, or a third failed result, use the unsupported route below. Do not show or
210
+ ask for approval of a non-pass plan.
135
211
 
136
212
  Make sure that the plan preserves each part that already exists. The plan must name the
137
213
  credential variables, the Intelligence runtime wiring, the application the project asks
@@ -146,113 +222,7 @@ approve rather than in the implementation that follows. Do not upgrade a depende
146
222
  developer did not approve.
147
223
 
148
224
  If the developer approves the plan, run
149
- `npx --yes copilotkit@4.9.2 onboard read implementation/build-and-validate`.
225
+ `npx --yes copilotkit@4.9.17 onboard read implementation/build-and-validate`.
150
226
 
151
227
  If no exact supported path or documentation URL exists, run
152
- `npx --yes copilotkit@4.9.2 onboard read unsupported/no-validated-path`.
153
-
154
- ## Planning subagent brief
155
-
156
- Everything below the rule is the subagent's prompt. Give it verbatim.
157
-
158
- ---
159
-
160
- # Create the onboarding plan
161
-
162
- Use the selected framework, frontend, model, repository findings, and documentation URLs
163
- from the main coding agent. Fetch every selected URL in one step rather than one after
164
- another. Do not use remembered CopilotKit instructions.
165
-
166
- A fetch tool that refuses a URL, or fails to reach it, reports a limit of the tool and
167
- not a fact about the page. Retrieve the same URL a second way before you judge it. Run
168
- `curl -fsSL <url>`, or read the same page without the `.md` suffix. Report a
169
- documentation gap only after a second method also fails.
170
-
171
- Name the application the project asks for, and plan that application. Each documentation
172
- page teaches through one worked example, and that example carries a domain of its own.
173
- The domain belongs to the page. The project's purpose from the repository findings
174
- decides what gets built. Where the two differ, the project wins. Where the repository
175
- never states a purpose, say so in the plan and ask the developer before you adopt the
176
- domain of an example.
177
-
178
- Read only inside the project directory. Answer an API question from the documentation
179
- URLs you were given, not from another checkout on this machine.
180
-
181
- List the required credential variable names. Do not read or return credential values.
182
- Preserve each agent or frontend that already exists.
183
-
184
- Plan the runtime to consume the Intelligence credential. The runtime takes an
185
- `intelligence` option holding a client built from the project key. A runtime given a
186
- `runner` option instead is the OSS runtime. It never reads the Intelligence key, and the
187
- Inspector reads the project as locked. The default in-memory OSS runner is ephemeral.
188
- SQLite, custom, or framework persistence can be durable. The two options cannot be
189
- combined. Take the constructor from the connect-your-runtime page. Where a framework
190
- quickstart shows a `runner` option instead, the connect-your-runtime page wins.
191
-
192
- When the starting state is `both-oss`, use its recorded live baseline evidence. Preserve
193
- the working agent, frontend, CopilotKit integration, and OSS behavior. Plan the project
194
- selection, the CopilotKit dependency upgrade below, the Intelligence runtime
195
- configuration, and the authenticated proof needed for the conversion. Preserve the
196
- existing persistence and user-visible request. Do not rebuild a path that already works.
197
-
198
- Preserving the OSS baseline preserves the application, not its CopilotKit dependency
199
- versions. An install that predates the managed platform defaults carries a bundled
200
- reference naming hosts that route nothing, and it requires the platform URLs the same
201
- documentation calls optional. A run that reads that reference configures the runtime
202
- against a dead host, and the failure arrives as an empty-body 404 with no cause named.
203
-
204
- If any `@copilotkit/*` dependency is below 1.64.0, plan to upgrade every `@copilotkit/*`
205
- dependency to its latest published version. Packages that share a version line must end
206
- on the same version. Never force a package onto a version line it does not publish on.
207
- Resolve each latest version at run time rather than from a remembered version number.
208
- Where every `@copilotkit/*` dependency already meets that floor, plan no dependency
209
- change.
210
-
211
- Plan the upgrade as its own step before the Intelligence runtime wiring, and plan to
212
- re-run the recorded baseline checks immediately after it. Name the revert: restore the
213
- manifest and lockfile to their recorded state and stop, rather than wiring Intelligence
214
- onto a baseline the upgrade broke.
215
-
216
- Where the SDK requires an application-level value that the repository cannot supply, such
217
- as an end-user identity for threads, use one clearly marked local placeholder and name what
218
- production requires instead. Do not stop onboarding to ask the developer for it.
219
-
220
- Check whether the existing agent performs unattended side effects, such as paging, sending
221
- notifications, writing to an external system, or creating tickets. If it does, the new
222
- conversational surface must not trigger them. Wrap only the reasoning steps, or require an
223
- explicit developer confirmation before the side effect can run. Name each side effect you
224
- found and state how the plan avoids it.
225
-
226
- If the value of the journey depends on data the project already holds, name that data,
227
- name where it lives, and name how it reaches the agent. Rendering a list in the DOM does
228
- not give the agent access to it. An agent wired without the page's data answers from
229
- entities it invents, and the answer looks correct. Take the frontend-context step from
230
- the selected documentation. Where no selected page documents it for this framework or
231
- frontend, record that as a documentation gap rather than guessing the API.
232
-
233
- Where that data exists, name the entities the proof compares against: the ids, names, or
234
- records the project holds and the answer has to reference. Where the outcome references
235
- no project data, say so in the plan, so that the proof asks for evidence this journey can
236
- produce.
237
-
238
- Create one plan for implementation, validation, and proof. Name each file or area that can
239
- change. Name the commands that can validate the result.
240
- Name the commands or user path that prove a real generative-UI round trip.
241
-
242
- Keep a production build out of the validation commands. A type check plus the real round
243
- trip is the proof, and the round trip runs in development mode. Name the production build
244
- as a follow-up for the developer instead. Never raise a bundle budget or relax a lint rule
245
- to make a build pass during onboarding.
246
-
247
- The type check runs against the project's own configuration. If the project has no
248
- type-check command, add one that uses the configuration the project already has.
249
- Do not add compiler strictness the project did not have. Nothing later in the run is
250
- allowed to weaken type safety, so a stricter gate named here is one the run cannot get
251
- back out of.
252
-
253
- Gather what you need in as few commands as possible. Combine independent reads into one
254
- command rather than running them one at a time. Split a command only when its result decides
255
- what you run next.
256
-
257
- Return the plan, the URLs that you read, and each documentation gap. Stop after you return
258
- the findings to the main coding agent.
228
+ `npx --yes copilotkit@4.9.17 onboard read unsupported/no-validated-path`.
@@ -4,11 +4,23 @@ Use the repository findings to select the agent framework. Ask the developer onl
4
4
  choices that the repository does not show. Do not change application code in this phase.
5
5
  Do not read, show, store, or request a secret value.
6
6
 
7
+ Keep `CPK_INTELLIGENCE_API_KEY` separate from every model-vendor credential. Do not read,
8
+ show, store, or copy either credential.
9
+
10
+ This documentation policy applies to every framework and frontend route below. Deduplicate
11
+ the selected URL list and fetch each URL once. Fetch all selected URLs in one step. Do not
12
+ use remembered CopilotKit instructions. A fetch tool that refuses a URL, or fails to reach
13
+ it, reports a limit of the tool and not a fact about the page. Retrieve the same URL a
14
+ second way before you judge it. Run `curl -fsSL <url>`, or read the same page without the
15
+ `.md` suffix. Treat a page as unavailable only after a second method also fails. Give this
16
+ policy to every documentation subagent. A page that is still unavailable after the second
17
+ method does not support the selection.
18
+
7
19
  Use a gentle wizard. Ask one short question at a time. Do not combine separate choices in
8
20
  one question. Put the recommendation first, give its evidence in one sentence, and keep
9
- the alternatives short. When the framework is unknown, ask only whether to use the
10
- recommended framework. If the developer declines it, ask one follow-up question that lists
11
- the valid framework choices. Do not ask about the frontend, model, or project in this step.
21
+ the alternatives short. When the framework is unknown, use this rule: Ask one framework
22
+ question that lists the recommendation and valid choices. Do not ask a yes-or-no question
23
+ first. Do not ask about the frontend, model, or project in this step.
12
24
 
13
25
  These are the agent frameworks and their default vendors:
14
26
 
@@ -27,13 +39,18 @@ These are the agent frameworks and their default vendors:
27
39
  | LangGraph TypeScript | OpenAI |
28
40
  | LlamaIndex | OpenAI |
29
41
  | Mastra | OpenAI |
30
- | Microsoft Agent Framework (.NET) | GitHub Models |
42
+ | Microsoft Agent Framework (.NET) | OpenAI |
31
43
  | Microsoft Agent Framework (Python) | OpenAI |
32
- | MS Agent Harness (.NET) | GitHub Models |
44
+ | MS Agent Harness (.NET) | OpenAI |
33
45
  | Pydantic AI | OpenAI |
34
46
  | Strands Agents (Python) | OpenAI |
35
47
  | Strands Agents (TypeScript) | OpenAI |
36
48
 
49
+ "Project-defined" is not a missing default. It means that framework's own route settles
50
+ the vendor with the developer: it keeps the one the repository already uses, and asks a
51
+ single question when the repository shows none. Do not read it as a framework this release
52
+ cannot onboard.
53
+
37
54
  If the project already has an agent in a listed framework, preserve that framework and
38
55
  its model setup. Ask only about choices that remain unknown.
39
56
 
@@ -51,26 +68,26 @@ another framework. Do not show the internal route.
51
68
 
52
69
  Use exactly one matching internal route:
53
70
 
54
- 1. AG2: `npx --yes copilotkit@4.9.2 onboard read framework/ag2`
55
- 2. Agno: `npx --yes copilotkit@4.9.2 onboard read framework/agno`
56
- 3. Built-in CopilotKit agent: `npx --yes copilotkit@4.9.2 onboard read framework/built-in`
57
- 4. Claude Agent SDK Python: `npx --yes copilotkit@4.9.2 onboard read framework/claude-sdk-python`
58
- 5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.9.2 onboard read framework/claude-sdk-typescript`
59
- 6. CrewAI Flows: `npx --yes copilotkit@4.9.2 onboard read framework/crewai-flows`
60
- 7. Deep Agents: `npx --yes copilotkit@4.9.2 onboard read framework/deep-agents`
61
- 8. LangGraph Python: `npx --yes copilotkit@4.9.2 onboard read framework/langgraph-python`
62
- 9. LangGraph FastAPI: `npx --yes copilotkit@4.9.2 onboard read framework/langgraph-fastapi`
63
- 10. LangGraph TypeScript: `npx --yes copilotkit@4.9.2 onboard read framework/langgraph-typescript`
64
- 11. LlamaIndex: `npx --yes copilotkit@4.9.2 onboard read framework/llamaindex`
65
- 12. ADK: `npx --yes copilotkit@4.9.2 onboard read framework/google-adk`
66
- 13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.9.2 onboard read framework/ms-agent-python`
67
- 14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.9.2 onboard read framework/ms-agent-dotnet`
68
- 15. Mastra: `npx --yes copilotkit@4.9.2 onboard read framework/mastra`
69
- 16. MS Agent Harness .NET: `npx --yes copilotkit@4.9.2 onboard read framework/ms-agent-harness-dotnet`
70
- 17. Pydantic AI: `npx --yes copilotkit@4.9.2 onboard read framework/pydantic-ai`
71
- 18. Strands Agents Python: `npx --yes copilotkit@4.9.2 onboard read framework/strands-python`
72
- 19. Strands Agents TypeScript: `npx --yes copilotkit@4.9.2 onboard read framework/strands-typescript`
71
+ 1. AG2: `npx --yes copilotkit@4.9.17 onboard read framework/ag2`
72
+ 2. Agno: `npx --yes copilotkit@4.9.17 onboard read framework/agno`
73
+ 3. Built-in CopilotKit agent: `npx --yes copilotkit@4.9.17 onboard read framework/built-in`
74
+ 4. Claude Agent SDK Python: `npx --yes copilotkit@4.9.17 onboard read framework/claude-sdk-python`
75
+ 5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.9.17 onboard read framework/claude-sdk-typescript`
76
+ 6. CrewAI Flows: `npx --yes copilotkit@4.9.17 onboard read framework/crewai-flows`
77
+ 7. Deep Agents: `npx --yes copilotkit@4.9.17 onboard read framework/deep-agents`
78
+ 8. LangGraph Python: `npx --yes copilotkit@4.9.17 onboard read framework/langgraph-python`
79
+ 9. LangGraph FastAPI: `npx --yes copilotkit@4.9.17 onboard read framework/langgraph-fastapi`
80
+ 10. LangGraph TypeScript: `npx --yes copilotkit@4.9.17 onboard read framework/langgraph-typescript`
81
+ 11. LlamaIndex: `npx --yes copilotkit@4.9.17 onboard read framework/llamaindex`
82
+ 12. ADK: `npx --yes copilotkit@4.9.17 onboard read framework/google-adk`
83
+ 13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.9.17 onboard read framework/ms-agent-python`
84
+ 14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.9.17 onboard read framework/ms-agent-dotnet`
85
+ 15. Mastra: `npx --yes copilotkit@4.9.17 onboard read framework/mastra`
86
+ 16. MS Agent Harness .NET: `npx --yes copilotkit@4.9.17 onboard read framework/ms-agent-harness-dotnet`
87
+ 17. Pydantic AI: `npx --yes copilotkit@4.9.17 onboard read framework/pydantic-ai`
88
+ 18. Strands Agents Python: `npx --yes copilotkit@4.9.17 onboard read framework/strands-python`
89
+ 19. Strands Agents TypeScript: `npx --yes copilotkit@4.9.17 onboard read framework/strands-typescript`
73
90
 
74
91
  If the project has an agent in another framework, or no listed framework fits, keep the
75
92
  developer's current agent and run
76
- `npx --yes copilotkit@4.9.2 onboard read unsupported/no-validated-path`.
93
+ `npx --yes copilotkit@4.9.17 onboard read unsupported/no-validated-path`.
@@ -1,36 +1,127 @@
1
1
  # Build from the best available official documentation
2
2
 
3
- Tell the implementation subagent which plan steps lack direct documentation. Give it the
4
- approved plan, repository findings, and all official documentation that you found.
3
+ Work only in the target project directory. Do not read, show, store, or request a secret
4
+ value.
5
5
 
6
- Tell the subagent to preserve the existing project. It must not invent a CopilotKit API.
7
- It can combine compatible APIs from different official pages when one page omits the
8
- selected framework and frontend combination.
6
+ This fallback contains unproved steps. Use the approved plan in step order.
9
7
 
10
- Run the approved implementation and validation steps. Repair a failure in new work at most
11
- three times. Stop if the fix requires changes to the developer's existing agent or
12
- frontend.
8
+ ## If you stop in this fallback
13
9
 
14
- After validation passes, prove the runtime, agent round trip, and real frontend path. Use
15
- the same proof rules from the approved plan. Keep the development servers running after
16
- proof.
10
+ Several rules below stop onboarding: a blocked or third failed implementation result, a
11
+ changed protected path, a blocked or third failed proof, a fix that needs changes to the
12
+ existing agent or frontend. Send one short report before you stop. Run the feedback
13
+ command without another developer question. The CLI telemetry gate decides whether the
14
+ report is sent.
17
15
 
18
- Do not block core proof on CopilotKit Skills or MCP configuration. Try these tools after
19
- the application passes proof. Report each tool result separately.
16
+ ```text
17
+ npx --yes copilotkit@4.9.17 onboard feedback
18
+ ```
19
+
20
+ Write at most four lines to standard input: the step you stopped at and what stopped it.
21
+ Send no secrets, source code, logs, or command output. The command refuses a report that
22
+ carries any of those, prints the reason, and exits zero. A refused report is not a failed
23
+ step. Send the report, then stop the way the rule that stopped you says to. This fallback
24
+ runs because the documentation already fell short once, so a stop inside it is the second
25
+ gap in the same run and neither is recorded anywhere else.
26
+
27
+ Spawn one implementation subagent. Give it the approved plan, repository findings, and
28
+ target project directory. Tell it which steps lack direct documentation. Give it all
29
+ official documentation that you fetched for the plan. Give it the protected path list.
30
+ Give it these rules:
31
+
32
+ - Preserve the existing project.
33
+ - Change only the paths the approved plan names.
34
+ - Do not change a protected path or an overlapping path.
35
+ - Do not invent a CopilotKit API.
36
+ - Do not read, show, store, or return secret values.
37
+
38
+ When one page omits the selected framework and frontend combination, combine compatible APIs
39
+ from different official pages. Tell it to run every implementation and validation step in
40
+ plan order, and to run the full validation list.
41
+
42
+ Give it this result format: Start with `Status: passed`, `Status: failed`, or
43
+ `Status: blocked`.
44
+
45
+ Wait for the implementation subagent to finish.
46
+
47
+ Use these rules for the implementation result:
48
+
49
+ 1. For `Status: passed`, keep the result.
50
+ 2. For `Status: failed`, retry the same subagent with its evidence. Make at most three attempts.
51
+ 3. For `Status: blocked`, stop onboarding. Report the blocker.
52
+
53
+ After a third failed result, stop. When a fix needs changes to the existing agent or frontend,
54
+ stop.
55
+
56
+ Use these rules for every protected-path check in this fallback:
57
+
58
+ - Run `npx --yes copilotkit@4.9.17 onboard audit` from the target app directory.
59
+ - If a result starts with `Status: blocked`, stop onboarding and report the printed reason.
60
+ It proved nothing changed, so do not report a preservation failure.
61
+ - If a result reports a changed protected path, stop onboarding.
62
+ - Never repair, reset, or revert a protected path.
63
+
64
+ Run the protected-path check now. Apply the protected-path rules. Continue only when the
65
+ audit starts with `Status: passed`.
66
+
67
+ After validation passes, use this rule: Spawn one proof subagent. Give it the complete ordered
68
+ proof rules from the approved plan, validation evidence, project directory, all official
69
+ documentation that you fetched for the plan, and recorded browser or device control. Require
70
+ the runtime, agent round trip, and real frontend proof. Keep the development servers running.
71
+ Give the proof subagent the protected path list.
72
+ Tell the proof subagent not to write a path that overlaps a protected path.
73
+ Tell it not to read, show, store, or return secret values. During proof, do not edit source
74
+ files, configuration files, dependencies, or tracked files. Allow only operational repairs
75
+ to project-owned processes, ports, and request options.
76
+ Require this result format: Start with `Status: passed`, `Status: failed`, or `Status: blocked`.
77
+ Tell it to use `Status: passed` only when the proof attempt completed with `performed`,
78
+ `skipped-no-browser-tool`, or `skipped-no-device`. Use `Status: failed` for any failed proof
79
+ step. Use `Status: blocked` when a safety or access limit stops the attempt before a surface
80
+ outcome.
81
+ Wait for the proof subagent to finish. For `Status: blocked`, stop onboarding and report the
82
+ blocker. For `Status: failed`, classify the cause before retrying.
83
+
84
+ Retry the proof worker only for a project-owned process, port, or request-option failure.
85
+ Give it the failure evidence and wait after each attempt. Stop after three failed attempts.
86
+
87
+ For a source, configuration, dependency, or tracked-file defect, send the evidence to the
88
+ implementation subagent. Require the repair and full validation. Wait for the repair to
89
+ finish. Continue only if its result starts with `Status: passed`. For a failed repair,
90
+ retry that worker with its evidence, up to three attempts. For a blocked or third failed
91
+ repair, stop onboarding and report the blocker. Run the protected-path check after the repair
92
+ passes. Apply the protected-path rules before you continue. After repair, full validation,
93
+ and the protected-path check pass, spawn a fresh proof subagent. Give it the full original
94
+ proof handoff, failed proof evidence, and new validation evidence. The handoff includes the
95
+ protected path list. Wait for the fresh proof subagent and apply the same proof-result rules.
96
+ Continue only if the proof result starts with `Status: passed`.
97
+
98
+ Run the protected-path check again after the final proof result passes. Apply the
99
+ protected-path rules. Continue only if the audit starts with `Status: passed`.
100
+
101
+ Do not block core proof on CopilotKit Skills or MCP configuration. Tell the developer that
102
+ the skills install writes a `.agents/skills` directory and `.claude/skills` links into the
103
+ working tree before you run it, because both show up in `git status` and this run cannot
104
+ know whether the project keeps them in version control. Try these tools after the
105
+ application passes proof. Report each tool result separately from the proof result.
20
106
 
21
107
  Report the documentation gap and each assumption with the proof evidence. Do not claim
22
108
  that the selected documentation proved an inferred step.
23
109
 
24
- When the proof is complete, run `npx --yes copilotkit@4.9.2 onboard complete`, carrying the
110
+ When the proof is complete, run `npx --yes copilotkit@4.9.17 onboard complete`, carrying the
25
111
  surface-check result the proof subagent returned. Pass exactly one flag, matching this
26
112
  journey's surface:
27
113
 
28
114
  ```text
29
- npx --yes copilotkit@4.9.2 onboard complete --visual-check <outcome>
30
- npx --yes copilotkit@4.9.2 onboard complete --device-check <outcome>
115
+ npx --yes copilotkit@4.9.17 onboard complete --visual-check <outcome>
116
+ npx --yes copilotkit@4.9.17 onboard complete --device-check <outcome>
31
117
  ```
32
118
 
33
119
  `--visual-check` is for a web frontend and takes `performed`, `skipped-no-browser-tool`, or
34
120
  `failed`. `--device-check` is for React Native and takes `performed`, `skipped-no-device`,
35
121
  or `failed`. Anything but `performed` ends this run as blocked, and the command's output
36
122
  names the evidence that is missing. Report it that way.
123
+
124
+ If the proof passed and something after it still blocked this run, add
125
+ `--blocked-by <cause>` to the same command, with one of `hosted-dashboard`, `inspector`,
126
+ `plan-excluded-capability`, or `other`. It ends the run as blocked and names what the
127
+ blocker leaves unverified.
@@ -6,43 +6,32 @@ credential variables and setup steps.
6
6
 
7
7
  Name the default model credential `OPENAI_API_KEY`.
8
8
 
9
- Keep `INTELLIGENCE_API_KEY` separate from model-vendor credentials. Do not read, show,
10
- store, or request a secret value.
11
-
12
9
  ## Documentation
13
10
 
14
11
  - https://docs.copilotkit.ai/ag2/quickstart.md
15
12
  - https://docs.copilotkit.ai/ag2/inspector.md
16
- - https://docs.copilotkit.ai/ag2/generative-ui/a2ui/fixed-schema.md
13
+ - https://docs.copilotkit.ai/ag2/generative-ui/tool-based.md
17
14
  - https://docs.copilotkit.ai/ag2/readables.md
18
15
 
19
- Fetch all four pages in one step rather than one after another.
20
-
21
16
  The documentation scope is `ag2`. Use only the Python examples from these pages.
22
17
  Preserve the existing `AGUIStream` endpoint and its route. The quickstart uses a sample
23
18
  repository with `uv sync`. It does not name a dependency list for an existing project.
24
19
  Do not replace the project's dependency manifest with a guessed list, and do not change
25
20
  an existing endpoint to the quickstart's `/weather` sample route.
26
21
 
27
- The fixed-schema page has no AG2 backend schema-loading, render-operations, or runtime
28
- setup snippet. Do not invent a fixed-schema A2UI backend setup. If the requested work
29
- needs that missing setup, run the unsupported route below.
22
+ A2UI is not on this path. If the developer asks for it, say first that its page has no AG2
23
+ backend schema-loading, render-operations, or runtime setup snippet, so there is nothing to
24
+ follow for the backend half.
30
25
 
31
26
  The Readables page includes the AG2 backend context path. Use its `ContextVariables` and
32
27
  `AGUIStream` examples when the project needs frontend context. Do not substitute another
33
28
  framework's context setup.
34
29
 
35
30
  Record the selected framework, vendor, model, required credential variable names, these
36
- URLs, and the fixed-schema documentation gap. Do not use remembered CopilotKit
37
- instructions.
38
-
39
- A fetch tool that refuses a URL, or fails to reach it, reports a limit of the tool and
40
- not a fact about the page. Retrieve the same URL a second way before you judge it. Run
41
- `curl -fsSL <url>`, or read the same page without the `.md` suffix. Treat a page as
42
- unavailable only after a second method also fails.
31
+ URLs, and the A2UI documentation gap.
43
32
 
44
33
  If the pages support the selection, run
45
- `npx --yes copilotkit@4.9.2 onboard read frontend/plan`.
34
+ `npx --yes copilotkit@4.9.17 onboard read frontend/plan`.
46
35
 
47
- If a second method also fails, or a page that loads does not support the selection, run
48
- `npx --yes copilotkit@4.9.2 onboard read unsupported/no-validated-path`.
36
+ If the documentation does not support the selection, run
37
+ `npx --yes copilotkit@4.9.17 onboard read unsupported/no-validated-path`.