copilotkit 4.11.0 → 4.13.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/LICENSE +11 -0
- package/README.md +155 -12
- package/cli-build-info.json +8 -8
- package/index.js +5969 -4751
- package/onboarding/index.json +27 -2
- package/onboarding/prompts/authenticate/start.md +45 -38
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +14 -13
- package/onboarding/prompts/credentials/plan.md +26 -20
- package/onboarding/prompts/credentials/settle-credentials.md +55 -23
- package/onboarding/prompts/credentials/write-plan.md +19 -6
- package/onboarding/prompts/fallback/best-effort.md +6 -6
- package/onboarding/prompts/feature/a2ui/implement.md +7 -7
- package/onboarding/prompts/feature/a2ui/proof.md +6 -6
- package/onboarding/prompts/feature/a2ui/start.md +10 -8
- package/onboarding/prompts/feature/blocked-by-plan.md +32 -0
- package/onboarding/prompts/feature/channels/implement.md +68 -13
- package/onboarding/prompts/feature/channels/proof.md +13 -6
- package/onboarding/prompts/feature/channels/start.md +30 -11
- package/onboarding/prompts/feature/chat-suggestions/implement.md +7 -7
- package/onboarding/prompts/feature/chat-suggestions/proof.md +6 -6
- package/onboarding/prompts/feature/chat-suggestions/start.md +10 -8
- package/onboarding/prompts/feature/complete.md +1 -1
- package/onboarding/prompts/feature/learning/implement.md +73 -14
- package/onboarding/prompts/feature/learning/proof.md +10 -9
- package/onboarding/prompts/feature/learning/start.md +61 -7
- package/onboarding/prompts/feature/open-generative-ui/implement.md +7 -7
- package/onboarding/prompts/feature/open-generative-ui/proof.md +6 -6
- package/onboarding/prompts/feature/open-generative-ui/start.md +10 -8
- package/onboarding/prompts/feature/realtime-sync/implement.md +8 -8
- package/onboarding/prompts/feature/realtime-sync/proof.md +6 -6
- package/onboarding/prompts/feature/realtime-sync/start.md +9 -7
- package/onboarding/prompts/feature/rich-threads/implement.md +9 -9
- package/onboarding/prompts/feature/rich-threads/proof.md +6 -6
- package/onboarding/prompts/feature/rich-threads/start.md +9 -7
- package/onboarding/prompts/feature/stop.md +2 -2
- package/onboarding/prompts/feature/voice/implement.md +7 -7
- package/onboarding/prompts/feature/voice/proof.md +6 -6
- package/onboarding/prompts/feature/voice/start.md +10 -8
- package/onboarding/prompts/framework/ag2.md +2 -2
- package/onboarding/prompts/framework/agno.md +2 -2
- package/onboarding/prompts/framework/built-in.md +4 -2
- package/onboarding/prompts/framework/claude-sdk-python.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
- package/onboarding/prompts/framework/crewai-flows.md +2 -2
- package/onboarding/prompts/framework/deep-agents.md +5 -2
- package/onboarding/prompts/framework/google-adk.md +4 -2
- package/onboarding/prompts/framework/langgraph-fastapi.md +4 -3
- package/onboarding/prompts/framework/langgraph-python.md +6 -2
- package/onboarding/prompts/framework/langgraph-typescript.md +6 -2
- package/onboarding/prompts/framework/llamaindex.md +2 -2
- package/onboarding/prompts/framework/mastra.md +4 -2
- package/onboarding/prompts/framework/ms-agent-dotnet.md +4 -2
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-python.md +4 -2
- package/onboarding/prompts/framework/pydantic-ai.md +2 -2
- package/onboarding/prompts/framework/strands-python.md +4 -2
- package/onboarding/prompts/framework/strands-typescript.md +4 -2
- package/onboarding/prompts/frontend/angular.md +5 -5
- package/onboarding/prompts/frontend/nextjs.md +4 -4
- package/onboarding/prompts/frontend/plan.md +21 -10
- package/onboarding/prompts/frontend/react-native.md +2 -2
- package/onboarding/prompts/frontend/react-spa.md +2 -2
- package/onboarding/prompts/frontend/vue.md +2 -2
- package/onboarding/prompts/implementation/build-and-validate.md +39 -16
- package/onboarding/prompts/proof/complete.md +35 -15
- package/onboarding/prompts/proof/oss-baseline.md +5 -5
- package/onboarding/prompts/proof/round-trip.md +23 -12
- package/onboarding/prompts/research/gather.md +33 -91
- package/onboarding/prompts/research/merge.md +60 -0
- package/onboarding/prompts/research/preflight.md +75 -0
- package/onboarding/prompts/research/route.md +49 -4
- package/onboarding/prompts/starter/clone.md +5 -5
- package/onboarding/prompts/stopped/run-failed.md +30 -1
- package/onboarding/prompts/subagent/create-plan.md +24 -1
- package/onboarding/prompts/subagent/implement-and-validate.md +32 -1
- package/onboarding/prompts/subagent/inspect-repository.md +43 -16
- package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +37 -10
- package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
- package/package.json +7 -3
- package/release/release-tool.js +1 -1
|
@@ -18,10 +18,10 @@ without exposing secrets.
|
|
|
18
18
|
After validation and each repair, run:
|
|
19
19
|
|
|
20
20
|
```text
|
|
21
|
-
npx --yes copilotkit@4.
|
|
21
|
+
npx --yes copilotkit@4.13.0 onboard audit
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
Continue only when it starts with `Status: passed`. A path under `Authorized to
|
|
24
|
+
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
25
25
|
not a finding. Carry it into the final summary with its reason.
|
|
26
26
|
|
|
27
27
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -29,7 +29,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
29
29
|
the path, accept the developer's external change:
|
|
30
30
|
|
|
31
31
|
```text
|
|
32
|
-
npx --yes copilotkit@4.
|
|
32
|
+
npx --yes copilotkit@4.13.0 onboard protect --accept-external --path <path>
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
For an env file where the developer placed a requested credential, use
|
|
@@ -38,24 +38,24 @@ or its report does not settle who changed it, ask the developer to allow the unp
|
|
|
38
38
|
change. Only after they agree, record their answer:
|
|
39
39
|
|
|
40
40
|
```text
|
|
41
|
-
npx --yes copilotkit@4.
|
|
41
|
+
npx --yes copilotkit@4.13.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
Run the audit again after each accepted or authorized change. If it still fails, or starts
|
|
45
45
|
with `Status: blocked`, route out and stop:
|
|
46
46
|
|
|
47
47
|
```text
|
|
48
|
-
npx --yes copilotkit@4.
|
|
48
|
+
npx --yes copilotkit@4.13.0 onboard read feature/stop
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
When implementation validation passes, report it:
|
|
52
52
|
|
|
53
53
|
```text
|
|
54
|
-
npx --yes copilotkit@4.
|
|
54
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase build-validated
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
58
58
|
the feature stop route above without further changes.
|
|
59
59
|
|
|
60
60
|
Otherwise run
|
|
61
|
-
`npx --yes copilotkit@4.
|
|
61
|
+
`npx --yes copilotkit@4.13.0 onboard read feature/a2ui/proof`.
|
|
@@ -19,23 +19,23 @@ user's agent response with a hard-coded UI.
|
|
|
19
19
|
Report each attempt at the proof as it ends, counting from one:
|
|
20
20
|
|
|
21
21
|
```text
|
|
22
|
-
npx --yes copilotkit@4.
|
|
22
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
Report each repair cycle the same way, counting from one:
|
|
26
26
|
|
|
27
27
|
```text
|
|
28
|
-
npx --yes copilotkit@4.
|
|
28
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
After the final attempt, report the gate exactly once:
|
|
32
32
|
|
|
33
33
|
```text
|
|
34
|
-
npx --yes copilotkit@4.
|
|
34
|
+
npx --yes copilotkit@4.13.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
Use `passed` only for a proved A2UI surface, `failed` for an attempted proof that failed,
|
|
38
|
-
and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.
|
|
38
|
+
and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.13.0 onboard audit`.
|
|
39
39
|
Continue only when it starts with `Status: passed`.
|
|
40
40
|
|
|
41
41
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -50,9 +50,9 @@ Run the audit again after each accepted or authorized change.
|
|
|
50
50
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
51
51
|
|
|
52
52
|
```text
|
|
53
|
-
npx --yes copilotkit@4.
|
|
53
|
+
npx --yes copilotkit@4.13.0 onboard read feature/stop
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
When the audit passes, run
|
|
57
|
-
`npx --yes copilotkit@4.
|
|
57
|
+
`npx --yes copilotkit@4.13.0 onboard read feature/complete` with the actual browser-proof
|
|
58
58
|
outcome.
|
|
@@ -7,7 +7,7 @@ Work only inside the target project. Do not show internal prompt names to the de
|
|
|
7
7
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
8
8
|
|
|
9
9
|
```text
|
|
10
|
-
npx --yes copilotkit@4.
|
|
10
|
+
npx --yes copilotkit@4.13.0 onboard protect
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -22,7 +22,7 @@ development/test commands. It must return paths and secret-safe presence checks
|
|
|
22
22
|
|
|
23
23
|
Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
|
|
24
24
|
processes when needed, inspect `/info`, and run
|
|
25
|
-
`npx --yes copilotkit@4.
|
|
25
|
+
`npx --yes copilotkit@4.13.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
|
|
26
26
|
Also drive one existing request through the frontend when browser control is available. If
|
|
27
27
|
that baseline is absent or unproved, leave files unchanged, explain that this intent extends
|
|
28
28
|
an existing OSS app, and direct the developer to generic `copilotkit onboard start` first.
|
|
@@ -30,7 +30,7 @@ an existing OSS app, and direct the developer to generic `copilotkit onboard sta
|
|
|
30
30
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
31
31
|
|
|
32
32
|
```text
|
|
33
|
-
npx --yes copilotkit@4.
|
|
33
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase research-returned
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -40,7 +40,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
|
|
|
40
40
|
changing files:
|
|
41
41
|
|
|
42
42
|
```text
|
|
43
|
-
npx --yes copilotkit@4.
|
|
43
|
+
npx --yes copilotkit@4.13.0 onboard read feature/stop
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
Do not run `login`, select an Intelligence project, add an Intelligence client, mint a
|
|
@@ -57,12 +57,14 @@ catalog or runtime wiring required, the test command, and a browser proof reques
|
|
|
57
57
|
renders a compact visible surface. Ask for plan approval as its own question.
|
|
58
58
|
|
|
59
59
|
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
60
|
-
with one sentence explaining why. Write `None` when it needs none.
|
|
60
|
+
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
61
|
+
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
62
|
+
one.
|
|
61
63
|
|
|
62
64
|
After approval, record each approved path before implementation:
|
|
63
65
|
|
|
64
66
|
```text
|
|
65
|
-
npx --yes copilotkit@4.
|
|
67
|
+
npx --yes copilotkit@4.13.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
66
68
|
```
|
|
67
69
|
|
|
68
70
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -72,7 +74,7 @@ authorize a path the approved plan did not list.
|
|
|
72
74
|
Then report the plan this run is about to implement:
|
|
73
75
|
|
|
74
76
|
```text
|
|
75
|
-
npx --yes copilotkit@4.
|
|
77
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase plan-written
|
|
76
78
|
```
|
|
77
79
|
|
|
78
|
-
Then run `npx --yes copilotkit@4.
|
|
80
|
+
Then run `npx --yes copilotkit@4.13.0 onboard read feature/a2ui/implement`.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Stop this feature: the platform refused it
|
|
2
|
+
|
|
3
|
+
The platform answered the entitlement question, and the answer was no. This is a settled
|
|
4
|
+
refusal, not a failed step and not a missing prerequisite. Keep the developer's agent,
|
|
5
|
+
frontend, runtime, persistence, chat surface, and package choices exactly as they were, and
|
|
6
|
+
leave the project unchanged.
|
|
7
|
+
|
|
8
|
+
CopilotKit Intelligence did not refuse this run for a missing baseline. Do not read
|
|
9
|
+
`feature/stop`, and do not send the developer to generic onboarding. Do not start another
|
|
10
|
+
feature run to build a prerequisite this run never lacked. Nothing this run can build
|
|
11
|
+
changes the answer.
|
|
12
|
+
|
|
13
|
+
Tell the developer, in two or three sentences:
|
|
14
|
+
|
|
15
|
+
1. Which feature was refused, and that their organization is the unit the platform refused
|
|
16
|
+
it for.
|
|
17
|
+
2. That every current plan grants Learning, so a refusal means the organization's
|
|
18
|
+
entitlement is not active or its record predates that grant, rather than the feature
|
|
19
|
+
being unavailable to them.
|
|
20
|
+
3. The one action that can change it: check the organization's plan and billing state at
|
|
21
|
+
https://cloud.copilotkit.ai, or reply to support with the organization name.
|
|
22
|
+
|
|
23
|
+
Then stop. Report nothing else and ask no follow-up question.
|
|
24
|
+
|
|
25
|
+
Do not run `onboard complete`. This run did not complete.
|
|
26
|
+
|
|
27
|
+
Do not file a friction report for this ending. Reading this prompt already reports it, and a
|
|
28
|
+
free-text report of a refusal the platform already named adds nothing.
|
|
29
|
+
|
|
30
|
+
If this run changed files before it stopped, list every path it changed and say whether it
|
|
31
|
+
reverted them. A refusal that arrives after the first edit still owes the developer that
|
|
32
|
+
list.
|
|
@@ -8,29 +8,59 @@ requirement.
|
|
|
8
8
|
|
|
9
9
|
If the folder was empty, clone OpenTag from https://github.com/CopilotKit/OpenTag.git
|
|
10
10
|
and do not rewrite it. Point the subagent at the existing OpenTag agent and runtime
|
|
11
|
-
to verify and run.
|
|
12
|
-
|
|
11
|
+
to verify and run. Confirm the project `.env` holds `OPENAI_API_KEY` before the OpenTag
|
|
12
|
+
backend starts, by presence alone. If the project already has an agent or app, do not
|
|
13
|
+
clone. Keep that code and wire a managed Channel.
|
|
13
14
|
|
|
14
15
|
On Teams, skip Slack-only tools and the Slack e2e harness. Do not add a CopilotKit
|
|
15
16
|
web app to make this run look complete. Do not replace the existing agent.
|
|
16
17
|
|
|
17
|
-
If repository evidence does not prove an existing valid Intelligence selection,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
If repository evidence does not prove an existing valid Intelligence selection, sign in
|
|
19
|
+
yourself with `npx --yes copilotkit@4.13.0 login --json`: the same single streaming
|
|
20
|
+
session generic onboarding uses. Read its JSON Lines while the process runs. Open the
|
|
21
|
+
first `authentication_url` exactly once with the operating system's default browser
|
|
22
|
+
opener, `open` on macOS, `xdg-open` on Linux, `Start-Process` in Windows PowerShell. Your
|
|
23
|
+
own built-in browser is not that opener and does not carry the session the developer
|
|
24
|
+
already signed in with. Never ask the developer to run a login command. If the opener is
|
|
25
|
+
unavailable or fails, show the developer the clickable URL and ask them to finish sign-in
|
|
26
|
+
there, and keep reading the same process. Continue only after that same process emits
|
|
27
|
+
`type: completed`. Report and stop only when it emits `type: failed`. Then list projects
|
|
28
|
+
and select or create one only after they choose. Require the secret-safe project/key provisioning summary
|
|
29
|
+
before wiring the Channel. Never display a key.
|
|
21
30
|
|
|
22
31
|
Run `channels add` until it reports completed. Run the focused type/test command and
|
|
23
32
|
start the long-running runtime. Confirm `/info` can return HTTP 200, but treat that
|
|
24
33
|
as capability evidence rather than completed Channel proof. Record changed paths
|
|
25
34
|
and validation results.
|
|
26
35
|
|
|
36
|
+
## Connect the Channel to the agent
|
|
37
|
+
|
|
38
|
+
Wire the Channel runtime to the agent with the connection API named on the documentation
|
|
39
|
+
page this run selected. Use no other class. A class remembered from an earlier CopilotKit
|
|
40
|
+
version fails type checking against this release.
|
|
41
|
+
|
|
42
|
+
The `framework/<name>` node carries the current connection API for each framework. Match
|
|
43
|
+
the agent the repository already has to its node -- `framework/langgraph-python`,
|
|
44
|
+
`framework/mastra`, `framework/google-adk`, and the rest -- and use the class that node
|
|
45
|
+
names.
|
|
46
|
+
|
|
47
|
+
For LangGraph, that is `LangGraphAgent` from `@copilotkit/runtime/langgraph` on the
|
|
48
|
+
LangSmith path and `HttpAgent` from `@ag-ui/client` on the self-hosted FastAPI path.
|
|
49
|
+
`LangGraphHttpAgent` is deprecated. Do not use it.
|
|
50
|
+
|
|
51
|
+
A symbol the installed package marks `@deprecated` in its type definitions is not a valid
|
|
52
|
+
choice, whatever documentation found elsewhere shows. Read the installed type definitions
|
|
53
|
+
before you write the connection. Where the selected documentation page itself shows a
|
|
54
|
+
deprecated symbol, report that page under the `docs-wrong` friction category and use the
|
|
55
|
+
current symbol the package's own type definitions or changelog names.
|
|
56
|
+
|
|
27
57
|
After validation and each repair, run:
|
|
28
58
|
|
|
29
59
|
```text
|
|
30
|
-
npx --yes copilotkit@4.
|
|
60
|
+
npx --yes copilotkit@4.13.0 onboard audit
|
|
31
61
|
```
|
|
32
62
|
|
|
33
|
-
Continue only when it starts with `Status: passed`. A path under `Authorized to
|
|
63
|
+
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
34
64
|
not a finding. Carry it into the final summary with its reason.
|
|
35
65
|
|
|
36
66
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -38,7 +68,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
38
68
|
the path, accept the developer's external change:
|
|
39
69
|
|
|
40
70
|
```text
|
|
41
|
-
npx --yes copilotkit@4.
|
|
71
|
+
npx --yes copilotkit@4.13.0 onboard protect --accept-external --path <path>
|
|
42
72
|
```
|
|
43
73
|
|
|
44
74
|
For an env file where the developer placed a requested credential, use
|
|
@@ -47,24 +77,49 @@ or its report does not settle who changed it, ask the developer to allow the unp
|
|
|
47
77
|
change. Only after they agree, record their answer:
|
|
48
78
|
|
|
49
79
|
```text
|
|
50
|
-
npx --yes copilotkit@4.
|
|
80
|
+
npx --yes copilotkit@4.13.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
51
81
|
```
|
|
52
82
|
|
|
53
83
|
Run the audit again after each accepted or authorized change. If it still fails, or starts
|
|
54
84
|
with `Status: blocked`, route out and stop:
|
|
55
85
|
|
|
56
86
|
```text
|
|
57
|
-
npx --yes copilotkit@4.
|
|
87
|
+
npx --yes copilotkit@4.13.0 onboard read feature/stop
|
|
58
88
|
```
|
|
59
89
|
|
|
90
|
+
## Values this run writes, and the one credential the developer supplies
|
|
91
|
+
|
|
92
|
+
Never ask the developer for `CHANNEL_CODE` or `CPK_INTELLIGENCE_API_KEY`. This run already
|
|
93
|
+
holds both, and writing them is your work, not theirs.
|
|
94
|
+
|
|
95
|
+
`CHANNEL_CODE` is the Channel name `channels add` declared. `.copilotkit/channels.json`
|
|
96
|
+
records the same name. `CPK_INTELLIGENCE_API_KEY` is the project key `project select`
|
|
97
|
+
wrote.
|
|
98
|
+
|
|
99
|
+
Write both into the environment file the application loads, which is the `.env` of the app
|
|
100
|
+
or runtime directory that reads it. Read the project to find that directory instead of
|
|
101
|
+
defaulting to the repository root, and keep both values in that one file. Carry the project
|
|
102
|
+
key over only when that file does not already set it, and move the line without displaying
|
|
103
|
+
what it holds.
|
|
104
|
+
|
|
105
|
+
Check both by name. Never read, print, echo, or log either value, and never put one in a
|
|
106
|
+
report, a command line, or a commit.
|
|
107
|
+
|
|
108
|
+
If that file already sets `CHANNEL_CODE` to a different Channel, change nothing. Ask the
|
|
109
|
+
developer which Channel this project serves and wait for their answer.
|
|
110
|
+
|
|
111
|
+
The only credential the developer supplies is their model provider key, such as
|
|
112
|
+
`OPENAI_API_KEY`, and the run asks for it once as part of plan approval. Never ask for it
|
|
113
|
+
again at backend start.
|
|
114
|
+
|
|
60
115
|
When implementation validation passes, report it:
|
|
61
116
|
|
|
62
117
|
```text
|
|
63
|
-
npx --yes copilotkit@4.
|
|
118
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase build-validated
|
|
64
119
|
```
|
|
65
120
|
|
|
66
121
|
If validation cannot pass, or this run needs a prerequisite the app does not have, use
|
|
67
122
|
the feature stop route above without further changes.
|
|
68
123
|
|
|
69
124
|
Otherwise run
|
|
70
|
-
`npx --yes copilotkit@4.
|
|
125
|
+
`npx --yes copilotkit@4.13.0 onboard read feature/channels/proof`.
|
|
@@ -5,6 +5,13 @@ Delegate proof to a fresh subagent. Confirm `channels add` completed,
|
|
|
5
5
|
mention on the chosen Slack or Teams provider and a useful agent reply.
|
|
6
6
|
If a browser tool is available, use it for the mention proof before completing.
|
|
7
7
|
|
|
8
|
+
All implementation work happens in the run root's own working tree: the project
|
|
9
|
+
directory this run started in. Never work in a separate worktree, a branch checkout,
|
|
10
|
+
or a copy of the project. A subagent that worked elsewhere must bring its changes into
|
|
11
|
+
the run root before it reports. The completion step verifies that the changed files
|
|
12
|
+
exist in this project, so work left in another tree ends the run with nothing in the
|
|
13
|
+
developer's hands.
|
|
14
|
+
|
|
8
15
|
HTTP 200 on runtime info is not proof. Do not treat a listening port, a resolved
|
|
9
16
|
`ready()` call, or `/info` as a mention reply. Record the mention, the reply, the
|
|
10
17
|
Channel name, app URL or process IDs, and safe stop commands. Fix changed-file
|
|
@@ -16,23 +23,23 @@ route after the audit rules below.
|
|
|
16
23
|
Report each attempt at the proof as it ends, counting from one:
|
|
17
24
|
|
|
18
25
|
```text
|
|
19
|
-
npx --yes copilotkit@4.
|
|
26
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
20
27
|
```
|
|
21
28
|
|
|
22
29
|
Report each repair cycle the same way, counting from one:
|
|
23
30
|
|
|
24
31
|
```text
|
|
25
|
-
npx --yes copilotkit@4.
|
|
32
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
26
33
|
```
|
|
27
34
|
|
|
28
35
|
After the final attempt, report the gate exactly once:
|
|
29
36
|
|
|
30
37
|
```text
|
|
31
|
-
npx --yes copilotkit@4.
|
|
38
|
+
npx --yes copilotkit@4.13.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
32
39
|
```
|
|
33
40
|
|
|
34
41
|
Use `passed` only for a proved mention reply, `failed` for an attempted proof that
|
|
35
|
-
failed, and `skipped` when the proof did not run. Then run `npx --yes copilotkit@4.
|
|
42
|
+
failed, and `skipped` when the proof did not run. Then run `npx --yes copilotkit@4.13.0 onboard audit`.
|
|
36
43
|
Continue only when it starts with `Status: passed`.
|
|
37
44
|
|
|
38
45
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -47,11 +54,11 @@ Run the audit again after each accepted or authorized change.
|
|
|
47
54
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
48
55
|
|
|
49
56
|
```text
|
|
50
|
-
npx --yes copilotkit@4.
|
|
57
|
+
npx --yes copilotkit@4.13.0 onboard read feature/stop
|
|
51
58
|
```
|
|
52
59
|
|
|
53
60
|
When the audit passes and the mention proof passed, run
|
|
54
|
-
`npx --yes copilotkit@4.
|
|
61
|
+
`npx --yes copilotkit@4.13.0 onboard read feature/complete` with the actual surface
|
|
55
62
|
outcome. Use `--visual-check performed` only when a browser drove Slack or Teams web
|
|
56
63
|
and proved the mention reply. Use `--visual-check skipped-no-browser-tool` only when
|
|
57
64
|
no browser tool was available.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
First, report your coding agent identity using the same command as generic onboarding:
|
|
4
4
|
|
|
5
5
|
```text
|
|
6
|
-
npx --yes copilotkit@4.
|
|
6
|
+
npx --yes copilotkit@4.13.0 onboard identify --coding-agent <coding-agent-slug>
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
Use your own product's slug, such as `codex` or `claude-code`. This also covers entry
|
|
@@ -17,7 +17,7 @@ restricted to the target project.
|
|
|
17
17
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
18
18
|
|
|
19
19
|
```text
|
|
20
|
-
npx --yes copilotkit@4.
|
|
20
|
+
npx --yes copilotkit@4.13.0 onboard protect
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Keep the exact protected path list it prints and give that list to every subagent. Do not
|
|
@@ -31,6 +31,10 @@ Ask Slack or Teams as its own question only when the copied prompt did not alrea
|
|
|
31
31
|
name one. If it named Slack, use Slack. If it named Teams or Microsoft Teams, use
|
|
32
32
|
Teams. Do not ask again.
|
|
33
33
|
|
|
34
|
+
For an empty folder, the OpenTag starter brings its own agent. An agent framework this
|
|
35
|
+
run recorded earlier does not apply here. Say that plainly and do not ask for a framework
|
|
36
|
+
again.
|
|
37
|
+
|
|
34
38
|
Spawn one read-only subagent to inspect the target directory, Git state, package
|
|
35
39
|
manager, Node version, Python version, `uv`, existing agent code, existing CopilotKit
|
|
36
40
|
runtime, Channel config (presence only), Intelligence config (presence only), and the
|
|
@@ -43,18 +47,24 @@ This one does not.
|
|
|
43
47
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
44
48
|
|
|
45
49
|
```text
|
|
46
|
-
npx --yes copilotkit@4.
|
|
50
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase research-returned
|
|
47
51
|
```
|
|
48
52
|
|
|
49
53
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
50
54
|
failed step.
|
|
51
55
|
|
|
52
|
-
If the folder is empty,
|
|
53
|
-
|
|
54
|
-
|
|
56
|
+
If the folder is empty, check Node 22, `uv`, and Python before cloning. Python 3.12 or
|
|
57
|
+
newer satisfies the check. If no Python 3.12 or newer is present and `uv` is, offer once
|
|
58
|
+
to install one with `uv python install 3.12`, and continue after the developer approves.
|
|
59
|
+
|
|
60
|
+
Stop here without cloning only when Node 22 is missing, `uv` is missing, or the developer
|
|
61
|
+
declines that install. Do not switch to a custom build in silence. Name the missing tool
|
|
62
|
+
and its install command in the message the developer sees: `nvm install 22` for Node 22,
|
|
63
|
+
`curl -LsSf https://astral.sh/uv/install.sh | sh` for `uv`, and `uv python install 3.12`
|
|
64
|
+
for Python. Offer a custom headless build as a later path. Then route out:
|
|
55
65
|
|
|
56
66
|
```text
|
|
57
|
-
npx --yes copilotkit@4.
|
|
67
|
+
npx --yes copilotkit@4.13.0 onboard read feature/stop
|
|
58
68
|
```
|
|
59
69
|
|
|
60
70
|
Do not run login, select Intelligence, or create a credential until the developer
|
|
@@ -62,6 +72,13 @@ approves the plan. Fetch the official Channels guide before planning:
|
|
|
62
72
|
https://docs.copilotkit.ai/channels.md
|
|
63
73
|
Retry it a second way if needed.
|
|
64
74
|
|
|
75
|
+
For an empty folder, OpenTag runs its own agent on `OPENAI_API_KEY`. State that before the
|
|
76
|
+
plan. Check the target `.env` and the environment for that name. Report presence only, and
|
|
77
|
+
never read, print, or store the value. If it is absent, ask the developer to place it as
|
|
78
|
+
part of the plan approval, not at backend start. Say that the key is never displayed and
|
|
79
|
+
goes only into the project `.env`. Asking for a key the developer already owns is not
|
|
80
|
+
creating a credential.
|
|
81
|
+
|
|
65
82
|
Show a small plan. For an empty folder, clone OpenTag and do not rewrite it. For an
|
|
66
83
|
existing agent or app, keep that code and wire a managed Channel. Slack or Teams is
|
|
67
84
|
only `channels add --adapter slack|teams`. On Teams, skip Slack-only tools and the
|
|
@@ -69,12 +86,14 @@ Slack e2e harness. Name focused tests and a real mention proof on the chosen
|
|
|
69
86
|
provider. Ask for approval separately.
|
|
70
87
|
|
|
71
88
|
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
72
|
-
with one sentence explaining why. Write `None` when it needs none.
|
|
89
|
+
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
90
|
+
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
91
|
+
one.
|
|
73
92
|
|
|
74
93
|
After approval, record each approved path before implementation:
|
|
75
94
|
|
|
76
95
|
```text
|
|
77
|
-
npx --yes copilotkit@4.
|
|
96
|
+
npx --yes copilotkit@4.13.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
78
97
|
```
|
|
79
98
|
|
|
80
99
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -84,7 +103,7 @@ authorize a path the approved plan did not list.
|
|
|
84
103
|
Then report the plan this run is about to implement:
|
|
85
104
|
|
|
86
105
|
```text
|
|
87
|
-
npx --yes copilotkit@4.
|
|
106
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase plan-written
|
|
88
107
|
```
|
|
89
108
|
|
|
90
|
-
Then run `npx --yes copilotkit@4.
|
|
109
|
+
Then run `npx --yes copilotkit@4.13.0 onboard read feature/channels/implement`.
|
|
@@ -15,10 +15,10 @@ Run focused type/test checks and start the app. Record the changed files and val
|
|
|
15
15
|
After validation and each repair, run:
|
|
16
16
|
|
|
17
17
|
```text
|
|
18
|
-
npx --yes copilotkit@4.
|
|
18
|
+
npx --yes copilotkit@4.13.0 onboard audit
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
Continue only when it starts with `Status: passed`. A path under `Authorized to
|
|
21
|
+
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
22
22
|
not a finding. Carry it into the final summary with its reason.
|
|
23
23
|
|
|
24
24
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -26,7 +26,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
26
26
|
the path, accept the developer's external change:
|
|
27
27
|
|
|
28
28
|
```text
|
|
29
|
-
npx --yes copilotkit@4.
|
|
29
|
+
npx --yes copilotkit@4.13.0 onboard protect --accept-external --path <path>
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
For an env file where the developer placed a requested credential, use
|
|
@@ -35,24 +35,24 @@ or its report does not settle who changed it, ask the developer to allow the unp
|
|
|
35
35
|
change. Only after they agree, record their answer:
|
|
36
36
|
|
|
37
37
|
```text
|
|
38
|
-
npx --yes copilotkit@4.
|
|
38
|
+
npx --yes copilotkit@4.13.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
Run the audit again after each accepted or authorized change. If it still fails, or starts
|
|
42
42
|
with `Status: blocked`, route out and stop:
|
|
43
43
|
|
|
44
44
|
```text
|
|
45
|
-
npx --yes copilotkit@4.
|
|
45
|
+
npx --yes copilotkit@4.13.0 onboard read feature/stop
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
When implementation validation passes, report it:
|
|
49
49
|
|
|
50
50
|
```text
|
|
51
|
-
npx --yes copilotkit@4.
|
|
51
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase build-validated
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
55
55
|
the feature stop route above without further changes.
|
|
56
56
|
|
|
57
57
|
Otherwise run
|
|
58
|
-
`npx --yes copilotkit@4.
|
|
58
|
+
`npx --yes copilotkit@4.13.0 onboard read feature/chat-suggestions/proof`.
|
|
@@ -12,23 +12,23 @@ project-owned services running.
|
|
|
12
12
|
Report each attempt at the proof as it ends, counting from one:
|
|
13
13
|
|
|
14
14
|
```text
|
|
15
|
-
npx --yes copilotkit@4.
|
|
15
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
Report each repair cycle the same way, counting from one:
|
|
19
19
|
|
|
20
20
|
```text
|
|
21
|
-
npx --yes copilotkit@4.
|
|
21
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
After the final attempt, report the gate exactly once:
|
|
25
25
|
|
|
26
26
|
```text
|
|
27
|
-
npx --yes copilotkit@4.
|
|
27
|
+
npx --yes copilotkit@4.13.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Use `passed` only for a proved sent suggestion, `failed` for an attempted proof that failed,
|
|
31
|
-
and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.
|
|
31
|
+
and `skipped` when the proof could not run. Then run `npx --yes copilotkit@4.13.0 onboard audit`.
|
|
32
32
|
Continue only when it starts with `Status: passed`.
|
|
33
33
|
|
|
34
34
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -43,9 +43,9 @@ Run the audit again after each accepted or authorized change.
|
|
|
43
43
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
44
44
|
|
|
45
45
|
```text
|
|
46
|
-
npx --yes copilotkit@4.
|
|
46
|
+
npx --yes copilotkit@4.13.0 onboard read feature/stop
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
When the audit passes, run
|
|
50
|
-
`npx --yes copilotkit@4.
|
|
50
|
+
`npx --yes copilotkit@4.13.0 onboard read feature/complete` with the real browser-proof
|
|
51
51
|
outcome.
|
|
@@ -6,7 +6,7 @@ implementation, and proof to separate subagents and keep all work inside the tar
|
|
|
6
6
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
7
7
|
|
|
8
8
|
```text
|
|
9
|
-
npx --yes copilotkit@4.
|
|
9
|
+
npx --yes copilotkit@4.13.0 onboard protect
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -15,7 +15,7 @@ approved authorization before implementation.
|
|
|
15
15
|
|
|
16
16
|
Before edits, identify the current CopilotKit provider, chat component, message lifecycle,
|
|
17
17
|
agent id, package version, and test/dev commands. Prove the existing OSS round trip with
|
|
18
|
-
`/info`, `npx --yes copilotkit@4.
|
|
18
|
+
`/info`, `npx --yes copilotkit@4.13.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`,
|
|
19
19
|
and one real frontend request when browser control is available. If there is no proven
|
|
20
20
|
existing CopilotKit chat, leave files unchanged and direct the developer to generic
|
|
21
21
|
onboarding first.
|
|
@@ -23,7 +23,7 @@ onboarding first.
|
|
|
23
23
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
24
24
|
|
|
25
25
|
```text
|
|
26
|
-
npx --yes copilotkit@4.
|
|
26
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase research-returned
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -33,7 +33,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
|
|
|
33
33
|
changing files:
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
|
-
npx --yes copilotkit@4.
|
|
36
|
+
npx --yes copilotkit@4.13.0 onboard read feature/stop
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
Do not run login, provision Intelligence, request a credential, replace the agent, or alter
|
|
@@ -48,12 +48,14 @@ context-dependent follow-ups. Show an approved-plan-sized diff, a focused test,
|
|
|
48
48
|
that a visible suggestion submits the intended message.
|
|
49
49
|
|
|
50
50
|
The plan must list every protected path it needs to change under `Authorization requested`,
|
|
51
|
-
with one sentence explaining why. Write `None` when it needs none.
|
|
51
|
+
with one sentence explaining why. Write `None` when it needs none. Authorization covers
|
|
52
|
+
changing a protected path, not removing it, so the plan must not delete, move, or rename
|
|
53
|
+
one.
|
|
52
54
|
|
|
53
55
|
After approval, record each approved path before implementation:
|
|
54
56
|
|
|
55
57
|
```text
|
|
56
|
-
npx --yes copilotkit@4.
|
|
58
|
+
npx --yes copilotkit@4.13.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
57
59
|
```
|
|
58
60
|
|
|
59
61
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -63,7 +65,7 @@ authorize a path the approved plan did not list.
|
|
|
63
65
|
Then report the plan this run is about to implement:
|
|
64
66
|
|
|
65
67
|
```text
|
|
66
|
-
npx --yes copilotkit@4.
|
|
68
|
+
npx --yes copilotkit@4.13.0 onboard checkpoint --phase plan-written
|
|
67
69
|
```
|
|
68
70
|
|
|
69
|
-
Then run `npx --yes copilotkit@4.
|
|
71
|
+
Then run `npx --yes copilotkit@4.13.0 onboard read feature/chat-suggestions/implement`.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Use the outcome the proof step observed. Run:
|
|
4
4
|
|
|
5
5
|
```text
|
|
6
|
-
npx --yes copilotkit@4.
|
|
6
|
+
npx --yes copilotkit@4.13.0 onboard complete --visual-check <performed|skipped-no-browser-tool|failed>
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
Use `performed` only when browser control drove the real user-visible surface. Use
|