copilotkit 4.9.4 → 4.9.24
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.
- package/README.md +26 -12
- package/cli-build-info.json +8 -8
- package/index.js +3508 -2375
- package/onboarding/index.json +15 -1
- package/onboarding/prompts/authenticate/start.md +129 -65
- package/onboarding/prompts/conversion/plan.md +113 -0
- package/onboarding/prompts/credentials/finalize-plan.md +174 -138
- package/onboarding/prompts/credentials/plan.md +26 -21
- package/onboarding/prompts/fallback/best-effort.md +103 -22
- package/onboarding/prompts/framework/ag2.md +7 -7
- package/onboarding/prompts/framework/agno.md +11 -8
- package/onboarding/prompts/framework/built-in.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-python.md +7 -7
- package/onboarding/prompts/framework/claude-sdk-typescript.md +9 -9
- package/onboarding/prompts/framework/crewai-flows.md +27 -11
- package/onboarding/prompts/framework/deep-agents.md +8 -7
- package/onboarding/prompts/framework/google-adk.md +3 -3
- package/onboarding/prompts/framework/langgraph-fastapi.md +3 -3
- package/onboarding/prompts/framework/langgraph-python.md +3 -3
- package/onboarding/prompts/framework/langgraph-typescript.md +3 -3
- package/onboarding/prompts/framework/llamaindex.md +6 -6
- package/onboarding/prompts/framework/mastra.md +3 -3
- package/onboarding/prompts/framework/ms-agent-dotnet.md +3 -3
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +7 -9
- package/onboarding/prompts/framework/ms-agent-python.md +3 -3
- package/onboarding/prompts/framework/pydantic-ai.md +26 -15
- package/onboarding/prompts/framework/strands-python.md +7 -6
- package/onboarding/prompts/framework/strands-typescript.md +9 -7
- package/onboarding/prompts/frontend/angular.md +16 -3
- package/onboarding/prompts/frontend/nextjs.md +3 -3
- package/onboarding/prompts/frontend/plan.md +6 -6
- package/onboarding/prompts/frontend/react-native.md +7 -2
- package/onboarding/prompts/frontend/react-spa.md +2 -2
- package/onboarding/prompts/frontend/vue.md +7 -2
- package/onboarding/prompts/implementation/build-and-validate.md +45 -79
- package/onboarding/prompts/proof/complete.md +31 -12
- package/onboarding/prompts/proof/oss-baseline.md +15 -50
- package/onboarding/prompts/proof/round-trip.md +88 -268
- package/onboarding/prompts/starter/clone.md +17 -8
- package/onboarding/prompts/subagent/create-plan.md +52 -1
- package/onboarding/prompts/subagent/implement-and-validate.md +70 -44
- package/onboarding/prompts/subagent/inspect-repository.md +26 -4
- package/onboarding/prompts/subagent/prove-oss-baseline.md +2 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +156 -36
- package/onboarding/prompts/unsupported/no-validated-path.md +10 -2
- package/package.json +1 -1
- 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.
|
|
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.24 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.
|
|
48
|
+
npx --yes copilotkit@4.9.24 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,61 +55,140 @@ 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`.
|
|
59
|
+
|
|
60
|
+
Every credential this run writes goes to the environment path. That covers the project
|
|
61
|
+
key, the model credential, and a license token. Do not write a credential to `.env.local`,
|
|
62
|
+
or to any second env file beside it. A project ignore file usually covers `.env` and not
|
|
63
|
+
`.env.local`, so a credential written there is untracked, visible, and added by the first
|
|
64
|
+
`git add -A`. And a second env file beside `.env` outranks it when a key is read back, so
|
|
65
|
+
the value the run depends on is the one it did not write.
|
|
66
|
+
|
|
67
|
+
### Prove the environment path is ignored
|
|
68
|
+
|
|
69
|
+
Do this before the first credential is written. Ask git whether it ignores the environment
|
|
70
|
+
path, from the repository the path lives in:
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
git check-ignore -q <environment path>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Ask git rather than reading `.gitignore`. The answer also comes from a parent ignore file,
|
|
77
|
+
a global excludes file, or a pattern the developer already has, and reading one file gets
|
|
78
|
+
each of those wrong.
|
|
79
|
+
|
|
80
|
+
Exit zero means git ignores the path and nothing more is needed. Exit one means git tracks
|
|
81
|
+
the path, and the credential this run is about to write lands in the first commit. Add the
|
|
82
|
+
missing pattern to the ignore file the developer already keeps, and list that edit in the
|
|
83
|
+
plan with every other file change. Any other exit means there is no work tree here to
|
|
84
|
+
protect. Say so once and carry on.
|
|
85
|
+
|
|
86
|
+
If the path cannot be made ignored, stop onboarding and report it. Do not write the
|
|
87
|
+
credential and leave the problem in the closing report. A developer who commits before
|
|
88
|
+
reading the last screen has already published the token.
|
|
37
89
|
|
|
38
|
-
If valid project fields and a non-empty `
|
|
90
|
+
If valid project fields and a non-empty `CPK_INTELLIGENCE_API_KEY` already exist, use this
|
|
39
91
|
rule: Reuse that project without another question. Do not mint another key. The round-trip
|
|
40
92
|
proof later runs the authenticated Intelligence checks. Record the reused project
|
|
41
93
|
credentials as unverified in the plan until those checks pass.
|
|
94
|
+
If you reuse a project, set the project-record path to the exact evidence path from the
|
|
95
|
+
project research subagent.
|
|
96
|
+
|
|
97
|
+
If the developer needs a project, do the work yourself from the target directory.
|
|
98
|
+
Do not send the developer to another terminal.
|
|
99
|
+
|
|
100
|
+
Project selection writes the environment path. It updates the nearest project record from
|
|
101
|
+
the target through the repository root. If no project record exists there, it writes one at
|
|
102
|
+
the repository root. If no repository exists, use the target. If the repository root is the
|
|
103
|
+
home directory, use the target.
|
|
104
|
+
|
|
105
|
+
Before project selection, derive the expected project-record path from the repository
|
|
106
|
+
findings. Compare that path and the environment path with the initial protected paths. Use
|
|
107
|
+
the path-segment overlap rule. If either output path overlaps an initial protected path, do
|
|
108
|
+
not run project selection. Report the conflicting path and stop onboarding.
|
|
109
|
+
|
|
110
|
+
### Create a project for this directory
|
|
111
|
+
|
|
112
|
+
No project is bound to this directory, so creating a project for this directory is the
|
|
113
|
+
default. Take the name from the directory that holds the expected project-record path. If
|
|
114
|
+
that directory name is generic -- `project`, `app`, `apps`, `src`, `web`, `frontend`,
|
|
115
|
+
`backend`, `server`, `packages`, `repo` -- use the nearest enclosing directory whose name
|
|
116
|
+
is not. A generic name tells the developer nothing later, and every run that derives it
|
|
117
|
+
collides on it.
|
|
42
118
|
|
|
43
|
-
|
|
44
|
-
|
|
119
|
+
Ask one question: confirm that name, give another, or ask to use a project they already
|
|
120
|
+
have. Name that third answer, so a developer who has one is not asked to guess
|
|
121
|
+
that it is available. Do not list the organization's projects as part of the question: a
|
|
122
|
+
menu of projects is what bound one onboarding to another one's project, and a developer who
|
|
123
|
+
wants theirs will say so. If they ask for an existing project, take the branch below.
|
|
45
124
|
|
|
46
|
-
|
|
125
|
+
Do not combine this question with a frontend, framework, model, credential, or
|
|
126
|
+
plan-approval question. If no developer answers, create with the derived name. Never select
|
|
127
|
+
a project from a listing without an answer that names it. A project another run created
|
|
128
|
+
minutes ago reads exactly like this directory's own, and every check after the selection
|
|
129
|
+
passes against the wrong one.
|
|
130
|
+
|
|
131
|
+
Create it, from the target directory:
|
|
47
132
|
|
|
48
133
|
```text
|
|
49
|
-
npx --yes copilotkit@4.9.
|
|
134
|
+
npx --yes copilotkit@4.9.24 project select --create <name> --json
|
|
50
135
|
```
|
|
51
136
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
137
|
+
If the command fails as a duplicate, the organization already holds that display name and
|
|
138
|
+
the refusal names the colliding slug. Do not select the colliding project. Ask whether that
|
|
139
|
+
project is this app's. If no developer answers, run the command again with the next free
|
|
140
|
+
`-2`, `-3` suffix on the name.
|
|
141
|
+
|
|
142
|
+
### Select an existing project instead
|
|
143
|
+
|
|
144
|
+
Take this branch only when the developer asks for an existing project, or asks to see the
|
|
145
|
+
projects they have. Read the choices:
|
|
146
|
+
|
|
147
|
+
```text
|
|
148
|
+
npx --yes copilotkit@4.9.24 project list --json
|
|
149
|
+
```
|
|
56
150
|
|
|
57
|
-
|
|
151
|
+
Narrow them:
|
|
58
152
|
|
|
59
153
|
```text
|
|
60
|
-
npx --yes copilotkit@4.9.
|
|
154
|
+
npx --yes copilotkit@4.9.24 project list --search <query> --json
|
|
61
155
|
```
|
|
62
156
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
157
|
+
With `--json` the payload is the only thing on standard output, so it is safe to parse. Do
|
|
158
|
+
not run either list command unless the developer asks. Show what they asked for and nothing
|
|
159
|
+
more. Do not order the projects by creation time: the newest project in the organization is
|
|
160
|
+
the one another run created while this one was working, and it is the least likely to be
|
|
161
|
+
this directory's.
|
|
66
162
|
|
|
67
|
-
Then record
|
|
163
|
+
Then record the project they name, from the target directory:
|
|
68
164
|
|
|
69
165
|
```text
|
|
70
|
-
npx --yes copilotkit@4.9.
|
|
166
|
+
npx --yes copilotkit@4.9.24 project select --project <slug-or-id> --json
|
|
71
167
|
```
|
|
72
168
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
169
|
+
The two flags cannot be combined. A slug that does not exist fails and lists the real ones,
|
|
170
|
+
so a typo cannot record a selection that points at nothing.
|
|
171
|
+
|
|
172
|
+
Read the JSON result. It reports `selected_project_slug`, `config_path`,
|
|
173
|
+
`api_key_provisioned`, `project_file_written`, and `environment_file_written` at the top
|
|
174
|
+
level. The result does not contain a secret. Report `selected_project_slug` as the project
|
|
175
|
+
slug that the server selected or created. Require `api_key_provisioned`,
|
|
176
|
+
`project_file_written`, and `environment_file_written` to be true. If one is false, report
|
|
177
|
+
the error and stop onboarding. Key provisioning is non-fatal, so the command can persist a
|
|
178
|
+
selection and still exit zero with no key. A scaffold with no key looks finished and is not.
|
|
76
179
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
selected or created. Require `api_key_provisioned`, `project_file_written`, and
|
|
81
|
-
`environment_file_written` to be true. If one is false, report the error and stop
|
|
82
|
-
onboarding. Key provisioning is non-fatal, so the command can persist a selection and
|
|
83
|
-
still exit zero with no key. A scaffold with no key looks finished and is not.
|
|
180
|
+
After project selection, set the project-record path to the absolute `config_path` from the
|
|
181
|
+
JSON result. If it differs from the expected project-record path, report both paths and stop
|
|
182
|
+
onboarding.
|
|
84
183
|
|
|
85
184
|
Never print the payload or any secret value.
|
|
86
185
|
|
|
87
|
-
After a warning-free result, send the
|
|
88
|
-
|
|
186
|
+
After project reuse or a warning-free selection result, send the environment
|
|
187
|
+
research subagent a focused follow-up check. Give it the exact target app directory and both
|
|
188
|
+
credential paths. Require it to report these facts without values:
|
|
89
189
|
|
|
90
|
-
-
|
|
91
|
-
-
|
|
190
|
+
- The project-record path has non-empty `projectId`, `projectSlug`, and `clerkOrgId` fields.
|
|
191
|
+
- The environment path has a non-empty `CPK_INTELLIGENCE_API_KEY` entry.
|
|
92
192
|
- If project selection ran, its selected slug matches `projectSlug`.
|
|
93
193
|
- If project selection ran, the `.env` file was created or its modification time advanced.
|
|
94
194
|
|
|
@@ -96,6 +196,10 @@ Do not print either file or any secret value. If a check fails, stop onboarding.
|
|
|
96
196
|
selection success message alone does not prove key readiness. The CLI cannot prove key scope
|
|
97
197
|
before an authenticated Intelligence call succeeds.
|
|
98
198
|
|
|
199
|
+
Continue only if the environment follow-up result starts with `Status: passed`. Retain the
|
|
200
|
+
project-record path and environment path as the credential setup path list. Do not add them
|
|
201
|
+
to the baseline yet.
|
|
202
|
+
|
|
99
203
|
## Where a model credential comes from
|
|
100
204
|
|
|
101
205
|
The plan names the model credential variables. Finding their values is not its job.
|
|
@@ -114,6 +218,28 @@ If no answer comes, stop. Do not write a placeholder or an empty value. A scaffo
|
|
|
114
218
|
carrying a dummy key looks finished and fails at the first model call, which is worse
|
|
115
219
|
than stopping here.
|
|
116
220
|
|
|
221
|
+
After model credential placement is complete, add each credential setup path to the
|
|
222
|
+
protected path list. Also add each project file that the developer changed for model
|
|
223
|
+
credentials. Record them in the baseline from the target app directory:
|
|
224
|
+
|
|
225
|
+
```text
|
|
226
|
+
npx --yes copilotkit@4.9.24 onboard protect --path <path>
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Pass one `--path` for each. The command captures a digest for each path and never re-reads
|
|
230
|
+
a path the baseline already holds.
|
|
231
|
+
|
|
232
|
+
Then re-capture the files this graph wrote itself. For each path the first capture printed
|
|
233
|
+
as `deferred` that this run has now written, run:
|
|
234
|
+
|
|
235
|
+
```text
|
|
236
|
+
npx --yes copilotkit@4.9.24 onboard protect --rebaseline --path <path>
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
From that point they are protected like any other path, so a later step that rewrites
|
|
240
|
+
`.env` and drops its key fails the audit rather than passing it. Continue only if every
|
|
241
|
+
result starts with `Status: passed`.
|
|
242
|
+
|
|
117
243
|
## Wire the runtime to Intelligence
|
|
118
244
|
|
|
119
245
|
The key in `.env` does nothing on its own. The runtime reads no environment variable for
|
|
@@ -130,10 +256,19 @@ proof subagents:
|
|
|
130
256
|
|
|
131
257
|
Fetch them together with the pages already selected rather than on their own.
|
|
132
258
|
|
|
133
|
-
Spawn one planning subagent.
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
259
|
+
Spawn one planning subagent. Tell it to run
|
|
260
|
+
`npx --yes copilotkit@4.9.24 onboard read subagent/create-plan` first and follow the prompt
|
|
261
|
+
it returns. If that read fails because the subagent cannot use the shell, stop that subagent.
|
|
262
|
+
Run the same command yourself, then spawn a fresh subagent with the returned prompt and the
|
|
263
|
+
same handoff. Give it the repository findings, selected framework, frontend, model, credential
|
|
264
|
+
variable names, selected documentation URLs, and documentation policy. On a conversion, also
|
|
265
|
+
give it the frozen criterion. Give the planning subagent the updated protected path list.
|
|
266
|
+
Wait for the subagent to finish.
|
|
267
|
+
|
|
268
|
+
Continue only if the planning result starts with `Status: passed`. For `Status: failed`,
|
|
269
|
+
send the result back to the planning subagent for repair, up to three attempts. For
|
|
270
|
+
`Status: blocked`, or a third failed result, use the unsupported route below. Do not show or
|
|
271
|
+
ask for approval of a non-pass plan.
|
|
137
272
|
|
|
138
273
|
Make sure that the plan preserves each part that already exists. The plan must name the
|
|
139
274
|
credential variables, the Intelligence runtime wiring, the application the project asks
|
|
@@ -141,113 +276,14 @@ for, implementation steps, validation steps, and proof steps. Where the plan upg
|
|
|
141
276
|
CopilotKit dependencies, it must name the versions it moves and the revert it falls back
|
|
142
277
|
to. It must not contain secret values.
|
|
143
278
|
|
|
144
|
-
Show only the selected framework, frontend, model, planned file changes, the CopilotKit dependency upgrade and the versions it moves, validation commands, and proof steps.
|
|
279
|
+
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, validation commands, and proof steps.
|
|
145
280
|
|
|
146
281
|
An upgrade to a working install is the developer's call, so it belongs in the plan they
|
|
147
282
|
approve rather than in the implementation that follows. Do not upgrade a dependency the
|
|
148
283
|
developer did not approve.
|
|
149
284
|
|
|
150
285
|
If the developer approves the plan, run
|
|
151
|
-
`npx --yes copilotkit@4.9.
|
|
286
|
+
`npx --yes copilotkit@4.9.24 onboard read implementation/build-and-validate`.
|
|
152
287
|
|
|
153
288
|
If no exact supported path or documentation URL exists, run
|
|
154
|
-
`npx --yes copilotkit@4.9.
|
|
155
|
-
|
|
156
|
-
## Planning subagent brief
|
|
157
|
-
|
|
158
|
-
Everything below the rule is the subagent's prompt. Give it verbatim.
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
# Create the onboarding plan
|
|
163
|
-
|
|
164
|
-
Use the selected framework, frontend, model, repository findings, and documentation URLs
|
|
165
|
-
from the main coding agent. Follow the documentation policy it gives you.
|
|
166
|
-
|
|
167
|
-
Name the application the project asks for, and plan that application. Each documentation
|
|
168
|
-
page teaches through one worked example, and that example carries a domain of its own.
|
|
169
|
-
The domain belongs to the page. Use the purpose from the repository findings, or the
|
|
170
|
-
developer outcome if the repository purpose was unproved. Do not ask for it again. Where
|
|
171
|
-
the documentation example differs from that purpose, the project wins.
|
|
172
|
-
|
|
173
|
-
Read only inside the project directory. Answer an API question from the documentation
|
|
174
|
-
URLs you were given, not from another checkout on this machine.
|
|
175
|
-
|
|
176
|
-
List the required credential variable names. Do not read or return credential values.
|
|
177
|
-
Preserve each agent or frontend that already exists.
|
|
178
|
-
|
|
179
|
-
Plan the runtime to consume the Intelligence credential. The runtime takes an
|
|
180
|
-
`intelligence` option holding a client built from the project key. A runtime given a
|
|
181
|
-
`runner` option instead is the OSS runtime. It never reads the Intelligence key, and the
|
|
182
|
-
Inspector reads the project as locked. The default in-memory OSS runner is ephemeral.
|
|
183
|
-
SQLite, custom, or framework persistence can be durable. The two options cannot be
|
|
184
|
-
combined. Take the constructor from the connect-your-runtime page. Where a framework
|
|
185
|
-
quickstart shows a `runner` option instead, the connect-your-runtime page wins.
|
|
186
|
-
|
|
187
|
-
When the starting state is `both-oss`, use its recorded live baseline evidence. Preserve
|
|
188
|
-
the working agent, frontend, CopilotKit integration, and OSS behavior. Plan the project
|
|
189
|
-
selection, the CopilotKit dependency upgrade below, the Intelligence runtime
|
|
190
|
-
configuration, and the authenticated proof needed for the conversion. Preserve the
|
|
191
|
-
existing persistence and user-visible request. Do not rebuild a path that already works.
|
|
192
|
-
|
|
193
|
-
Preserving the OSS baseline preserves the application, not its CopilotKit dependency
|
|
194
|
-
versions. An install that predates the managed platform defaults carries a bundled
|
|
195
|
-
reference naming hosts that route nothing, and it requires the platform URLs the same
|
|
196
|
-
documentation calls optional. A run that reads that reference configures the runtime
|
|
197
|
-
against a dead host, and the failure arrives as an empty-body 404 with no cause named.
|
|
198
|
-
|
|
199
|
-
If any `@copilotkit/*` dependency is below 1.64.0, plan to upgrade every `@copilotkit/*`
|
|
200
|
-
dependency to its latest published version. Packages that share a version line must end
|
|
201
|
-
on the same version. Never force a package onto a version line it does not publish on.
|
|
202
|
-
Resolve each latest version at run time rather than from a remembered version number.
|
|
203
|
-
Where every `@copilotkit/*` dependency already meets that floor, plan no dependency
|
|
204
|
-
change.
|
|
205
|
-
|
|
206
|
-
Plan the upgrade as its own step before the Intelligence runtime wiring, and plan to
|
|
207
|
-
re-run the recorded baseline checks immediately after it. Name the revert: restore the
|
|
208
|
-
manifest and lockfile to their recorded state and stop, rather than wiring Intelligence
|
|
209
|
-
onto a baseline the upgrade broke.
|
|
210
|
-
|
|
211
|
-
Where the SDK requires an application-level value that the repository cannot supply, such
|
|
212
|
-
as an end-user identity for threads, use one clearly marked local placeholder and name what
|
|
213
|
-
production requires instead. Do not stop onboarding to ask the developer for it.
|
|
214
|
-
|
|
215
|
-
Check whether the existing agent performs unattended side effects, such as paging, sending
|
|
216
|
-
notifications, writing to an external system, or creating tickets. If it does, the new
|
|
217
|
-
conversational surface must not trigger them. Wrap only the reasoning steps, or require an
|
|
218
|
-
explicit developer confirmation before the side effect can run. Name each side effect you
|
|
219
|
-
found and state how the plan avoids it.
|
|
220
|
-
|
|
221
|
-
If the value of the journey depends on data the project already holds, name that data,
|
|
222
|
-
name where it lives, and name how it reaches the agent. Rendering a list in the DOM does
|
|
223
|
-
not give the agent access to it. An agent wired without the page's data answers from
|
|
224
|
-
entities it invents, and the answer looks correct. Take the frontend-context step from
|
|
225
|
-
the selected documentation. Where no selected page documents it for this framework or
|
|
226
|
-
frontend, record that as a documentation gap rather than guessing the API.
|
|
227
|
-
|
|
228
|
-
Where that data exists, name the entities the proof compares against: the ids, names, or
|
|
229
|
-
records the project holds and the answer has to reference. Where the outcome references
|
|
230
|
-
no project data, say so in the plan, so that the proof asks for evidence this journey can
|
|
231
|
-
produce.
|
|
232
|
-
|
|
233
|
-
Create one plan for implementation, validation, and proof. Name each file or area that can
|
|
234
|
-
change. Name the commands that can validate the result.
|
|
235
|
-
Name the commands or user path that prove a real generative-UI round trip.
|
|
236
|
-
|
|
237
|
-
Keep a production build out of the validation commands. A type check plus the real round
|
|
238
|
-
trip is the proof, and the round trip runs in development mode. Name the production build
|
|
239
|
-
as a follow-up for the developer instead. Never raise a bundle budget or relax a lint rule
|
|
240
|
-
to make a build pass during onboarding.
|
|
241
|
-
|
|
242
|
-
The type check runs against the project's own configuration. If the project has no
|
|
243
|
-
type-check command, add one that uses the configuration the project already has.
|
|
244
|
-
Do not add compiler strictness the project did not have. Nothing later in the run is
|
|
245
|
-
allowed to weaken type safety, so a stricter gate named here is one the run cannot get
|
|
246
|
-
back out of.
|
|
247
|
-
|
|
248
|
-
Gather what you need in as few commands as possible. Combine independent reads into one
|
|
249
|
-
command rather than running them one at a time. Split a command only when its result decides
|
|
250
|
-
what you run next.
|
|
251
|
-
|
|
252
|
-
Return the plan, the URLs that you read, and each documentation gap. Stop after you return
|
|
253
|
-
the findings to the main coding agent.
|
|
289
|
+
`npx --yes copilotkit@4.9.24 onboard read unsupported/no-validated-path`.
|
|
@@ -4,7 +4,7 @@ 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 `
|
|
7
|
+
Keep `CPK_INTELLIGENCE_API_KEY` separate from every model-vendor credential. Do not read,
|
|
8
8
|
show, store, or copy either credential.
|
|
9
9
|
|
|
10
10
|
This documentation policy applies to every framework and frontend route below. Deduplicate
|
|
@@ -46,6 +46,11 @@ These are the agent frameworks and their default vendors:
|
|
|
46
46
|
| Strands Agents (Python) | OpenAI |
|
|
47
47
|
| Strands Agents (TypeScript) | OpenAI |
|
|
48
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
|
+
|
|
49
54
|
If the project already has an agent in a listed framework, preserve that framework and
|
|
50
55
|
its model setup. Ask only about choices that remain unknown.
|
|
51
56
|
|
|
@@ -63,26 +68,26 @@ another framework. Do not show the internal route.
|
|
|
63
68
|
|
|
64
69
|
Use exactly one matching internal route:
|
|
65
70
|
|
|
66
|
-
1. AG2: `npx --yes copilotkit@4.9.
|
|
67
|
-
2. Agno: `npx --yes copilotkit@4.9.
|
|
68
|
-
3. Built-in CopilotKit agent: `npx --yes copilotkit@4.9.
|
|
69
|
-
4. Claude Agent SDK Python: `npx --yes copilotkit@4.9.
|
|
70
|
-
5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.9.
|
|
71
|
-
6. CrewAI Flows: `npx --yes copilotkit@4.9.
|
|
72
|
-
7. Deep Agents: `npx --yes copilotkit@4.9.
|
|
73
|
-
8. LangGraph Python: `npx --yes copilotkit@4.9.
|
|
74
|
-
9. LangGraph FastAPI: `npx --yes copilotkit@4.9.
|
|
75
|
-
10. LangGraph TypeScript: `npx --yes copilotkit@4.9.
|
|
76
|
-
11. LlamaIndex: `npx --yes copilotkit@4.9.
|
|
77
|
-
12. ADK: `npx --yes copilotkit@4.9.
|
|
78
|
-
13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.9.
|
|
79
|
-
14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.9.
|
|
80
|
-
15. Mastra: `npx --yes copilotkit@4.9.
|
|
81
|
-
16. MS Agent Harness .NET: `npx --yes copilotkit@4.9.
|
|
82
|
-
17. Pydantic AI: `npx --yes copilotkit@4.9.
|
|
83
|
-
18. Strands Agents Python: `npx --yes copilotkit@4.9.
|
|
84
|
-
19. Strands Agents TypeScript: `npx --yes copilotkit@4.9.
|
|
71
|
+
1. AG2: `npx --yes copilotkit@4.9.24 onboard read framework/ag2`
|
|
72
|
+
2. Agno: `npx --yes copilotkit@4.9.24 onboard read framework/agno`
|
|
73
|
+
3. Built-in CopilotKit agent: `npx --yes copilotkit@4.9.24 onboard read framework/built-in`
|
|
74
|
+
4. Claude Agent SDK Python: `npx --yes copilotkit@4.9.24 onboard read framework/claude-sdk-python`
|
|
75
|
+
5. Claude Agent SDK TypeScript: `npx --yes copilotkit@4.9.24 onboard read framework/claude-sdk-typescript`
|
|
76
|
+
6. CrewAI Flows: `npx --yes copilotkit@4.9.24 onboard read framework/crewai-flows`
|
|
77
|
+
7. Deep Agents: `npx --yes copilotkit@4.9.24 onboard read framework/deep-agents`
|
|
78
|
+
8. LangGraph Python: `npx --yes copilotkit@4.9.24 onboard read framework/langgraph-python`
|
|
79
|
+
9. LangGraph FastAPI: `npx --yes copilotkit@4.9.24 onboard read framework/langgraph-fastapi`
|
|
80
|
+
10. LangGraph TypeScript: `npx --yes copilotkit@4.9.24 onboard read framework/langgraph-typescript`
|
|
81
|
+
11. LlamaIndex: `npx --yes copilotkit@4.9.24 onboard read framework/llamaindex`
|
|
82
|
+
12. ADK: `npx --yes copilotkit@4.9.24 onboard read framework/google-adk`
|
|
83
|
+
13. Microsoft Agent Framework Python: `npx --yes copilotkit@4.9.24 onboard read framework/ms-agent-python`
|
|
84
|
+
14. Microsoft Agent Framework .NET: `npx --yes copilotkit@4.9.24 onboard read framework/ms-agent-dotnet`
|
|
85
|
+
15. Mastra: `npx --yes copilotkit@4.9.24 onboard read framework/mastra`
|
|
86
|
+
16. MS Agent Harness .NET: `npx --yes copilotkit@4.9.24 onboard read framework/ms-agent-harness-dotnet`
|
|
87
|
+
17. Pydantic AI: `npx --yes copilotkit@4.9.24 onboard read framework/pydantic-ai`
|
|
88
|
+
18. Strands Agents Python: `npx --yes copilotkit@4.9.24 onboard read framework/strands-python`
|
|
89
|
+
19. Strands Agents TypeScript: `npx --yes copilotkit@4.9.24 onboard read framework/strands-typescript`
|
|
85
90
|
|
|
86
91
|
If the project has an agent in another framework, or no listed framework fits, keep the
|
|
87
92
|
developer's current agent and run
|
|
88
|
-
`npx --yes copilotkit@4.9.
|
|
93
|
+
`npx --yes copilotkit@4.9.24 onboard read unsupported/no-validated-path`.
|
|
@@ -3,37 +3,117 @@
|
|
|
3
3
|
Work only in the target project directory. Do not read, show, store, or request a secret
|
|
4
4
|
value.
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
Give it the approved plan, repository findings, target project directory, and all official
|
|
8
|
-
documentation that you fetched for the plan.
|
|
6
|
+
This fallback contains unproved steps. Use the approved plan in step order.
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
It can combine compatible APIs from different official pages when one page omits the
|
|
12
|
-
selected framework and frontend combination.
|
|
8
|
+
## If you stop in this fallback
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
```text
|
|
17
|
+
npx --yes copilotkit@4.9.24 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.24 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`.
|
|
23
100
|
|
|
24
|
-
Do not block core proof on CopilotKit Skills or MCP configuration.
|
|
25
|
-
the
|
|
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.
|
|
26
106
|
|
|
27
107
|
Report the documentation gap and each assumption with the proof evidence. Do not claim
|
|
28
108
|
that the selected documentation proved an inferred step.
|
|
29
109
|
|
|
30
|
-
When the proof is complete, run `npx --yes copilotkit@4.9.
|
|
110
|
+
When the proof is complete, run `npx --yes copilotkit@4.9.24 onboard complete`, carrying the
|
|
31
111
|
surface-check result the proof subagent returned. Pass exactly one flag, matching this
|
|
32
112
|
journey's surface:
|
|
33
113
|
|
|
34
114
|
```text
|
|
35
|
-
npx --yes copilotkit@4.9.
|
|
36
|
-
npx --yes copilotkit@4.9.
|
|
115
|
+
npx --yes copilotkit@4.9.24 onboard complete --visual-check <outcome>
|
|
116
|
+
npx --yes copilotkit@4.9.24 onboard complete --device-check <outcome>
|
|
37
117
|
```
|
|
38
118
|
|
|
39
119
|
`--visual-check` is for a web frontend and takes `performed`, `skipped-no-browser-tool`, or
|
|
@@ -42,6 +122,7 @@ or `failed`. Anything but `performed` ends this run as blocked, and the command'
|
|
|
42
122
|
names the evidence that is missing. Report it that way.
|
|
43
123
|
|
|
44
124
|
If the proof passed and something after it still blocked this run, add
|
|
45
|
-
`--blocked-by <cause>` to the same command, with one of `
|
|
46
|
-
|
|
47
|
-
|
|
125
|
+
`--blocked-by <cause>` to the same command, with one of `inspector`, `plan-excluded-capability`,
|
|
126
|
+
or `other`. It ends the run as blocked and names what the blocker leaves unverified. The
|
|
127
|
+
managed Intelligence dashboard is not a cause, because nothing in this graph asks a run to
|
|
128
|
+
open it.
|