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.
- package/README.md +183 -2
- package/cli-build-info.json +7 -7
- package/index.js +5645 -3567
- package/onboarding/index.json +33 -33
- package/onboarding/prompts/authenticate/start.md +63 -10
- package/onboarding/prompts/credentials/finalize-plan.md +168 -15
- package/onboarding/prompts/credentials/plan.md +55 -49
- package/onboarding/prompts/fallback/best-effort.md +29 -0
- package/onboarding/prompts/framework/ag2.md +33 -7
- package/onboarding/prompts/framework/agno.md +32 -7
- package/onboarding/prompts/framework/built-in.md +30 -8
- package/onboarding/prompts/framework/claude-sdk-python.md +35 -7
- package/onboarding/prompts/framework/claude-sdk-typescript.md +39 -7
- package/onboarding/prompts/framework/crewai-flows.md +41 -7
- package/onboarding/prompts/framework/deep-agents.md +30 -6
- package/onboarding/prompts/framework/google-adk.md +32 -8
- package/onboarding/prompts/framework/langgraph-fastapi.md +24 -5
- package/onboarding/prompts/framework/langgraph-python.md +15 -5
- package/onboarding/prompts/framework/langgraph-typescript.md +15 -5
- package/onboarding/prompts/framework/llamaindex.md +35 -7
- package/onboarding/prompts/framework/mastra.md +48 -6
- package/onboarding/prompts/framework/ms-agent-dotnet.md +57 -7
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +48 -8
- package/onboarding/prompts/framework/ms-agent-python.md +32 -7
- package/onboarding/prompts/framework/pydantic-ai.md +34 -9
- package/onboarding/prompts/framework/strands-python.md +28 -9
- package/onboarding/prompts/framework/strands-typescript.md +28 -9
- package/onboarding/prompts/frontend/angular.md +20 -5
- package/onboarding/prompts/frontend/nextjs.md +13 -3
- package/onboarding/prompts/frontend/plan.md +20 -19
- package/onboarding/prompts/frontend/react-native.md +9 -3
- package/onboarding/prompts/frontend/react-spa.md +20 -5
- package/onboarding/prompts/frontend/vue.md +9 -3
- package/onboarding/prompts/implementation/build-and-validate.md +82 -7
- package/onboarding/prompts/proof/complete.md +63 -2
- package/onboarding/prompts/proof/oss-baseline.md +59 -0
- package/onboarding/prompts/proof/round-trip.md +150 -8
- package/onboarding/prompts/subagent/create-plan.md +69 -2
- package/onboarding/prompts/subagent/implement-and-validate.md +48 -3
- package/onboarding/prompts/subagent/inspect-repository.md +13 -3
- package/onboarding/prompts/subagent/prove-oss-baseline.md +35 -0
- package/onboarding/prompts/subagent/prove-round-trip.md +118 -11
- package/onboarding/prompts/unsupported/no-validated-path.md +27 -9
- package/package.json +1 -1
- package/release/release-tool.js +32 -4
- package/onboarding/prompts/frontend/slack.md +0 -20
- 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.
|
|
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
|
|
7
|
-
|
|
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.
|
|
11
|
+
`npx --yes copilotkit@4.9.0 onboard read proof/round-trip`.
|
|
11
12
|
|
|
12
|
-
If a
|
|
13
|
-
|
|
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.
|
|
7
|
-
|
|
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.
|
|
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
|
|
7
|
-
|
|
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
|
|
13
|
-
`npx copilotkit@4.
|
|
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
|
|
16
|
-
|
|
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
|
|
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
|
|
4
|
-
change the project
|
|
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
|
-
|
|
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
|
|
14
|
-
onboarding command. Stop after returning the
|
|
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.
|