copilotkit 4.12.0 → 4.13.1
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 +10 -0
- package/cli-build-info.json +7 -7
- package/index.js +1590 -348
- package/onboarding/index.json +20 -2
- package/onboarding/prompts/authenticate/start.md +38 -33
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +9 -8
- package/onboarding/prompts/credentials/plan.md +26 -20
- package/onboarding/prompts/credentials/settle-credentials.md +8 -8
- 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 +6 -6
- package/onboarding/prompts/feature/a2ui/proof.md +6 -6
- package/onboarding/prompts/feature/a2ui/start.md +7 -7
- package/onboarding/prompts/feature/channels/implement.md +75 -12
- package/onboarding/prompts/feature/channels/proof.md +13 -6
- package/onboarding/prompts/feature/channels/start.md +27 -10
- package/onboarding/prompts/feature/chat-suggestions/implement.md +6 -6
- package/onboarding/prompts/feature/chat-suggestions/proof.md +6 -6
- package/onboarding/prompts/feature/chat-suggestions/start.md +7 -7
- package/onboarding/prompts/feature/complete.md +1 -1
- package/onboarding/prompts/feature/learning/implement.md +15 -15
- package/onboarding/prompts/feature/learning/proof.md +7 -7
- package/onboarding/prompts/feature/learning/start.md +8 -8
- package/onboarding/prompts/feature/open-generative-ui/implement.md +6 -6
- package/onboarding/prompts/feature/open-generative-ui/proof.md +6 -6
- package/onboarding/prompts/feature/open-generative-ui/start.md +7 -7
- package/onboarding/prompts/feature/realtime-sync/implement.md +7 -7
- package/onboarding/prompts/feature/realtime-sync/proof.md +6 -6
- package/onboarding/prompts/feature/realtime-sync/start.md +6 -6
- package/onboarding/prompts/feature/rich-threads/implement.md +8 -8
- package/onboarding/prompts/feature/rich-threads/proof.md +6 -6
- package/onboarding/prompts/feature/rich-threads/start.md +6 -6
- package/onboarding/prompts/feature/stop.md +2 -2
- package/onboarding/prompts/feature/voice/implement.md +6 -6
- package/onboarding/prompts/feature/voice/proof.md +6 -6
- package/onboarding/prompts/feature/voice/start.md +7 -7
- 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 +3 -3
- package/onboarding/prompts/frontend/nextjs.md +3 -3
- 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 +33 -15
- package/onboarding/prompts/proof/complete.md +35 -16
- package/onboarding/prompts/proof/oss-baseline.md +5 -5
- package/onboarding/prompts/proof/round-trip.md +23 -12
- package/onboarding/prompts/research/gather.md +12 -102
- package/onboarding/prompts/research/merge.md +60 -0
- package/onboarding/prompts/research/preflight.md +75 -0
- package/onboarding/prompts/research/route.md +30 -6
- package/onboarding/prompts/starter/clone.md +5 -5
- package/onboarding/prompts/stopped/run-failed.md +2 -2
- package/onboarding/prompts/subagent/create-plan.md +18 -1
- package/onboarding/prompts/subagent/implement-and-validate.md +37 -0
- package/onboarding/prompts/subagent/inspect-repository.md +1 -1
- package/onboarding/prompts/subagent/prove-oss-baseline.md +1 -1
- package/onboarding/prompts/subagent/prove-round-trip.md +17 -7
- package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
- package/package.json +4 -1
- package/release/release-tool.js +101 -1
|
@@ -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.1 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.1 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.1 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.1 onboard read feature/stop
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
Do not run `login`, select an Intelligence project, add an Intelligence client, mint a
|
|
@@ -64,7 +64,7 @@ one.
|
|
|
64
64
|
After approval, record each approved path before implementation:
|
|
65
65
|
|
|
66
66
|
```text
|
|
67
|
-
npx --yes copilotkit@4.
|
|
67
|
+
npx --yes copilotkit@4.13.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -74,7 +74,7 @@ authorize a path the approved plan did not list.
|
|
|
74
74
|
Then report the plan this run is about to implement:
|
|
75
75
|
|
|
76
76
|
```text
|
|
77
|
-
npx --yes copilotkit@4.
|
|
77
|
+
npx --yes copilotkit@4.13.1 onboard checkpoint --phase plan-written
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
Then run `npx --yes copilotkit@4.
|
|
80
|
+
Then run `npx --yes copilotkit@4.13.1 onboard read feature/a2ui/implement`.
|
|
@@ -8,26 +8,64 @@ 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.1 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
|
+
|
|
57
|
+
A symbol this graph names is not that case. The `framework/<name>` nodes name the
|
|
58
|
+
current connection API for each framework, and one of them is deprecated at its
|
|
59
|
+
entrypoint while still being the documented path: `LangGraphAgent` from
|
|
60
|
+
`@copilotkit/runtime/langgraph` on the LangSmith route. The CopilotKit quickstart
|
|
61
|
+
writes it, the starters this graph clones are built on it, and its own tooltip
|
|
62
|
+
names no replacement. Write what the framework node names. Do not rewrite a cloned
|
|
63
|
+
starter to satisfy this rule, and do not report the page that shows it.
|
|
64
|
+
|
|
27
65
|
After validation and each repair, run:
|
|
28
66
|
|
|
29
67
|
```text
|
|
30
|
-
npx --yes copilotkit@4.
|
|
68
|
+
npx --yes copilotkit@4.13.1 onboard audit
|
|
31
69
|
```
|
|
32
70
|
|
|
33
71
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -38,7 +76,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
38
76
|
the path, accept the developer's external change:
|
|
39
77
|
|
|
40
78
|
```text
|
|
41
|
-
npx --yes copilotkit@4.
|
|
79
|
+
npx --yes copilotkit@4.13.1 onboard protect --accept-external --path <path>
|
|
42
80
|
```
|
|
43
81
|
|
|
44
82
|
For an env file where the developer placed a requested credential, use
|
|
@@ -47,24 +85,49 @@ or its report does not settle who changed it, ask the developer to allow the unp
|
|
|
47
85
|
change. Only after they agree, record their answer:
|
|
48
86
|
|
|
49
87
|
```text
|
|
50
|
-
npx --yes copilotkit@4.
|
|
88
|
+
npx --yes copilotkit@4.13.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
51
89
|
```
|
|
52
90
|
|
|
53
91
|
Run the audit again after each accepted or authorized change. If it still fails, or starts
|
|
54
92
|
with `Status: blocked`, route out and stop:
|
|
55
93
|
|
|
56
94
|
```text
|
|
57
|
-
npx --yes copilotkit@4.
|
|
95
|
+
npx --yes copilotkit@4.13.1 onboard read feature/stop
|
|
58
96
|
```
|
|
59
97
|
|
|
98
|
+
## Values this run writes, and the one credential the developer supplies
|
|
99
|
+
|
|
100
|
+
Never ask the developer for `CHANNEL_CODE` or `CPK_INTELLIGENCE_API_KEY`. This run already
|
|
101
|
+
holds both, and writing them is your work, not theirs.
|
|
102
|
+
|
|
103
|
+
`CHANNEL_CODE` is the Channel name `channels add` declared. `.copilotkit/channels.json`
|
|
104
|
+
records the same name. `CPK_INTELLIGENCE_API_KEY` is the project key `project select`
|
|
105
|
+
wrote.
|
|
106
|
+
|
|
107
|
+
Write both into the environment file the application loads, which is the `.env` of the app
|
|
108
|
+
or runtime directory that reads it. Read the project to find that directory instead of
|
|
109
|
+
defaulting to the repository root, and keep both values in that one file. Carry the project
|
|
110
|
+
key over only when that file does not already set it, and move the line without displaying
|
|
111
|
+
what it holds.
|
|
112
|
+
|
|
113
|
+
Check both by name. Never read, print, echo, or log either value, and never put one in a
|
|
114
|
+
report, a command line, or a commit.
|
|
115
|
+
|
|
116
|
+
If that file already sets `CHANNEL_CODE` to a different Channel, change nothing. Ask the
|
|
117
|
+
developer which Channel this project serves and wait for their answer.
|
|
118
|
+
|
|
119
|
+
The only credential the developer supplies is their model provider key, such as
|
|
120
|
+
`OPENAI_API_KEY`, and the run asks for it once as part of plan approval. Never ask for it
|
|
121
|
+
again at backend start.
|
|
122
|
+
|
|
60
123
|
When implementation validation passes, report it:
|
|
61
124
|
|
|
62
125
|
```text
|
|
63
|
-
npx --yes copilotkit@4.
|
|
126
|
+
npx --yes copilotkit@4.13.1 onboard checkpoint --phase build-validated
|
|
64
127
|
```
|
|
65
128
|
|
|
66
129
|
If validation cannot pass, or this run needs a prerequisite the app does not have, use
|
|
67
130
|
the feature stop route above without further changes.
|
|
68
131
|
|
|
69
132
|
Otherwise run
|
|
70
|
-
`npx --yes copilotkit@4.
|
|
133
|
+
`npx --yes copilotkit@4.13.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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
|
|
@@ -76,7 +93,7 @@ one.
|
|
|
76
93
|
After approval, record each approved path before implementation:
|
|
77
94
|
|
|
78
95
|
```text
|
|
79
|
-
npx --yes copilotkit@4.
|
|
96
|
+
npx --yes copilotkit@4.13.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
80
97
|
```
|
|
81
98
|
|
|
82
99
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -86,7 +103,7 @@ authorize a path the approved plan did not list.
|
|
|
86
103
|
Then report the plan this run is about to implement:
|
|
87
104
|
|
|
88
105
|
```text
|
|
89
|
-
npx --yes copilotkit@4.
|
|
106
|
+
npx --yes copilotkit@4.13.1 onboard checkpoint --phase plan-written
|
|
90
107
|
```
|
|
91
108
|
|
|
92
|
-
Then run `npx --yes copilotkit@4.
|
|
109
|
+
Then run `npx --yes copilotkit@4.13.1 onboard read feature/channels/implement`.
|
|
@@ -15,7 +15,7 @@ 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.1 onboard audit
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 onboard read feature/stop
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
Do not run login, provision Intelligence, request a credential, replace the agent, or alter
|
|
@@ -55,7 +55,7 @@ one.
|
|
|
55
55
|
After approval, record each approved path before implementation:
|
|
56
56
|
|
|
57
57
|
```text
|
|
58
|
-
npx --yes copilotkit@4.
|
|
58
|
+
npx --yes copilotkit@4.13.1 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -65,7 +65,7 @@ authorize a path the approved plan did not list.
|
|
|
65
65
|
Then report the plan this run is about to implement:
|
|
66
66
|
|
|
67
67
|
```text
|
|
68
|
-
npx --yes copilotkit@4.
|
|
68
|
+
npx --yes copilotkit@4.13.1 onboard checkpoint --phase plan-written
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
-
Then run `npx --yes copilotkit@4.
|
|
71
|
+
Then run `npx --yes copilotkit@4.13.1 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.1 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
|
|
@@ -16,7 +16,7 @@ command without another developer question. Do not ask the developer about telem
|
|
|
16
16
|
command applies the setting they already have.
|
|
17
17
|
|
|
18
18
|
```text
|
|
19
|
-
npx --yes copilotkit@4.
|
|
19
|
+
npx --yes copilotkit@4.13.1 onboard friction --phase stop --category <slug>
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
Write one or two sentences to standard input: the step you stopped at and what stopped it.
|
|
@@ -41,7 +41,7 @@ settled refusal rather than a missing baseline, so stop here, before any file ch
|
|
|
41
41
|
take its own ending:
|
|
42
42
|
|
|
43
43
|
```text
|
|
44
|
-
npx --yes copilotkit@4.
|
|
44
|
+
npx --yes copilotkit@4.13.1 onboard read feature/blocked-by-plan
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
`LEARNING_AVAILABILITY_UNAVAILABLE` means the platform did not resolve the answer. It is
|
|
@@ -55,7 +55,7 @@ then, so the read below is where its refusal surfaces.
|
|
|
55
55
|
When the plan or the repository already names an id, ask about that one id and nothing else:
|
|
56
56
|
|
|
57
57
|
```text
|
|
58
|
-
npx --yes copilotkit@4.
|
|
58
|
+
npx --yes copilotkit@4.13.1 learning containers get <id> --json
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
One call answers it, and no list is needed.
|
|
@@ -63,7 +63,7 @@ One call answers it, and no list is needed.
|
|
|
63
63
|
When no id is in hand, survey what the project holds:
|
|
64
64
|
|
|
65
65
|
```text
|
|
66
|
-
npx --yes copilotkit@4.
|
|
66
|
+
npx --yes copilotkit@4.13.1 learning containers list --json
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
One call returns at most 500 containers. When `nextCursor` in the result is not null, read
|
|
@@ -74,7 +74,7 @@ second container for work the first one already covers.
|
|
|
74
74
|
Report what the read found before asking anyone anything:
|
|
75
75
|
|
|
76
76
|
```text
|
|
77
|
-
npx --yes copilotkit@4.
|
|
77
|
+
npx --yes copilotkit@4.13.1 onboard checkpoint --phase container-surveyed
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
Everything after this waits on a person, so a run that stops past this point stopped on a
|
|
@@ -95,7 +95,7 @@ user, so the callback can return a different id per tier or per customer.
|
|
|
95
95
|
Ask the CLI for the id rather than spelling one yourself:
|
|
96
96
|
|
|
97
97
|
```text
|
|
98
|
-
npx --yes copilotkit@4.
|
|
98
|
+
npx --yes copilotkit@4.13.1 learning containers default-id --json
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
It derives the project-scoped id from the selected project's slug, reads the local project
|
|
@@ -109,7 +109,7 @@ run that spells the id differently gives one project two containers, each below
|
|
|
109
109
|
above on its own. One command is what keeps the two spellings identical.
|
|
110
110
|
|
|
111
111
|
```text
|
|
112
|
-
npx --yes copilotkit@4.
|
|
112
|
+
npx --yes copilotkit@4.13.1 learning containers create --id <id> --name <name> --json
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
An id already in use answers `LEARNING_CONTAINER_ALREADY_EXISTS`. That is a container to
|
|
@@ -124,7 +124,7 @@ or a guessed id.
|
|
|
124
124
|
Then report that the container is settled, before any edit:
|
|
125
125
|
|
|
126
126
|
```text
|
|
127
|
-
npx --yes copilotkit@4.
|
|
127
|
+
npx --yes copilotkit@4.13.1 onboard checkpoint --phase container-settled
|
|
128
128
|
```
|
|
129
129
|
|
|
130
130
|
Everything above happens between two prompts, so a run that stopped on a developer who could
|
|
@@ -145,13 +145,13 @@ non-zero on an app that is working. Pass what `identifyUser` reads with a repeat
|
|
|
145
145
|
It is not a defect to repair.
|
|
146
146
|
|
|
147
147
|
Run focused tests and
|
|
148
|
-
`npx --yes copilotkit@4.
|
|
148
|
+
`npx --yes copilotkit@4.13.1 verify --expect-runtime intelligence --round-trip --agent <agent-id> --json`.
|
|
149
149
|
Repair changed-file failures and record secret-safe evidence.
|
|
150
150
|
|
|
151
151
|
After validation and each repair, run:
|
|
152
152
|
|
|
153
153
|
```text
|
|
154
|
-
npx --yes copilotkit@4.
|
|
154
|
+
npx --yes copilotkit@4.13.1 onboard audit
|
|
155
155
|
```
|
|
156
156
|
|
|
157
157
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -162,7 +162,7 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
162
162
|
the path, accept the developer's external change:
|
|
163
163
|
|
|
164
164
|
```text
|
|
165
|
-
npx --yes copilotkit@4.
|
|
165
|
+
npx --yes copilotkit@4.13.1 onboard protect --accept-external --path <path>
|
|
166
166
|
```
|
|
167
167
|
|
|
168
168
|
For an env file where the developer placed a requested credential, use
|
|
@@ -171,24 +171,24 @@ or its report does not settle who changed it, ask the developer to allow the unp
|
|
|
171
171
|
change. Only after they agree, record their answer:
|
|
172
172
|
|
|
173
173
|
```text
|
|
174
|
-
npx --yes copilotkit@4.
|
|
174
|
+
npx --yes copilotkit@4.13.1 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
175
175
|
```
|
|
176
176
|
|
|
177
177
|
Run the audit again after each accepted or authorized change. If it still fails, or starts
|
|
178
178
|
with `Status: blocked`, route out and stop:
|
|
179
179
|
|
|
180
180
|
```text
|
|
181
|
-
npx --yes copilotkit@4.
|
|
181
|
+
npx --yes copilotkit@4.13.1 onboard read feature/stop
|
|
182
182
|
```
|
|
183
183
|
|
|
184
184
|
When implementation validation passes, report it:
|
|
185
185
|
|
|
186
186
|
```text
|
|
187
|
-
npx --yes copilotkit@4.
|
|
187
|
+
npx --yes copilotkit@4.13.1 onboard checkpoint --phase build-validated
|
|
188
188
|
```
|
|
189
189
|
|
|
190
190
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
191
191
|
the feature stop route above without further changes.
|
|
192
192
|
|
|
193
193
|
Otherwise run
|
|
194
|
-
`npx --yes copilotkit@4.
|
|
194
|
+
`npx --yes copilotkit@4.13.1 onboard read feature/learning/proof`.
|