copilotkit 4.27.0 → 4.28.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 +155 -23
- package/cli-build-info.json +7 -7
- package/index.js +7748 -4981
- package/onboarding/index.json +3 -2
- package/onboarding/prompts/authenticate/start.md +42 -55
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +28 -24
- package/onboarding/prompts/credentials/plan.md +31 -28
- package/onboarding/prompts/credentials/settle-credentials.md +7 -7
- package/onboarding/prompts/credentials/write-plan.md +54 -36
- package/onboarding/prompts/deployment/choose-local.md +9 -9
- package/onboarding/prompts/deployment/local-evaluation.md +11 -11
- package/onboarding/prompts/fallback/best-effort.md +9 -13
- package/onboarding/prompts/feature/a2ui/implement.md +4 -4
- package/onboarding/prompts/feature/a2ui/plan.md +3 -3
- package/onboarding/prompts/feature/a2ui/proof.md +5 -5
- package/onboarding/prompts/feature/a2ui/start.md +8 -8
- package/onboarding/prompts/feature/channels/implement.md +7 -7
- package/onboarding/prompts/feature/channels/plan.md +5 -5
- package/onboarding/prompts/feature/channels/proof.md +8 -7
- package/onboarding/prompts/feature/channels/start.md +9 -9
- package/onboarding/prompts/feature/chat-suggestions/implement.md +4 -4
- package/onboarding/prompts/feature/chat-suggestions/plan.md +3 -3
- package/onboarding/prompts/feature/chat-suggestions/proof.md +5 -5
- package/onboarding/prompts/feature/chat-suggestions/start.md +8 -8
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +12 -12
- package/onboarding/prompts/feature/learning/plan.md +4 -4
- package/onboarding/prompts/feature/learning/proof.md +13 -13
- package/onboarding/prompts/feature/learning/start.md +8 -8
- package/onboarding/prompts/feature/open-generative-ui/implement.md +4 -4
- package/onboarding/prompts/feature/open-generative-ui/plan.md +3 -3
- package/onboarding/prompts/feature/open-generative-ui/proof.md +5 -5
- package/onboarding/prompts/feature/open-generative-ui/start.md +8 -8
- package/onboarding/prompts/feature/realtime-sync/implement.md +5 -5
- package/onboarding/prompts/feature/realtime-sync/plan.md +3 -3
- package/onboarding/prompts/feature/realtime-sync/proof.md +5 -5
- package/onboarding/prompts/feature/realtime-sync/start.md +7 -7
- package/onboarding/prompts/feature/rich-threads/implement.md +6 -6
- package/onboarding/prompts/feature/rich-threads/plan.md +3 -3
- package/onboarding/prompts/feature/rich-threads/proof.md +5 -5
- package/onboarding/prompts/feature/rich-threads/start.md +7 -7
- package/onboarding/prompts/feature/stop.md +4 -4
- package/onboarding/prompts/feature/voice/implement.md +4 -4
- package/onboarding/prompts/feature/voice/plan.md +4 -4
- package/onboarding/prompts/feature/voice/proof.md +5 -5
- package/onboarding/prompts/feature/voice/start.md +8 -8
- package/onboarding/prompts/framework/ag2.md +3 -3
- package/onboarding/prompts/framework/agno.md +3 -3
- package/onboarding/prompts/framework/built-in.md +3 -3
- package/onboarding/prompts/framework/claude-sdk-python.md +3 -3
- package/onboarding/prompts/framework/claude-sdk-typescript.md +3 -3
- package/onboarding/prompts/framework/crewai-flows.md +6 -6
- package/onboarding/prompts/framework/custom-ag-ui.md +4 -4
- package/onboarding/prompts/framework/deep-agents.md +3 -3
- package/onboarding/prompts/framework/google-adk.md +3 -3
- package/onboarding/prompts/framework/langgraph-fastapi.md +3 -3
- package/onboarding/prompts/framework/langgraph-python.md +3 -3
- package/onboarding/prompts/framework/langgraph-typescript.md +3 -3
- package/onboarding/prompts/framework/llamaindex.md +3 -3
- package/onboarding/prompts/framework/mastra.md +3 -3
- package/onboarding/prompts/framework/ms-agent-dotnet.md +5 -5
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +5 -5
- package/onboarding/prompts/framework/ms-agent-python.md +3 -3
- package/onboarding/prompts/framework/pydantic-ai.md +3 -3
- package/onboarding/prompts/framework/strands-python.md +3 -3
- package/onboarding/prompts/framework/strands-typescript.md +3 -3
- package/onboarding/prompts/frontend/angular.md +4 -4
- package/onboarding/prompts/frontend/nextjs.md +4 -4
- package/onboarding/prompts/frontend/plan.md +12 -12
- package/onboarding/prompts/frontend/react-native.md +3 -3
- package/onboarding/prompts/frontend/react-spa.md +3 -3
- package/onboarding/prompts/frontend/vue.md +3 -3
- package/onboarding/prompts/implementation/build-and-validate.md +16 -14
- package/onboarding/prompts/proof/complete.md +6 -7
- package/onboarding/prompts/proof/oss-baseline.md +8 -5
- package/onboarding/prompts/proof/round-trip.md +18 -20
- package/onboarding/prompts/research/gather.md +38 -10
- package/onboarding/prompts/research/merge.md +3 -3
- package/onboarding/prompts/research/preflight.md +2 -2
- package/onboarding/prompts/research/route.md +10 -4
- package/onboarding/prompts/setup/questions.md +53 -234
- package/onboarding/prompts/starter/clone.md +42 -33
- package/onboarding/prompts/stopped/run-failed.md +3 -3
- package/onboarding/prompts/subagent/create-plan.md +32 -34
- package/onboarding/prompts/subagent/implement-and-validate.md +12 -35
- 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 +35 -52
- package/onboarding/prompts/unsupported/no-validated-path.md +3 -3
- package/package.json +1 -1
- package/release/release-tool.js +8 -1
package/onboarding/index.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"graphTree": "
|
|
2
|
+
"graphTree": "7638f7b001415b1dbd5bdd5204b9c296810439f7",
|
|
3
3
|
"intentRoots": {
|
|
4
4
|
"add-a2ui": "feature/a2ui/start",
|
|
5
5
|
"add-chat-suggestions": "feature/chat-suggestions/start",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"add-rich-threads": "feature/rich-threads/start",
|
|
10
10
|
"add-voice": "feature/voice/start"
|
|
11
11
|
},
|
|
12
|
-
"packageSpec": "copilotkit@4.
|
|
12
|
+
"packageSpec": "copilotkit@4.28.0",
|
|
13
13
|
"root": "authenticate/start",
|
|
14
14
|
"prompts": [
|
|
15
15
|
{
|
|
@@ -620,6 +620,7 @@
|
|
|
620
620
|
{
|
|
621
621
|
"edges": [
|
|
622
622
|
"subagent/inspect-repository",
|
|
623
|
+
"setup/questions",
|
|
623
624
|
"research/preflight",
|
|
624
625
|
"stopped/run-failed"
|
|
625
626
|
],
|
|
@@ -6,19 +6,23 @@ This run executes the CopilotKit CLI through `npx`.
|
|
|
6
6
|
It spawns read-only inspection subagents inside the target project. It sends checkpoints
|
|
7
7
|
and optional friction reports to CopilotKit under the developer's telemetry setting. It
|
|
8
8
|
reads nothing outside the project
|
|
9
|
-
directory. It changes files only after writing the plan, and asks before any
|
|
10
|
-
the
|
|
9
|
+
directory. It changes files only after writing the plan, and asks before any change the
|
|
10
|
+
plan says needs the developer's approval. CopilotKit
|
|
11
11
|
Intelligence has a free Developer plan, and this run needs no paid subscription.
|
|
12
12
|
|
|
13
13
|
## Command approvals
|
|
14
14
|
|
|
15
15
|
Run each CLI call exactly as written, as its own command: no pipe, `tee`, `&&`, redirect,
|
|
16
16
|
or variable prefix. Every CLI call in this run matches the prefix rule
|
|
17
|
-
`["npx", "--prefer-offline", "--yes", "copilotkit@4.
|
|
17
|
+
`["npx", "--prefer-offline", "--yes", "copilotkit@4.28.0"]`.
|
|
18
|
+
|
|
18
19
|
<!-- sandboxed-harness -->
|
|
20
|
+
|
|
19
21
|
If a command can request escalation with a prefix rule, request this one on the
|
|
20
22
|
`onboard identify` call.
|
|
23
|
+
|
|
21
24
|
<!-- /sandboxed-harness -->
|
|
25
|
+
|
|
22
26
|
If your harness asks the developer to approve commands, tell them one approval of that
|
|
23
27
|
prefix covers every CLI call. Say then that the install, the dev servers, `curl` to the local app, and
|
|
24
28
|
`ps`, `lsof`, and `kill` ask for approval later.
|
|
@@ -27,17 +31,21 @@ Never add or edit a permission rule or a settings file yourself. That choice bel
|
|
|
27
31
|
the developer.
|
|
28
32
|
|
|
29
33
|
If your harness refuses a CLI call without asking the developer, do not retry it or run it
|
|
30
|
-
another way. Report the pause: `npx --prefer-offline --yes copilotkit@4.
|
|
34
|
+
another way. Report the pause: `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`.
|
|
31
35
|
Name the refused command, ask the developer to approve it or to switch to a
|
|
32
36
|
mode that asks them, and end your turn. When they answer, run it once more.
|
|
33
37
|
That refusal is a pause, not a stop.
|
|
34
38
|
|
|
35
39
|
## First, say which coding agent you are
|
|
36
40
|
|
|
37
|
-
|
|
41
|
+
Before you run any other command, write this one line in your own reply: "Setting up
|
|
42
|
+
CopilotKit: I check your sign-in and your project, then show you the setup." The developer
|
|
43
|
+
does not see your tool output, and the welcome comes later, with the setup message.
|
|
44
|
+
|
|
45
|
+
Then run this:
|
|
38
46
|
|
|
39
47
|
```text
|
|
40
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
48
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
|
|
41
49
|
```
|
|
42
50
|
|
|
43
51
|
Report your product slug, such as `codex` or `claude-code`.
|
|
@@ -62,37 +70,20 @@ the whole run. Every later command reports against it.
|
|
|
62
70
|
|
|
63
71
|
`onboard read research/gather` gives the rules for the rest of the run.
|
|
64
72
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
Welcome to CopilotKit! By the end of this run, your application talks to an AI agent and
|
|
69
|
-
keeps each conversation as Rich Threads. Users can return to earlier work. Where enabled,
|
|
70
|
-
Automatic Learning then helps your agent improve from that history: it finds usage patterns
|
|
71
|
-
and proposes reusable Skills, and you approve which Skills it gets.
|
|
72
|
-
|
|
73
|
-
I will check sign-in, inspect your project, and recommend a setup. You get a written plan
|
|
74
|
-
before any change, and your approval before anything risky. `onboard restore` puts back
|
|
75
|
-
the files my backup holds, and my closing report names any it left out. Then I build the
|
|
76
|
-
integration, prove the full round trip, and leave the app running with its URLs.
|
|
77
|
-
|
|
78
|
-
Everything I need from you comes first: sign-in and a few short setup questions. If I need
|
|
79
|
-
you to approve a command, or something blocks me, I will ask you here. Otherwise you hear
|
|
80
|
-
from me next when the app is running and I hand you its URLs.
|
|
81
|
-
To self-host on your machine with Docker, say so before you sign in.
|
|
82
|
-
|
|
83
|
-
That message belongs to the run. Send it only once, including after a second read of this prompt.
|
|
84
|
-
Then run `npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase welcome-sent`.
|
|
73
|
+
Do not write a welcome of your own. The CLI puts the run's welcome at the top of the setup
|
|
74
|
+
message, which says to write it in your own reply, because the developer does not see your
|
|
75
|
+
tool output.
|
|
85
76
|
|
|
86
77
|
## Report a stop, wherever it happens
|
|
87
78
|
|
|
88
79
|
If you stop this run at any point, send one short report before you stop. This includes
|
|
89
80
|
unexpected stops and stops caused by your harness.
|
|
90
81
|
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
91
|
-
Report the pause: `npx --prefer-offline --yes copilotkit@4.
|
|
82
|
+
Report the pause: `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`.
|
|
92
83
|
A terminal that sends the report itself, or says to file none, overrides this.
|
|
93
84
|
|
|
94
85
|
```text
|
|
95
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
86
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
96
87
|
```
|
|
97
88
|
|
|
98
89
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -110,15 +101,15 @@ rule that stopped you says next: send the report, then stop.
|
|
|
110
101
|
Take the local route only when the developer already asked to run CopilotKit locally,
|
|
111
102
|
with Docker, or self-hosted: in their request, the copied prompt, or a later reply, or
|
|
112
103
|
when this run already recorded local. Then run
|
|
113
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
104
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read deployment/choose-local` instead.
|
|
114
105
|
|
|
115
106
|
Otherwise keep managed. Do not ask the developer to choose. Run
|
|
116
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
107
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard deployment --choice managed`, then continue with
|
|
117
108
|
“Check sign-in”. If it refuses because of a local stack, take the local route.
|
|
118
109
|
|
|
119
110
|
## Check sign-in
|
|
120
111
|
|
|
121
|
-
Run `npx --prefer-offline --yes copilotkit@4.
|
|
112
|
+
Run `npx --prefer-offline --yes copilotkit@4.28.0 login --json --onboarding` before any project work. It checks the
|
|
122
113
|
session and starts sign-in only as needed. Treat this as a long-lived
|
|
123
114
|
streaming process. Do not wait for the command to exit before you read its standard output.
|
|
124
115
|
|
|
@@ -126,40 +117,36 @@ Read each JSON Lines record as it arrives:
|
|
|
126
117
|
|
|
127
118
|
1. If the process emits `type: completed` without an `authentication_url`, continue: the
|
|
128
119
|
existing session is valid.
|
|
129
|
-
2. If the process emits `authentication_url`,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
3. The CLI opens the page in the default browser itself when it can, and the
|
|
141
|
-
`action_required` record says whether it did. With `"browser_opened": true`, do not open
|
|
142
|
-
it again. With `"browser_opened": false`, show the clickable URL to the developer and ask
|
|
143
|
-
them to finish sign-in there. Your own built-in browser
|
|
144
|
-
does not carry the session the developer already signed in with, so do not use it.
|
|
120
|
+
2. If the process emits `authentication_url`, the developer must sign in. The process is
|
|
121
|
+
still running.
|
|
122
|
+
3. The CLI does not open the page. The first `action_required` record carries a `message`:
|
|
123
|
+
why to sign in, then the link and the code. Write that `message` in your own reply, word
|
|
124
|
+
for word, and add nothing else. The developer does not see your tool output. Do not open
|
|
125
|
+
the page yourself: the developer opens it from your message. Then report the pause with
|
|
126
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer` and end your
|
|
127
|
+
turn. Until the developer says they signed in, send them nothing more. When the research or
|
|
128
|
+
another helper returns, record what it found and end your turn without a message. Your own
|
|
129
|
+
built-in browser does not carry the session the developer already signed in with,
|
|
130
|
+
so do not use it.
|
|
145
131
|
A later `authentication_url` record with `"renewed": true` means the earlier code expired.
|
|
146
|
-
|
|
147
|
-
`browser_opened` is false.
|
|
132
|
+
Write its `message` the same way.
|
|
148
133
|
4. Keep monitoring the same login process. Do not start a second login command.
|
|
149
134
|
5. Go past the research only after that same process emits `type: completed`.
|
|
150
135
|
6. On `type: failed` with `reason: expired` or `reason: renewal_failed`, ask once whether to
|
|
151
|
-
retry. If yes, start one new `login --json`. Use `--force` only when the
|
|
136
|
+
retry. If yes, start one new `login --json --onboarding`. Use `--force` only when the
|
|
137
|
+
developer asks.
|
|
152
138
|
7. If that process emits `type: failed`, report the error and stop onboarding. On
|
|
153
139
|
`reason: repeated_expiry`, rerun `login` with `--force` only if the developer asks.
|
|
154
140
|
|
|
155
|
-
On `type: completed`, run `npx --prefer-offline --yes copilotkit@4.
|
|
141
|
+
On `type: completed`, run `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase sign-in-settled`
|
|
156
142
|
before you continue.
|
|
157
143
|
|
|
158
144
|
If your harness ends the login process or your turn before the process emits
|
|
159
|
-
`type: completed` or `type: failed`, that is a pause, not a failed sign-in. Report the pause: `npx --prefer-offline --yes copilotkit@4.
|
|
145
|
+
`type: completed` or `type: failed`, that is a pause, not a failed sign-in. Report the pause: `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`.
|
|
160
146
|
If the process
|
|
161
147
|
still runs, end your turn and wait for the developer to say they signed in, then read the
|
|
162
|
-
same process. If the process ended without emitting `type: failed`, run
|
|
148
|
+
same process. If the process ended without emitting `type: failed`, run
|
|
149
|
+
`login --json --onboarding`
|
|
163
150
|
again and handle a new `authentication_url` as above. Step 4 forbids a second login only while the first one runs.
|
|
164
151
|
|
|
165
152
|
Do not use `whoami` for this check. Do not put account tokens or credentials in the
|
|
@@ -167,9 +154,9 @@ conversation.
|
|
|
167
154
|
|
|
168
155
|
Research reads only this project and needs no account. Start it as soon as the session is
|
|
169
156
|
valid or the developer has the sign-in page, and keep monitoring the login process while it
|
|
170
|
-
runs: `npx --prefer-offline --yes copilotkit@4.
|
|
157
|
+
runs: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read research/gather`. If this run already
|
|
171
158
|
started the research, do not start it again.
|
|
172
159
|
|
|
173
160
|
If sign-in stops onboarding, run
|
|
174
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
161
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read stopped/run-failed`. It does not judge
|
|
175
162
|
this project's stack.
|
|
@@ -100,7 +100,7 @@ of this journey, and a drawer that lists nothing is not a reason to mint one. Li
|
|
|
100
100
|
tokens stay a self-hosted concern.
|
|
101
101
|
|
|
102
102
|
Where this journey's frontend framework ships no threads drawer -- React Native --, the
|
|
103
|
-
fifth item is proved by `npx --prefer-offline --yes copilotkit@4.
|
|
103
|
+
fifth item is proved by `npx --prefer-offline --yes copilotkit@4.28.0 verify --round-trip`, which sends a
|
|
104
104
|
real request and reads the answer back off the thread it landed on. The run says which of
|
|
105
105
|
the two it proved. Do not send a run to the managed Intelligence dashboard to prove this.
|
|
106
106
|
An authenticated browser session at a hosted dashboard is the one thing an agent-driven run
|
|
@@ -116,7 +116,7 @@ and passed -- so a run scored on either one was scored on the same fact. Every r
|
|
|
116
116
|
resolves that condition from, while `licenseStatus` is a compatibility projection of it
|
|
117
117
|
for older thread surfaces and outlives them only until those surfaces go.
|
|
118
118
|
|
|
119
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
119
|
+
Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read credentials/finalize-plan`.
|
|
120
120
|
|
|
121
121
|
If a selected page does not load after the second method, run
|
|
122
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
122
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read unsupported/no-validated-path`.
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
# Select the Intelligence project
|
|
2
2
|
|
|
3
3
|
For a recorded local choice, run
|
|
4
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
4
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read deployment/local-evaluation`.
|
|
5
5
|
That path connects the local project with the approval the setup message took.
|
|
6
6
|
Skip hosted selection.
|
|
7
7
|
Keep the implementation and feature-proof requirements.
|
|
8
8
|
|
|
9
9
|
Use the selected framework, frontend, model vendor, model, documentation URLs, and
|
|
10
10
|
repository findings. When the framework, frontend or vendor is not in your context, read it
|
|
11
|
-
from `npx --prefer-offline --yes copilotkit@4.
|
|
11
|
+
from `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`, and do not ask again. On a conversion, use the values the conversion prompt recorded, and
|
|
12
12
|
ask no framework or frontend question. Do not change application code in this phase. Do
|
|
13
13
|
not read, show, store, or request a secret value.
|
|
14
14
|
|
|
15
15
|
Ask every choice that is still open at this point in one message, one numbered line per
|
|
16
|
-
choice, and end your turn to wait for the answer. Write each as the
|
|
17
|
-
recommendation first, in bold, and the alternatives on one `Other:` line. Add a short
|
|
16
|
+
choice, and end your turn to wait for the answer. Write each as the options view of `onboard setup-message`
|
|
17
|
+
does: the recommendation first, in bold, and the alternatives on one `Other:` line. Add a short
|
|
18
18
|
reason only when it names something in the developer's own project. Do not ask about the plan here.
|
|
19
19
|
|
|
20
20
|
Before you end your turn to wait for the developer, report the pause:
|
|
21
21
|
|
|
22
22
|
```text
|
|
23
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
23
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
## Record the audit cell
|
|
@@ -38,7 +38,7 @@ Choose the starting state from the repository findings:
|
|
|
38
38
|
A run served `proof/oss-baseline` records one of the last two.
|
|
39
39
|
|
|
40
40
|
```text
|
|
41
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
41
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard classify --starting-state <starting-state> --agent-framework <agent-framework> --frontend <frontend> --model-vendor <model-vendor> --model-vendor-choice <model-vendor-choice>
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
`<model-vendor>` is `openai`, `anthropic`, `google`, `openai-compatible`, or `other`.
|
|
@@ -55,7 +55,7 @@ runtime `.env` file, that directory is the target, not the repository root. Do n
|
|
|
55
55
|
the developer to another terminal.
|
|
56
56
|
|
|
57
57
|
```text
|
|
58
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard credentials --json
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
Every credential this run writes goes to the environment path: the target's `.env`, or
|
|
@@ -80,7 +80,7 @@ the CLI kept: run `--create` with `question.recorded.create`, or `--project` wit
|
|
|
80
80
|
project answer `setup/questions` gave you. A new project with no recorded name takes
|
|
81
81
|
`suggestedName`. Ask the developer only when `question.taken` or `question.notFound` is
|
|
82
82
|
present, or when no answer was recorded. When they then give another project, record it
|
|
83
|
-
with `npx --prefer-offline --yes copilotkit@4.
|
|
83
|
+
with `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers --create <name>` or
|
|
84
84
|
`--project <slug>`.
|
|
85
85
|
|
|
86
86
|
`project-name` means that no project is bound here, so creating a project for this
|
|
@@ -93,7 +93,7 @@ unless the developer says that it is this app's.
|
|
|
93
93
|
Before you end your turn to wait for the developer, report the pause:
|
|
94
94
|
|
|
95
95
|
```text
|
|
96
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
96
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
If no developer answers, create with the derived name in `suggestedName`. Never select a
|
|
@@ -102,9 +102,9 @@ project from a listing without an answer that names it.
|
|
|
102
102
|
`--runtime-url` is the URL port research settled, mount path included:
|
|
103
103
|
|
|
104
104
|
```text
|
|
105
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
105
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard credentials --create <name> \
|
|
106
106
|
--runtime-url http://localhost:<port>/api/copilotkit --json
|
|
107
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
107
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard credentials --project <slug-or-id> \
|
|
108
108
|
--runtime-url http://localhost:<port>/api/copilotkit --json
|
|
109
109
|
```
|
|
110
110
|
|
|
@@ -116,12 +116,12 @@ show only what they asked for, and do not order it by creation time:
|
|
|
116
116
|
Before you end your turn to wait for the developer, report the pause:
|
|
117
117
|
|
|
118
118
|
```text
|
|
119
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
119
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
|
|
120
120
|
```
|
|
121
121
|
|
|
122
122
|
```text
|
|
123
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
124
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
123
|
+
npx --prefer-offline --yes copilotkit@4.28.0 project list --json
|
|
124
|
+
npx --prefer-offline --yes copilotkit@4.28.0 project list --search <query> --json
|
|
125
125
|
```
|
|
126
126
|
|
|
127
127
|
`app-directory` means that the key landed where no app reads it. Pick the directory in
|
|
@@ -129,10 +129,14 @@ npx --prefer-offline --yes copilotkit@4.27.0 project list --search <query> --jso
|
|
|
129
129
|
the `--project` command from there with `project.slug`. Do not copy or link the key file.
|
|
130
130
|
|
|
131
131
|
`env-file-exposed` means that git tracks the env file the key goes into, or does not
|
|
132
|
-
ignore it. So nothing was written.
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
132
|
+
ignore it. So nothing was written. Read `envFile` from
|
|
133
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`, which keeps the developer's answer to
|
|
134
|
+
that line in the setup message: `approved` approves the change the line asks for,
|
|
135
|
+
`alternative` chose `question.alternative`, and `declined` declined both. Act on it without
|
|
136
|
+
asking again. An accepting reply to the setup message never approves a line with
|
|
137
|
+
`question.untrack`: it takes `question.alternative` when there is one. Without `envFile`,
|
|
138
|
+
ask it now as its own question, and record the answer with `onboard setup-answers
|
|
139
|
+
--env-line <approved|alternative|declined>`. For a line that is still open, ask the developer
|
|
136
140
|
`question.ask` in those words. When `question.alternative` is present, the question offers
|
|
137
141
|
two choices. If the developer chose `question.alternative`, here or in the setup message,
|
|
138
142
|
run the same command again with `question.alternative.rerun` added. The CLI adds
|
|
@@ -140,7 +144,7 @@ run the same command again with `question.alternative.rerun` added. The CLI adds
|
|
|
140
144
|
If they approve the untrack, add
|
|
141
145
|
`question.ignoreLine` to `question.ignoreFile`. If `question.untrack` is present, run it
|
|
142
146
|
too. Or the developer does both. Report the pause with
|
|
143
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
147
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`, end your
|
|
144
148
|
turn, and wait for the answer. Then run the same command again. Write the key only to
|
|
145
149
|
`question.file`, or to `question.alternative.file` by rerunning with
|
|
146
150
|
`question.alternative.rerun`.
|
|
@@ -148,12 +152,12 @@ turn, and wait for the answer. Then run the same command again. Write the key on
|
|
|
148
152
|
## Carry the result into the plan
|
|
149
153
|
|
|
150
154
|
- `planChanges`: list each file in the plan. Mark each one that has uncommitted changes, so
|
|
151
|
-
the developer sees it in the plan. It is a
|
|
152
|
-
does not end the run.
|
|
153
|
-
- `backup`: give it to the planning subagent. A `partial` or `failed` backup
|
|
154
|
-
|
|
155
|
+
the developer sees it in the plan. It is a change that needs approval, so the plan asks
|
|
156
|
+
about it. It does not end the run.
|
|
157
|
+
- `backup`: give it to the planning subagent. A `partial` or `failed` backup needs
|
|
158
|
+
approval, because `onboard restore` cannot put back what the backup does not hold.
|
|
155
159
|
- `project.slug` is the selected project. `"key": "unverified"` means the project was
|
|
156
160
|
reused. The round-trip proof later runs the authenticated Intelligence checks, so record
|
|
157
161
|
the reused project credentials as unverified in the plan until those checks pass.
|
|
158
162
|
|
|
159
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
163
|
+
Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read credentials/settle-credentials`.
|
|
@@ -1,28 +1,31 @@
|
|
|
1
1
|
# Select the agent framework
|
|
2
2
|
|
|
3
|
-
First run `npx --prefer-offline --yes copilotkit@4.
|
|
3
|
+
First run `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`. It prints the answers that
|
|
4
4
|
`setup/questions` recorded, even after this conversation lost them. Use its `framework` and
|
|
5
5
|
its `vendor`, with `vendor.choice`, `vendor.baseUrl` and `vendor.modelId`. That node asked
|
|
6
6
|
the developer, so ask nothing here. A run that proved its existing agent, frontend, and
|
|
7
7
|
CopilotKit integration did not read that node: keep the agent's framework from the
|
|
8
|
-
findings
|
|
8
|
+
findings. Record it with
|
|
9
|
+
`onboard setup-answers --framework <name> --vendor <vendor> --vendor-choice existing`, or
|
|
10
|
+
with `--vendor other --vendor-choice existing` when the findings do not show its vendor.
|
|
11
|
+
`existing` is a choice, not a vendor.
|
|
9
12
|
|
|
10
13
|
Ask only for what the record lacks and no other path settles. When it holds no
|
|
11
14
|
framework and no vendor, ask the framework and model provider lines in one message.
|
|
12
|
-
Write each as the setup
|
|
15
|
+
Write each as the options view of `onboard setup-message` does: the recommendation first, in bold, and the
|
|
13
16
|
alternatives on one `Other:` line. When
|
|
14
17
|
it holds a framework and no vendor, ask the model provider line alone: without an answer, the
|
|
15
18
|
framework node uses OpenAI, which the developer never chose. Recommend the framework that
|
|
16
19
|
the repository findings show, or, for an empty project, a documented default. For the
|
|
17
|
-
provider, recommend the framework's default vendor, and offer only the other vendors
|
|
18
|
-
|
|
20
|
+
provider, recommend the framework's default vendor, and offer only the other vendors it takes:
|
|
21
|
+
`onboard setup-answers` refuses any other and names the ones it takes. On most frameworks that is OpenAI or an
|
|
19
22
|
OpenAI-compatible provider: if the developer names Anthropic or Google for a new agent
|
|
20
23
|
there, say that this release supports the row's vendors on that framework, that Anthropic
|
|
21
24
|
and Google come in a later release, and offer the Built-in CopilotKit agent if they need
|
|
22
25
|
them now. Record the answers with
|
|
23
26
|
`onboard setup-answers --framework <name> --vendor <vendor> --vendor-choice <choice>`.
|
|
24
27
|
Report the pause with
|
|
25
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
28
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`, then end your
|
|
26
29
|
turn and wait for the answer. A route that records no framework or vendor on purpose is not
|
|
27
30
|
this case: an empty project with Slack or Microsoft Teams, a "Project-defined" vendor, or
|
|
28
31
|
"The agent's own" vendor.
|
|
@@ -46,7 +49,7 @@ Microsoft Teams docs page, do not ask the framework question. So does an empty p
|
|
|
46
49
|
whose frontend `setup/questions` recorded as Slack or Microsoft Teams: it recorded no
|
|
47
50
|
framework. The Channel starter brings its own agent, so an answer here decides nothing. Tell the developer that the Channel
|
|
48
51
|
starter decides the agent, then run
|
|
49
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read frontend/plan`.
|
|
50
53
|
|
|
51
54
|
## Route on the recorded framework
|
|
52
55
|
|
|
@@ -55,28 +58,28 @@ chosen: `developer`, `default`, or `existing`. The framework route uses this ven
|
|
|
55
58
|
|
|
56
59
|
Use exactly one matching internal route:
|
|
57
60
|
|
|
58
|
-
1. AG2: `npx --prefer-offline --yes copilotkit@4.
|
|
59
|
-
2. Agno: `npx --prefer-offline --yes copilotkit@4.
|
|
60
|
-
3. Built-in CopilotKit agent: `npx --prefer-offline --yes copilotkit@4.
|
|
61
|
-
4. Claude Agent SDK Python: `npx --prefer-offline --yes copilotkit@4.
|
|
62
|
-
5. Claude Agent SDK TypeScript: `npx --prefer-offline --yes copilotkit@4.
|
|
63
|
-
6. CrewAI Flows: `npx --prefer-offline --yes copilotkit@4.
|
|
64
|
-
7. Custom agent: `npx --prefer-offline --yes copilotkit@4.
|
|
65
|
-
8. Deep Agents: `npx --prefer-offline --yes copilotkit@4.
|
|
66
|
-
9. LangGraph Python: `npx --prefer-offline --yes copilotkit@4.
|
|
67
|
-
10. LangGraph FastAPI: `npx --prefer-offline --yes copilotkit@4.
|
|
68
|
-
11. LangGraph TypeScript: `npx --prefer-offline --yes copilotkit@4.
|
|
69
|
-
12. LlamaIndex: `npx --prefer-offline --yes copilotkit@4.
|
|
70
|
-
13. ADK: `npx --prefer-offline --yes copilotkit@4.
|
|
71
|
-
14. Microsoft Agent Framework Python: `npx --prefer-offline --yes copilotkit@4.
|
|
72
|
-
15. Microsoft Agent Framework .NET: `npx --prefer-offline --yes copilotkit@4.
|
|
73
|
-
16. Mastra: `npx --prefer-offline --yes copilotkit@4.
|
|
74
|
-
17. MS Agent Harness .NET: `npx --prefer-offline --yes copilotkit@4.
|
|
75
|
-
18. Pydantic AI: `npx --prefer-offline --yes copilotkit@4.
|
|
76
|
-
19. Strands Agents Python: `npx --prefer-offline --yes copilotkit@4.
|
|
77
|
-
20. Strands Agents TypeScript: `npx --prefer-offline --yes copilotkit@4.
|
|
61
|
+
1. AG2: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/ag2`
|
|
62
|
+
2. Agno: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/agno`
|
|
63
|
+
3. Built-in CopilotKit agent: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/built-in`
|
|
64
|
+
4. Claude Agent SDK Python: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/claude-sdk-python`
|
|
65
|
+
5. Claude Agent SDK TypeScript: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/claude-sdk-typescript`
|
|
66
|
+
6. CrewAI Flows: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/crewai-flows`
|
|
67
|
+
7. Custom agent: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/custom-ag-ui`
|
|
68
|
+
8. Deep Agents: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/deep-agents`
|
|
69
|
+
9. LangGraph Python: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/langgraph-python`
|
|
70
|
+
10. LangGraph FastAPI: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/langgraph-fastapi`
|
|
71
|
+
11. LangGraph TypeScript: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/langgraph-typescript`
|
|
72
|
+
12. LlamaIndex: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/llamaindex`
|
|
73
|
+
13. ADK: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/google-adk`
|
|
74
|
+
14. Microsoft Agent Framework Python: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/ms-agent-python`
|
|
75
|
+
15. Microsoft Agent Framework .NET: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/ms-agent-dotnet`
|
|
76
|
+
16. Mastra: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/mastra`
|
|
77
|
+
17. MS Agent Harness .NET: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/ms-agent-harness-dotnet`
|
|
78
|
+
18. Pydantic AI: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/pydantic-ai`
|
|
79
|
+
19. Strands Agents Python: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/strands-python`
|
|
80
|
+
20. Strands Agents TypeScript: `npx --prefer-offline --yes copilotkit@4.28.0 onboard read framework/strands-typescript`
|
|
78
81
|
|
|
79
82
|
An agent in any other framework takes route 7, whether or not it speaks AG-UI. So does a
|
|
80
83
|
new agent on a framework that is not listed. If the developer declines route 7 and every
|
|
81
84
|
listed framework, keep their current agent and run
|
|
82
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
85
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read unsupported/no-validated-path`.
|
|
@@ -21,10 +21,10 @@ The plan names the model credential variables. Run this from the directory that
|
|
|
21
21
|
`environmentPath` in the project step's result, with one `--model-key` for each variable:
|
|
22
22
|
|
|
23
23
|
```text
|
|
24
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
24
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard credentials --model-key <variable> --json
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Run `npx --prefer-offline --yes copilotkit@4.
|
|
27
|
+
Run `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers` for the key answer the setup
|
|
28
28
|
message recorded. If it holds `key.file`, add `--env-path <key.file>` to the first check.
|
|
29
29
|
When the framework node names another env file for the credential, add
|
|
30
30
|
`--env-path <file>`. When the agent runs as its own service, such as a remote AG-UI agent,
|
|
@@ -41,17 +41,17 @@ never prints a value. Read `status`:
|
|
|
41
41
|
`Files the run writes itself`.
|
|
42
42
|
The developer's answer to the key file line in the setup questions is their consent to
|
|
43
43
|
the copy. After the run shows the plan, copy the key with the command that `next` names. It has this form:
|
|
44
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
44
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard credentials --model-key <variable> --env-path <file> --copy-to <env file> --json`.
|
|
45
45
|
`<env file>` is `environmentPath`, never the tracked `.env` of a run that chose
|
|
46
46
|
`question.alternative.file`. It writes the key without printing it. Do not copy the key
|
|
47
47
|
yourself, and do not write a `sed`, `grep`, or `cat` command for it. If you cannot run
|
|
48
48
|
the command, for example because a sandbox refuses the path, ask the developer to run it.
|
|
49
49
|
Give them exactly this one line, with `<app directory>` as the directory that holds
|
|
50
50
|
`environmentPath`:
|
|
51
|
-
`! cd <app directory> && npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
`! cd <app directory> && npx --prefer-offline --yes copilotkit@4.28.0 onboard credentials --model-key <variable> --env-path <file> --copy-to <env file>`.
|
|
52
52
|
The command needs no input. Without `!`, they run the same command in a terminal.
|
|
53
53
|
Report the pause with
|
|
54
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
54
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-model-credential`,
|
|
55
55
|
end your turn, and wait. When they reply, run the same command with `--json` and read `copiedKeys`.
|
|
56
56
|
If the developer declines the copy, the plan has the app read the key from an
|
|
57
57
|
environment variable that the developer sets. The plan then says how to set it. Never
|
|
@@ -69,7 +69,7 @@ never prints a value. Read `status`:
|
|
|
69
69
|
The `reason` `compatible-base-url-missing` or `key-not-openai` means that the key belongs
|
|
70
70
|
to an OpenAI-compatible provider, but no file names its base URL, so nothing was sent.
|
|
71
71
|
Ask the developer for the provider's base URL, record it with
|
|
72
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
72
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers --vendor openai-compatible --base-url <url> --model-id <id>`,
|
|
73
73
|
and run this step again.
|
|
74
74
|
- `needs-developer` with `question.reason` `local-endpoint-no-key`: the base URL is a local
|
|
75
75
|
server that needs no key, such as Ollama or LM Studio. The OpenAI SDKs refuse an empty
|
|
@@ -113,4 +113,4 @@ Never read a file outside the project directory to find a credential: a key foun
|
|
|
113
113
|
bills another project. Asking for a path is not requesting a secret. A path the developer
|
|
114
114
|
names is theirs to give, including one outside the project. A path this run finds is not.
|
|
115
115
|
|
|
116
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
116
|
+
Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read credentials/write-plan`.
|