copilotkit 4.8.3 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +183 -2
  2. package/cli-build-info.json +7 -7
  3. package/index.js +5645 -3567
  4. package/onboarding/index.json +33 -33
  5. package/onboarding/prompts/authenticate/start.md +63 -10
  6. package/onboarding/prompts/credentials/finalize-plan.md +168 -15
  7. package/onboarding/prompts/credentials/plan.md +55 -49
  8. package/onboarding/prompts/fallback/best-effort.md +29 -0
  9. package/onboarding/prompts/framework/ag2.md +33 -7
  10. package/onboarding/prompts/framework/agno.md +32 -7
  11. package/onboarding/prompts/framework/built-in.md +30 -8
  12. package/onboarding/prompts/framework/claude-sdk-python.md +35 -7
  13. package/onboarding/prompts/framework/claude-sdk-typescript.md +39 -7
  14. package/onboarding/prompts/framework/crewai-flows.md +41 -7
  15. package/onboarding/prompts/framework/deep-agents.md +30 -6
  16. package/onboarding/prompts/framework/google-adk.md +32 -8
  17. package/onboarding/prompts/framework/langgraph-fastapi.md +24 -5
  18. package/onboarding/prompts/framework/langgraph-python.md +15 -5
  19. package/onboarding/prompts/framework/langgraph-typescript.md +15 -5
  20. package/onboarding/prompts/framework/llamaindex.md +35 -7
  21. package/onboarding/prompts/framework/mastra.md +48 -6
  22. package/onboarding/prompts/framework/ms-agent-dotnet.md +57 -7
  23. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +48 -8
  24. package/onboarding/prompts/framework/ms-agent-python.md +32 -7
  25. package/onboarding/prompts/framework/pydantic-ai.md +34 -9
  26. package/onboarding/prompts/framework/strands-python.md +28 -9
  27. package/onboarding/prompts/framework/strands-typescript.md +28 -9
  28. package/onboarding/prompts/frontend/angular.md +20 -5
  29. package/onboarding/prompts/frontend/nextjs.md +13 -3
  30. package/onboarding/prompts/frontend/plan.md +20 -19
  31. package/onboarding/prompts/frontend/react-native.md +9 -3
  32. package/onboarding/prompts/frontend/react-spa.md +20 -5
  33. package/onboarding/prompts/frontend/vue.md +9 -3
  34. package/onboarding/prompts/implementation/build-and-validate.md +82 -7
  35. package/onboarding/prompts/proof/complete.md +63 -2
  36. package/onboarding/prompts/proof/oss-baseline.md +59 -0
  37. package/onboarding/prompts/proof/round-trip.md +150 -8
  38. package/onboarding/prompts/subagent/create-plan.md +69 -2
  39. package/onboarding/prompts/subagent/implement-and-validate.md +48 -3
  40. package/onboarding/prompts/subagent/inspect-repository.md +13 -3
  41. package/onboarding/prompts/subagent/prove-oss-baseline.md +35 -0
  42. package/onboarding/prompts/subagent/prove-round-trip.md +118 -11
  43. package/onboarding/prompts/unsupported/no-validated-path.md +27 -9
  44. package/package.json +1 -1
  45. package/release/release-tool.js +32 -4
  46. package/onboarding/prompts/frontend/slack.md +0 -20
  47. package/onboarding/prompts/frontend/teams.md +0 -20
@@ -1,13 +1,88 @@
1
1
  # Implement and validate the plan
2
2
 
3
- Do not implement the plan yourself. Spawn one implementation subagent. Tell it to run
4
- `npx copilotkit@4.8.3 onboard read subagent/implement-and-validate`.
3
+ Do not implement the plan yourself. Spawn one implementation subagent.
5
4
 
6
- Give the subagent the approved plan, selected framework, frontend, model, repository
7
- findings, and selected documentation URLs. Wait for the subagent to finish.
5
+ Give the subagent the full text of the implementation brief at the end of this prompt, the
6
+ approved plan, selected framework, frontend, model, repository findings, and selected
7
+ documentation URLs.
8
+ Wait for the subagent to finish.
8
9
 
9
10
  If all implementation and validation steps pass, run
10
- `npx copilotkit@4.8.3 onboard read proof/round-trip`.
11
+ `npx --yes copilotkit@4.9.0 onboard read proof/round-trip`.
11
12
 
12
- If a step fails or the documentation does not support the plan, run
13
- `npx copilotkit@4.8.3 onboard read unsupported/no-validated-path`.
13
+ If a validation command fails, decide which kind of failure it is before you route.
14
+
15
+ A failure in a file this run created or changed is a defect in the new work, not a limit
16
+ of this release. Fix it and run the same command again. Do not continue to the next step
17
+ until that command passes. Make at most three repair attempts per command.
18
+
19
+ Route out only when the failure is not yours to fix: the failure is in code this run did
20
+ not write, or the fix requires changing the developer's existing agent or frontend,
21
+ or the same command still fails after three repair attempts, or the documentation does not
22
+ support the plan. In those cases run
23
+ `npx --yes copilotkit@4.9.0 onboard read unsupported/no-validated-path`.
24
+
25
+ ## Implementation subagent brief
26
+
27
+ Everything below the rule is the subagent's prompt. Give it verbatim.
28
+
29
+ ---
30
+
31
+ # Implement and validate the approved plan
32
+
33
+ Use only the approved plan and the selected documentation URLs. Fetch every URL in one
34
+ step, before you change the project, rather than one after another.
35
+ Do not use remembered CopilotKit instructions.
36
+
37
+ A fetch tool that refuses a URL, or fails to reach it, reports a limit of the tool and
38
+ not a fact about the page. Retrieve the same URL a second way before you judge it. Run
39
+ `curl -fsSL <url>`, or read the same page without the `.md` suffix. Report a
40
+ documentation gap only after a second method also fails.
41
+
42
+ Add only the props, options, and imports that appear in the fetched documentation. A
43
+ remembered API from an earlier CopilotKit version will fail type checking against this
44
+ release, so do not decorate a documented example with anything it does not show.
45
+
46
+ The documentation supplies the wiring. The project supplies the application. That rule
47
+ governs props, options, and imports, and it stops there. A documentation example names a
48
+ domain of its own to make itself readable. Build what the plan names, in the project's
49
+ own domain, from the wiring the page shows. Do not carry the page's example domain into
50
+ the project: not its agent name, not its tools, not its data.
51
+
52
+ Preserve each agent or frontend that already exists. Add only the missing parts and the
53
+ CopilotKit connection. Do not read, show, store, or return secret values. Do not read a
54
+ file outside the project directory: not for a credential, and not for an API question the
55
+ fetched documentation answers. A missing credential is the main coding agent's to ask
56
+ for.
57
+
58
+ For a recorded `both-oss` baseline, preserve the existing agent, frontend, CopilotKit
59
+ integration, user-visible request, and runtime behavior. Do not replace the existing
60
+ persistence. Change only the approved project selection and Intelligence runtime wiring.
61
+ Run the recorded baseline checks after the change and report any regression.
62
+
63
+ When the documentation creates the frontend with the framework's own scaffolder,
64
+ run that scaffolder rather than hand-authoring what it emits.
65
+ Do not re-declare a compiler option it set. Every real project of that framework
66
+ inherits those defaults, so a hand-written replacement measures a configuration no
67
+ developer has. Where the plan needs configuration the scaffolder did not write,
68
+ extend the scaffolder's file and set only what you add.
69
+
70
+ Where the plan names data the project already holds, share that data with the agent
71
+ through the context API the selected documentation names for this frontend. Then write the agent's instructions to
72
+ refuse to answer about entities the shared context does not carry, and to name what is
73
+ missing instead. An agent with no context and no refusal invents plausible entities, and
74
+ no part of the run errors.
75
+
76
+ Run the validation commands from the approved plan. Record the changed files, command
77
+ results, and each error. Do not claim that the real user journey works in this phase.
78
+
79
+ Report the runtime constructor you wrote. Name whether it passes `intelligence` or
80
+ `runner`. A runtime built with `runner` is the SSE runtime and never reads the credential,
81
+ whatever the browser shows.
82
+
83
+ Gather what you need in as few commands as possible. Combine independent reads into one
84
+ command rather than running them one at a time. Split a command only when its result decides
85
+ what you run next.
86
+
87
+ Return the implementation result and validation evidence to the main coding agent. Stop
88
+ after you return the result.
@@ -3,5 +3,66 @@
3
3
  Report the selected framework, frontend, model, and complete round-trip evidence to the developer.
4
4
  Report the exact interaction, visible result, validation commands, and evidence locations.
5
5
 
6
- Do not complete onboarding without this evidence. When the evidence is complete, run
7
- `npx copilotkit@4.8.3 onboard complete`.
6
+ Do not complete onboarding without this evidence.
7
+
8
+ Report whether the real UI was driven in a browser, using the outcome the proof subagent
9
+ returned. Do not soften it and do not leave it out: a run that never drove the UI proved
10
+ the agent, not the browser path, and the developer needs to know which they have.
11
+
12
+ Report only the project this run worked in. The summary and every report below describe
13
+ that project and nothing else. Do not name or describe a file outside the project
14
+ directory: not its path, not its contents, not how long a value in it is, not whether it
15
+ holds one. A path the developer named is theirs to give this run, not this run's to
16
+ record. A friction report leaves the machine, and a completion summary is durable. The
17
+ file's owner chose neither.
18
+
19
+ The summary is the developer's handoff, not this run's retrospective. Report what was
20
+ built, the round trip and its evidence, the validation commands, where the evidence is,
21
+ and how to start it again. Report a failed check as part of that evidence. Say nothing
22
+ about what this run found awkward in the onboarding graph, the documentation, or the CLI.
23
+ A defect this run hit belongs in the summary only as the thing the developer must do
24
+ about it: keep this version pin, wire this constructor, run this build. It never appears
25
+ as an account of hitting it. No count of what went wrong, no list of fixes made along the
26
+ way, no argument that a failed check is not a defect.
27
+
28
+ The handoff must include:
29
+
30
+ - The URL of the running app.
31
+ - The command that starts the app in the future.
32
+ - How to use the CopilotKit Inspector.
33
+ - How to use https://intelligence.copilotkit.ai to manage the Intelligence installation.
34
+ - The process IDs and stop commands for the running agent and frontend.
35
+
36
+ State that the servers remain running after proof.
37
+
38
+ If the developer permitted external feedback at the start, report each thing that slowed
39
+ this run down. Send at most four reports, worst first:
40
+
41
+ ```text
42
+ npx --yes copilotkit@4.9.0 onboard friction --category <slug> --cost-seconds <seconds>
43
+ ```
44
+
45
+ Write one or two sentences on the command's standard input. Pick one category from
46
+ docs-missing, docs-wrong, docs-sequential, cli-gap, sdk-gap, environment,
47
+ port-collision, credential, validation-loop, and other. For the seconds, give your
48
+ own estimate of what that one papercut cost this run.
49
+
50
+ Send no secrets, source code, logs, or command output. The command refuses a report
51
+ that carries any of those, prints the reason, and exits zero. A refused report is not
52
+ a failed step and not a failed onboarding run. Reword it and send it again, or move
53
+ on. A run that proves a round trip is complete whether or not it reported friction.
54
+
55
+ Tell the developer when you send a friction report. Do not quote or summarize the report
56
+ unless the developer asks. If the developer did not permit feedback, do not run a friction
57
+ command.
58
+
59
+ When the evidence is complete, run `npx --yes copilotkit@4.9.0 onboard complete`, carrying
60
+ the visual-check outcome the proof subagent returned:
61
+
62
+ ```text
63
+ npx --yes copilotkit@4.9.0 onboard complete --visual-check <outcome>
64
+ ```
65
+
66
+ The outcome is one of `performed`, `skipped-no-browser-tool`, or `failed`. The command
67
+ prints what a skipped visual check leaves unverified, so pass the outcome you were given
68
+ rather than the one you wanted.
@@ -0,0 +1,59 @@
1
+ # Prove the existing OSS baseline
2
+
3
+ Do not prove the baseline yourself. Spawn one proof subagent.
4
+
5
+ Give the subagent the full text of the baseline brief at the end of this prompt, the
6
+ repository findings, and the exact CLI package spec. Wait for the subagent to finish.
7
+
8
+ Do not change project files before this proof ends. Starting existing development
9
+ processes and their ignored runtime files is allowed.
10
+
11
+ If the subagent proves the `both-oss` predicate, keep its evidence with the plan. If it
12
+ proves another supported starting state, record that state. In either case, run
13
+ `npx --yes copilotkit@4.9.0 onboard read credentials/plan`.
14
+
15
+ If it cannot identify the running process safely, exposes a secret, or finds a baseline
16
+ failure that cannot be classified, run
17
+ `npx --yes copilotkit@4.9.0 onboard read unsupported/no-validated-path`.
18
+
19
+ ## Baseline proof subagent brief
20
+
21
+ Everything below the rule is the subagent's prompt. Give it verbatim.
22
+
23
+ ---
24
+
25
+ # Prove the existing OSS CopilotKit baseline
26
+
27
+ Read and run only inside the project directory. Do not edit source, configuration,
28
+ dependencies, or tracked files. Do not read, show, store, or return secret values.
29
+
30
+ Find the expected agent id from the project. Start the existing agent and frontend only
31
+ when they are not already running. Before using a port, identify its process and working
32
+ directory. Do not stop a process outside this project.
33
+
34
+ Prove the live runtime in this order:
35
+
36
+ 1. GET `/info` from the project's CopilotKit runtime and require a valid response.
37
+ 2. Require `/info` to declare the expected agent id.
38
+ 3. Confirm that `licenseStatus` is absent. Its presence means the live runtime uses
39
+ Intelligence and is not an OSS starting state.
40
+ 4. Confirm from project files that the runtime constructor passes a `runner` option rather
41
+ than an `intelligence` option. A package, import, project file, or key is not use proof.
42
+ 5. Run
43
+ `npx --yes copilotkit@4.9.0 verify --expect-runtime oss --round-trip --agent <expected-agent-id> --json`,
44
+ with the runtime URL or auth header options that this project needs. Require exit zero
45
+ and the JSON `ok` field to be `true`.
46
+ 6. Drive one real request through the existing frontend, CopilotKit runtime, and expected
47
+ agent. Require the existing user-visible result. If no browser tool is available, the
48
+ round trip is not proved and the state is `unproved`.
49
+
50
+ Classify the state as `both-oss` only when all six predicates are true: agent present,
51
+ interface present, CopilotKit present, CopilotKit round trip proven, runtime connection
52
+ `oss`, and managed Intelligence not configured. Return each predicate and its secret-safe
53
+ evidence.
54
+
55
+ The default in-memory OSS runner is ephemeral. SQLite, custom, or framework persistence
56
+ can be durable. Report the persistence that project evidence proves, or `unproved`. Do not
57
+ replace it and do not describe all OSS runs as ephemeral.
58
+
59
+ Stop after returning the baseline result, process ids and ports used, and evidence paths.
@@ -1,16 +1,158 @@
1
1
  # Prove the user journey
2
2
 
3
- Do not do the proof work yourself. Spawn one proof subagent. Tell it to run
4
- `npx copilotkit@4.8.3 onboard read subagent/prove-round-trip`.
3
+ Do not do the proof work yourself. Spawn one proof subagent.
5
4
 
6
- Give the subagent the selected framework, frontend, model, approved plan, selected
7
- documentation URLs, and validation evidence. Wait for the subagent to finish.
5
+ Give the subagent the full text of the proof brief at the end of this prompt, the selected
6
+ framework, frontend, model, approved plan, selected documentation URLs, and validation
7
+ evidence.
8
+ Wait for the subagent to finish.
8
9
 
9
10
  Give the subagent this guide for continued-development tools:
10
11
  https://docs.copilotkit.ai/build-with-agents.md
11
12
 
12
- If the subagent proves the complete round trip and configures the tools, run
13
- `npx copilotkit@4.8.3 onboard read proof/complete`.
13
+ If the subagent proves the complete round trip, run
14
+ `npx --yes copilotkit@4.9.0 onboard read proof/complete`. The round trip proves core success
15
+ even if a continued-development tool fails. Keep the Skills and MCP results separate from
16
+ the proof result.
14
17
 
15
- If the round trip fails or lacks evidence, run
16
- `npx copilotkit@4.8.3 onboard read unsupported/no-validated-path`.
18
+ If the round trip fails, decide which kind of failure it is before you route. A failure
19
+ caused by a file this run created or changed is a defect in the new work. Send it back to
20
+ the proof subagent to fix and prove again, at most three attempts.
21
+
22
+ Route out only when the failure is not yours to fix, when the same proof still fails after
23
+ three attempts, or when no evidence of the round trip can be produced. In those cases run
24
+ `npx --yes copilotkit@4.9.0 onboard read unsupported/no-validated-path`.
25
+
26
+ ## Proof subagent brief
27
+
28
+ Everything below the rule is the subagent's prompt. Give it verbatim.
29
+
30
+ ---
31
+
32
+ # Prove the complete round trip
33
+
34
+ Use the proof steps and documentation URLs from the approved plan. Fetch every selected
35
+ URL in one step before you start, rather than one after another.
36
+ Do not use remembered CopilotKit instructions.
37
+
38
+ A fetch tool that refuses a URL, or fails to reach it, reports a limit of the tool and
39
+ not a fact about the page. Retrieve the same URL a second way before you judge it. Run
40
+ `curl -fsSL <url>`, or read the same page without the `.md` suffix. Report a
41
+ documentation gap only after a second method also fails.
42
+
43
+ Read the port the developer's agent already serves from this project's own
44
+ configuration. Do not assume a default, and do not start a second copy of an agent this
45
+ project is already running. Before you bind any new server, check that the port is free
46
+ and pick another one if it is not. Record every port you used.
47
+
48
+ Start the agent and the selected frontend.
49
+
50
+ Leave the agent and frontend servers running after proof. Record each process ID and a
51
+ safe command that stops that process. Record the frontend URL and the commands that start
52
+ both servers again.
53
+
54
+ With both running, check the wiring in one command before you open a browser:
55
+ `npx --yes copilotkit@4.9.0 verify --json`. Add `--runtime-url` when the runtime is not at
56
+ `http://localhost:3000/api/copilotkit`. Read the individual checks rather than the summary
57
+ alone: a check reported `undetermined` did not run, and that is not a pass. Fix anything
58
+ that is not a pass before the browser, because a browser failure stacked on broken wiring
59
+ costs a round of debugging to reach an answer this command already gave.
60
+
61
+ Treat `intelligence_consumed` as the check that matters most here. A journey that finishes
62
+ with the Intelligence credential never read looks complete and proves nothing about the
63
+ paid surface. `api_key_authenticates` passing beside it says the key is real and the
64
+ runtime never used it.
65
+
66
+ `intelligence_thread_routes` fails when the runtime reports a license but serves no
67
+ thread routes, which means saved Threads cannot load in a browser. The usual cause is a
68
+ handler mounted `mode: "single-route"`: remove that option so the handler serves its full
69
+ route set, and mount it at a catch-all route. If instead that check is `undetermined`
70
+ because the runtime reports no thread-endpoint state, the runtime predates the field.
71
+ Record that and move on — there is nothing to repair.
72
+
73
+ Then prove that the agent actually runs, which is the gate for this node:
74
+ `npx --yes copilotkit@4.9.0 verify --round-trip --json`. It sends one request through the
75
+ runtime and reads the answer back from the thread, so it separates an agent that is
76
+ configured from an agent that works. Use `--agent <id>` when the runtime declares more
77
+ than one. If it reports `user-not-identified`, this project's `identifyUser` reads a
78
+ session the CLI does not carry: pass what it reads with `--header "Name: value"` and run
79
+ it again, because an auth-gated app refusing an unauthenticated caller is that app
80
+ working. Do not continue until this passes, and never report a round trip proven without
81
+ it.
82
+
83
+ Then send one real request through the frontend. Make sure that the request passes through
84
+ CopilotKit and reaches the selected agent.
85
+
86
+ For a recorded `both-oss` starting state: Compare the final round trip with the recorded
87
+ OSS baseline. The same frontend request must still reach the same agent and produce the
88
+ same kind of user-visible result. The runtime must now report `licenseStatus`, and the
89
+ authenticated Intelligence checks must pass. Record both before and after evidence.
90
+
91
+ Before you trust the agent, confirm that the process answering is the one in this
92
+ repository. `verify` reports which agents the runtime declares and has nothing to compare
93
+ them against, and `--round-trip` proves an agent answers under the declared id without
94
+ proving which deployment did, so this comparison is yours. A health endpoint that returns success proves only that something listens on
95
+ that port. An agent from earlier work often still holds it, and a stale process answers
96
+ as though it were the new one. Ask the running agent which graph or agent id it serves
97
+ and compare that with the id declared in this project.
98
+
99
+ If they do not match, find out whose process it is before you signal anything.
100
+ `lsof -ti :<port> -sTCP:LISTEN` gives the process id, and `lsof -a -p <pid> -d cwd` gives
101
+ the directory it runs in. Stop it only when that directory is inside this project, and
102
+ stop its children before the parent so nothing survives by reparenting. A holder outside
103
+ this project belongs to other work: leave it running, report it, and bind to another port.
104
+ Never stop a process because its command line matches a name. One `pkill` pattern reaches
105
+ every project on the machine and takes down work that has nothing to do with this run.
106
+ Never continue against a process you cannot identify, and never report a round trip proven
107
+ by one.
108
+
109
+ Address a local agent by host name rather than by an IP literal. Some local agents bind
110
+ IPv6 only, so an IPv4 literal fails against the correct port.
111
+
112
+ Drive the real UI in a browser whenever your environment can, and make sure that the
113
+ frontend receives working generative UI from the agent. Prefer this: it is the only step
114
+ that covers realtime delivery to a browser, browser-origin CORS and CSP, the frontend
115
+ provider being wired to this runtime, and a generative UI component actually rendering,
116
+ and no command-line check reaches any of them.
117
+
118
+ Use a browser MCP server already configured for the coding agent you are running as, the
119
+ same way the CopilotKit documentation MCP server below is configured. Do not add a browser
120
+ driver to this project: a devDependency and a browser download land in the diff and tax a
121
+ repository that never asked for one. If nothing in your environment can drive a
122
+ browser, skip this step rather than installing one, and never report a visual result you
123
+ did not see.
124
+
125
+ Report exactly one of `performed`, `skipped-no-browser-tool`, or `failed` for this step.
126
+
127
+ Record the input, visible result, relevant process status, and evidence locations. Do not
128
+ return secret values.
129
+
130
+ Where the answer is meant to be about data the project holds, check it against that data.
131
+ Read the entities the project holds -- the ids, names, or records the answer claims to
132
+ describe -- and confirm the answer names those and no others. Record the entities you
133
+ compared. Where the outcome of this journey references no project data, record that
134
+ instead, and do not invent a comparison to pass this step.
135
+
136
+ An answer that renders correctly over entities the project does not hold looks the same as
137
+ a correct one in a browser, in a screenshot, and in a video, so this comparison is the only
138
+ stage that separates them. An answer that names an entity the project does not hold is a
139
+ failed proof, not a passing one. Find which of these it is before you change anything: the
140
+ project's data never reaches the agent, the agent receives it and its instructions ignore
141
+ it, the page loads its data after the context was registered, or the run wired a different
142
+ source than the page renders. Fix that cause, then prove again.
143
+
144
+ Fetch the continued-development guide from the main coding agent with the proof
145
+ documentation. Try the continued-development tools after the application passes proof.
146
+ Use it to install the project-scoped CopilotKit Skills.
147
+ Use it to configure the CopilotKit documentation MCP server for the current coding agent.
148
+
149
+ Do not validate whether the Skills or MCP server installed correctly. Record the command
150
+ result for each attempt. Report each tool result separately. A tool error does not change
151
+ the proof result.
152
+
153
+ Gather what you need in as few commands as possible. Combine independent reads into one
154
+ command rather than running them one at a time. Split a command only when its result decides
155
+ what you run next.
156
+
157
+ Return the proof or the exact failed step to the main coding agent, together with the
158
+ visual-check outcome. Stop after you return the result.
@@ -1,14 +1,81 @@
1
1
  # Create the onboarding plan
2
2
 
3
3
  Use the selected framework, frontend, model, repository findings, and documentation URLs
4
- from the main coding agent. Fetch each selected URL. Do not use remembered CopilotKit
5
- instructions.
4
+ from the main coding agent. Fetch every selected URL in one step rather than one after
5
+ another. Do not use remembered CopilotKit instructions.
6
+
7
+ A fetch tool that refuses a URL, or fails to reach it, reports a limit of the tool and
8
+ not a fact about the page. Retrieve the same URL a second way before you judge it. Run
9
+ `curl -fsSL <url>`, or read the same page without the `.md` suffix. Report a
10
+ documentation gap only after a second method also fails.
11
+
12
+ Name the application the project asks for, and plan that application. Each documentation
13
+ page teaches through one worked example, and that example carries a domain of its own.
14
+ The domain belongs to the page. The project's purpose from the repository findings
15
+ decides what gets built. Where the two differ, the project wins. Where the repository
16
+ never states a purpose, say so in the plan and ask the developer before you adopt the
17
+ domain of an example.
18
+
19
+ Read only inside the project directory. Answer an API question from the documentation
20
+ URLs you were given, not from another checkout on this machine.
6
21
 
7
22
  List the required credential variable names. Do not read or return credential values.
8
23
  Preserve each agent or frontend that already exists.
9
24
 
25
+ Plan the runtime to consume the Intelligence credential. The runtime takes an
26
+ `intelligence` option holding a client built from the project key. A runtime given a
27
+ `runner` option instead is the OSS runtime. It never reads the Intelligence key, and the
28
+ Inspector reads the project as locked. The default in-memory OSS runner is ephemeral.
29
+ SQLite, custom, or framework persistence can be durable. The two options cannot be
30
+ combined. Take the constructor from the connect-your-runtime page. Where a framework
31
+ quickstart shows a `runner` option instead, the connect-your-runtime page wins.
32
+
33
+ When the starting state is `both-oss`, use its recorded live baseline evidence. Preserve
34
+ the working agent, frontend, CopilotKit integration, and OSS behavior. Plan only the
35
+ project selection, Intelligence runtime configuration, and authenticated proof needed for
36
+ the conversion. Preserve the existing persistence and user-visible request. Do not
37
+ rebuild a path that already works.
38
+
39
+ Where the SDK requires an application-level value that the repository cannot supply, such
40
+ as an end-user identity for threads, use one clearly marked local placeholder and name what
41
+ production requires instead. Do not stop onboarding to ask the developer for it.
42
+
43
+ Check whether the existing agent performs unattended side effects, such as paging, sending
44
+ notifications, writing to an external system, or creating tickets. If it does, the new
45
+ conversational surface must not trigger them. Wrap only the reasoning steps, or require an
46
+ explicit developer confirmation before the side effect can run. Name each side effect you
47
+ found and state how the plan avoids it.
48
+
49
+ If the value of the journey depends on data the project already holds, name that data,
50
+ name where it lives, and name how it reaches the agent. Rendering a list in the DOM does
51
+ not give the agent access to it. An agent wired without the page's data answers from
52
+ entities it invents, and the answer looks correct. Take the frontend-context step from
53
+ the selected documentation. Where no selected page documents it for this framework or
54
+ frontend, record that as a documentation gap rather than guessing the API.
55
+
56
+ Where that data exists, name the entities the proof compares against: the ids, names, or
57
+ records the project holds and the answer has to reference. Where the outcome references
58
+ no project data, say so in the plan, so that the proof asks for evidence this journey can
59
+ produce.
60
+
10
61
  Create one plan for implementation, validation, and proof. Name each file or area that can
11
62
  change. Name the commands that can validate the result.
63
+ Name the commands or user path that prove a real generative-UI round trip.
64
+
65
+ Keep a production build out of the validation commands. A type check plus the real round
66
+ trip is the proof, and the round trip runs in development mode. Name the production build
67
+ as a follow-up for the developer instead. Never raise a bundle budget or relax a lint rule
68
+ to make a build pass during onboarding.
69
+
70
+ The type check runs against the project's own configuration. If the project has no
71
+ type-check command, add one that uses the configuration the project already has.
72
+ Do not add compiler strictness the project did not have. Nothing later in the run is
73
+ allowed to weaken type safety, so a stricter gate named here is one the run cannot get
74
+ back out of.
75
+
76
+ Gather what you need in as few commands as possible. Combine independent reads into one
77
+ command rather than running them one at a time. Split a command only when its result decides
78
+ what you run next.
12
79
 
13
80
  Return the plan, the URLs that you read, and each documentation gap. Stop after you return
14
81
  the findings to the main coding agent.
@@ -1,13 +1,58 @@
1
1
  # Implement and validate the approved plan
2
2
 
3
- Use only the approved plan and the selected documentation URLs. Fetch each URL before you
4
- change the project. Do not use remembered CopilotKit instructions.
3
+ Use only the approved plan and the selected documentation URLs. Fetch every URL in one
4
+ step, before you change the project, rather than one after another.
5
+ Do not use remembered CopilotKit instructions.
6
+
7
+ A fetch tool that refuses a URL, or fails to reach it, reports a limit of the tool and
8
+ not a fact about the page. Retrieve the same URL a second way before you judge it. Run
9
+ `curl -fsSL <url>`, or read the same page without the `.md` suffix. Report a
10
+ documentation gap only after a second method also fails.
11
+
12
+ Add only the props, options, and imports that appear in the fetched documentation. A
13
+ remembered API from an earlier CopilotKit version will fail type checking against this
14
+ release, so do not decorate a documented example with anything it does not show.
15
+
16
+ The documentation supplies the wiring. The project supplies the application. That rule
17
+ governs props, options, and imports, and it stops there. A documentation example names a
18
+ domain of its own to make itself readable. Build what the plan names, in the project's
19
+ own domain, from the wiring the page shows. Do not carry the page's example domain into
20
+ the project: not its agent name, not its tools, not its data.
5
21
 
6
22
  Preserve each agent or frontend that already exists. Add only the missing parts and the
7
- CopilotKit connection. Do not read, show, store, or return secret values.
23
+ CopilotKit connection. Do not read, show, store, or return secret values. Do not read a
24
+ file outside the project directory: not for a credential, and not for an API question the
25
+ fetched documentation answers. A missing credential is the main coding agent's to ask
26
+ for.
27
+
28
+ For a recorded `both-oss` baseline, preserve the existing agent, frontend, CopilotKit
29
+ integration, user-visible request, and runtime behavior. Do not replace the existing
30
+ persistence. Change only the approved project selection and Intelligence runtime wiring.
31
+ Run the recorded baseline checks after the change and report any regression.
32
+
33
+ When the documentation creates the frontend with the framework's own scaffolder,
34
+ run that scaffolder rather than hand-authoring what it emits.
35
+ Do not re-declare a compiler option it set. Every real project of that framework
36
+ inherits those defaults, so a hand-written replacement measures a configuration no
37
+ developer has. Where the plan needs configuration the scaffolder did not write,
38
+ extend the scaffolder's file and set only what you add.
39
+
40
+ Where the plan names data the project already holds, share that data with the agent
41
+ through the context API the selected documentation names for this frontend. Then write the agent's instructions to
42
+ refuse to answer about entities the shared context does not carry, and to name what is
43
+ missing instead. An agent with no context and no refusal invents plausible entities, and
44
+ no part of the run errors.
8
45
 
9
46
  Run the validation commands from the approved plan. Record the changed files, command
10
47
  results, and each error. Do not claim that the real user journey works in this phase.
11
48
 
49
+ Report the runtime constructor you wrote. Name whether it passes `intelligence` or
50
+ `runner`. A runtime built with `runner` is the SSE runtime and never reads the credential,
51
+ whatever the browser shows.
52
+
53
+ Gather what you need in as few commands as possible. Combine independent reads into one
54
+ command rather than running them one at a time. Split a command only when its result decides
55
+ what you run next.
56
+
12
57
  Return the implementation result and validation evidence to the main coding agent. Stop
13
58
  after you return the result.
@@ -2,13 +2,23 @@
2
2
 
3
3
  Inspect the repository without changing it. Find evidence for:
4
4
 
5
+ - what the project is for, in the project's own words
5
6
  - any existing agent framework
6
7
  - any existing frontend
7
8
  - current CopilotKit packages and configuration
8
9
  - authentication boundaries
9
10
  - names of required credential variables, without reading their values
10
- - the commands or user path that can prove a real generative-UI round trip
11
+
12
+ A project states what it is for in its `README.md`, in its package description, or in
13
+ the prompt of an agent it already has. Quote that statement rather than rewriting it. An
14
+ empty project carries it in the README alone, and that makes the README the whole of the
15
+ evidence. State the purpose as unproved when the project never says.
16
+
17
+ Gather what you need in as few commands as possible. Combine independent reads into one
18
+ command rather than running them one at a time. Split a command only when its result decides
19
+ what you run next.
11
20
 
12
21
  Return the file paths and a short finding for each item. State each absent or unproved item.
13
- Do not read, print, or return secret values. Do not run or return another
14
- onboarding command. Stop after returning the findings to the main coding agent.
22
+ Do not read, print, or return secret values. Do not read a file outside the project
23
+ directory. Do not run or return another onboarding command. Stop after returning the
24
+ findings to the main coding agent.
@@ -0,0 +1,35 @@
1
+ # Prove the existing OSS CopilotKit baseline
2
+
3
+ Read and run only inside the project directory. Do not edit source, configuration,
4
+ dependencies, or tracked files. Do not read, show, store, or return secret values.
5
+
6
+ Find the expected agent id from the project. Start the existing agent and frontend only
7
+ when they are not already running. Before using a port, identify its process and working
8
+ directory. Do not stop a process outside this project.
9
+
10
+ Prove the live runtime in this order:
11
+
12
+ 1. GET `/info` from the project's CopilotKit runtime and require a valid response.
13
+ 2. Require `/info` to declare the expected agent id.
14
+ 3. Confirm that `licenseStatus` is absent. Its presence means the live runtime uses
15
+ Intelligence and is not an OSS starting state.
16
+ 4. Confirm from project files that the runtime constructor passes a `runner` option rather
17
+ than an `intelligence` option. A package, import, project file, or key is not use proof.
18
+ 5. Run
19
+ `npx --yes copilotkit@4.9.0 verify --expect-runtime oss --round-trip --agent <expected-agent-id> --json`,
20
+ with the runtime URL or auth header options that this project needs. Require exit zero
21
+ and the JSON `ok` field to be `true`.
22
+ 6. Drive one real request through the existing frontend, CopilotKit runtime, and expected
23
+ agent. Require the existing user-visible result. If no browser tool is available, the
24
+ round trip is not proved and the state is `unproved`.
25
+
26
+ Classify the state as `both-oss` only when all six predicates are true: agent present,
27
+ interface present, CopilotKit present, CopilotKit round trip proven, runtime connection
28
+ `oss`, and managed Intelligence not configured. Return each predicate and its secret-safe
29
+ evidence.
30
+
31
+ The default in-memory OSS runner is ephemeral. SQLite, custom, or framework persistence
32
+ can be durable. Report the persistence that project evidence proves, or `unproved`. Do not
33
+ replace it and do not describe all OSS runs as ephemeral.
34
+
35
+ Stop after returning the baseline result, process ids and ports used, and evidence paths.