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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The project and its credentials are settled. This phase wires the runtime, has a
|
|
4
4
|
subagent write the plan, and shows the plan to the developer. The run waits for their
|
|
5
|
-
answer only when the plan makes a
|
|
5
|
+
answer only when the plan makes a change that needs approval or still needs the model key.
|
|
6
6
|
|
|
7
7
|
## If you stop in this phase
|
|
8
8
|
|
|
@@ -11,7 +11,7 @@ friction command follows the telemetry setting the developer already chose, so i
|
|
|
11
11
|
separate question.
|
|
12
12
|
|
|
13
13
|
```text
|
|
14
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
14
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -69,8 +69,11 @@ page is selected yet, add the one for the frontend selected above to the same li
|
|
|
69
69
|
4. React Native: select no drawer page. No page documents a threads drawer for React
|
|
70
70
|
Native, so the planner proves the thread with `verify --round-trip` instead.
|
|
71
71
|
|
|
72
|
+
When you start a subagent in the background, tell the developer in one sentence what it
|
|
73
|
+
does. Then send nothing more until it returns.
|
|
74
|
+
|
|
72
75
|
Spawn one planning subagent. Tell it to run
|
|
73
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
76
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read subagent/create-plan` first and follow the
|
|
74
77
|
prompt it returns. Tell it to return at once, and say so, if that read is refused or fails,
|
|
75
78
|
and not to wait for an approval. If it returns that way, stop that subagent. Run the same
|
|
76
79
|
command yourself, then spawn a fresh subagent with the returned prompt and the same handoff.
|
|
@@ -80,12 +83,14 @@ framework route told you to record, such as how the agent connects or a `clone()
|
|
|
80
83
|
Some of those rules, such as the `clone()` override, are on no documentation page. On a
|
|
81
84
|
conversion, also give it the frozen criterion. Give the planning subagent the paths that
|
|
82
85
|
had uncommitted changes when the run started, from the repository findings, and the
|
|
83
|
-
`backup` result from `onboard credentials`.
|
|
86
|
+
`backup` result from `onboard credentials`. Also give it the JSON that
|
|
87
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers` prints, so the plan does not ask again
|
|
88
|
+
for a change the setup message settled. Wait for the subagent to finish.
|
|
84
89
|
|
|
85
90
|
Continue only if the planning result starts with `Status: passed`. For `Status: failed`,
|
|
86
91
|
send the result back to the planning subagent for repair, up to three attempts. For
|
|
87
92
|
`Status: blocked`, or a third failed result, run
|
|
88
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
93
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read stopped/run-failed`. A plan this run cannot
|
|
89
94
|
write is a run that broke, not a stack the documentation does not cover. The exception is
|
|
90
95
|
a blocked result that names `unsupported/no-validated-path`: the planning subagent found
|
|
91
96
|
that no page supports the plan, so take the no-supported-path route at the end of this
|
|
@@ -100,28 +105,28 @@ move with them, and the revert it falls back to. It must not contain secret valu
|
|
|
100
105
|
|
|
101
106
|
## Show the plan
|
|
102
107
|
|
|
103
|
-
Show the plan as one short message
|
|
104
|
-
|
|
105
|
-
line with nothing to say
|
|
108
|
+
Show the plan as one short message. Under `What I will change`, write one line per item,
|
|
109
|
+
in this order: the agent, the app changes, the packages, Learning, and the notes. Leave out
|
|
110
|
+
a line with nothing to say. The changes that need approval have a heading of their own, and
|
|
111
|
+
the approval question is about them alone. When `Changes that need your approval` says `none`:
|
|
106
112
|
|
|
107
113
|
```text
|
|
108
114
|
Plan: no approval needed. Reply **stop** at any time.
|
|
109
115
|
|
|
116
|
+
What I will change:
|
|
110
117
|
- Agent: built-in CopilotKit agent on Groq (openai/gpt-oss-120b)
|
|
111
118
|
- App changes: runtime route, provider, chat with order status cards and a Threads drawer (7 files)
|
|
112
119
|
- Packages added: @copilotkit/runtime and @copilotkit/react-core 1.78.0, @ai-sdk/openai, zod. No upgrades.
|
|
113
120
|
- Learning: new container order-assistant
|
|
114
|
-
- Skills: CopilotKit skills into .agents/skills/ (say **no Skills** to skip)
|
|
115
121
|
- Note: the fixed test user identity works only in development (this app has no sign-in)
|
|
116
122
|
|
|
117
|
-
|
|
123
|
+
Changes that need your approval: none. `onboard restore` puts back what the backup holds.
|
|
118
124
|
```
|
|
119
125
|
|
|
120
126
|
- App changes: what the app gains, and how many files change.
|
|
121
127
|
- Packages: each package added, with the CopilotKit version. Name each version a move
|
|
122
128
|
changes, or end with "No upgrades."
|
|
123
129
|
- Learning: the container id, or that Learning is not available to this organization.
|
|
124
|
-
- Skills: the `Skills install` line, or "in place".
|
|
125
130
|
- A note is only for something that changes behavior or security, such as a local
|
|
126
131
|
placeholder, a side effect the plan blocks, a TypeScript upgrade, or an ignore-file line
|
|
127
132
|
this run adds.
|
|
@@ -129,67 +134,80 @@ Risky changes: none. `onboard restore` puts back what the backup holds.
|
|
|
129
134
|
Leave out what a feature does, the validation and proof steps, and the files the run
|
|
130
135
|
writes itself. They stay in the plan.
|
|
131
136
|
|
|
132
|
-
A plan with a
|
|
133
|
-
|
|
137
|
+
A plan with a change that needs approval puts those lines at the top, under their own
|
|
138
|
+
heading, from the plan's `Changes that need your approval` section. Every other line goes under
|
|
139
|
+
`What I will change`. Then the plan waits:
|
|
134
140
|
|
|
135
141
|
```text
|
|
136
|
-
Plan: reply **go** to make the
|
|
142
|
+
Plan: reply **go** to make the changes that need your approval, or name the ones to leave out. Reply **stop** at any time.
|
|
137
143
|
|
|
138
|
-
|
|
144
|
+
Changes that need your approval:
|
|
139
145
|
- package.json: moves @copilotkit/react-core from 1.70.2 to 1.78.0, which Intelligence needs
|
|
140
146
|
|
|
147
|
+
What I will change:
|
|
141
148
|
- Agent: ...
|
|
142
149
|
|
|
143
150
|
`onboard restore` puts back what the backup holds.
|
|
144
151
|
```
|
|
145
152
|
|
|
146
|
-
The Skills install is not a risky change, so the plan does not wait for it. If the developer
|
|
147
|
-
says no to it, at any point, carry that into the implementation and proof handoffs. If the
|
|
148
|
-
no arrives after the install, tell the developer that the install wrote `.agents/skills/`
|
|
149
|
-
and its links in `.claude/skills/`, and that deleting both removes it.
|
|
150
|
-
|
|
151
153
|
An upgrade to a working install is the developer's call. Do not upgrade a dependency the
|
|
152
154
|
plan does not name.
|
|
153
155
|
|
|
154
156
|
## Go on, or wait for one answer
|
|
155
157
|
|
|
156
|
-
Check `
|
|
158
|
+
Check `Changes that need your approval` first. Where the plan makes one of these and does not list it, send
|
|
157
159
|
the plan back to the planning subagent: a write outside the project, any CopilotKit
|
|
158
160
|
dependency version change, and a backup that is `partial` or `failed`.
|
|
159
161
|
|
|
160
|
-
When `
|
|
162
|
+
When `Changes that need your approval` says `none`, do not wait for an answer. Send the plan message and
|
|
161
163
|
start the build at once, in the same turn, with the read at the end of this section. Do not
|
|
162
164
|
ask the developer to approve the plan, and do not end your turn.
|
|
163
165
|
|
|
164
|
-
Otherwise, the plan's first line asks the
|
|
165
|
-
|
|
166
|
-
approves an untrack. Add one line: this is the last thing you need from them, unless a command needs their
|
|
166
|
+
Otherwise, the plan's first line asks the approval question, as above. A reply such as
|
|
167
|
+
"go" approves every change that needs approval except an untrack. An untrack needs its own yes
|
|
168
|
+
to the line that names it: **go** alone never approves an untrack. Add one line: this is the last thing you need from them, unless a command needs their
|
|
167
169
|
approval or something blocks you. Before you end your turn to
|
|
168
170
|
wait for the answer, report the pause, each time you show the plan:
|
|
169
171
|
|
|
170
172
|
```text
|
|
171
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
173
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-plan-approval --reason <reasons>
|
|
172
174
|
```
|
|
173
175
|
|
|
174
|
-
|
|
176
|
+
`--reason` names why the plan stopped, one reason for each kind of line that needs approval, separated
|
|
177
|
+
by commas, such as `--reason dependency_upgrade,file_count`:
|
|
178
|
+
|
|
179
|
+
- `dependency_upgrade`: a major version upgrade, or a move of an exact pin.
|
|
180
|
+
- `dependency_removal`: a dependency removed, or moved outside the declared range.
|
|
181
|
+
- `file_removal`: a file the developer wrote is deleted, moved, or renamed.
|
|
182
|
+
- `uncommitted_file`: a change to a file with uncommitted changes.
|
|
183
|
+
- `gitignore`: an untrack, or a `.gitignore` change.
|
|
184
|
+
- `env_file`: a write to an env file the app already uses.
|
|
185
|
+
- `existing_agent_change`: a change to the existing agent's behavior.
|
|
186
|
+
- `file_count`: more than 10 files change.
|
|
187
|
+
- `outside_project`: a write outside the project directory.
|
|
188
|
+
- `copilotkit_version`: a CopilotKit version change.
|
|
189
|
+
- `backup_partial`: the backup does not hold every file.
|
|
190
|
+
- `other`: a line that needs approval and fits none of these.
|
|
191
|
+
|
|
192
|
+
When the developer leaves a change out, send the plan back to the planning subagent
|
|
175
193
|
without it. Show the new plan the same way.
|
|
176
194
|
|
|
177
195
|
If the plan carries a missing model key, the run cannot build without it, so wait for it
|
|
178
|
-
even when `
|
|
179
|
-
and ask the developer to add the key. Ask the
|
|
180
|
-
there is one. When the plan has no
|
|
181
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
196
|
+
even when `Changes that need your approval` says `none`. Name the variable and its file in the plan message,
|
|
197
|
+
and ask the developer to add the key. Ask the approval question in the same message, if
|
|
198
|
+
there is one. When the plan has no change that needs approval, report the pause with
|
|
199
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-model-credential`
|
|
182
200
|
instead. When the developer answers, run the same `onboard credentials --model-key` check
|
|
183
201
|
again. On `ready`, continue. If the key is still missing, ask the developer `question.ask`
|
|
184
202
|
in those words. Report the pause with
|
|
185
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
203
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-model-credential`, end
|
|
186
204
|
your turn, and run the check again when they answer.
|
|
187
205
|
|
|
188
206
|
When the plan needs no answer, or after the developer answers, run
|
|
189
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
207
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read implementation/build-and-validate`.
|
|
190
208
|
|
|
191
209
|
If no exact supported path or documentation URL exists, run
|
|
192
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
210
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read unsupported/no-validated-path`.
|
|
193
211
|
|
|
194
212
|
## If the developer replies **stop**
|
|
195
213
|
|
|
@@ -199,10 +217,10 @@ run added stay, and that the restore also undoes any edit the developer made to
|
|
|
199
217
|
during the run. Before you end your turn to wait for the answer, report the pause:
|
|
200
218
|
|
|
201
219
|
```text
|
|
202
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
220
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
|
|
203
221
|
```
|
|
204
222
|
|
|
205
|
-
If they say yes, run `npx --prefer-offline --yes copilotkit@4.
|
|
223
|
+
If they say yes, run `npx --prefer-offline --yes copilotkit@4.28.0 onboard restore --force`. The run has
|
|
206
224
|
not ended yet, so without `--force` the restore cannot tell the run's edits from the
|
|
207
225
|
developer's and skips every changed file. Show the developer what it restored and what it
|
|
208
226
|
skipped. If they say no, change nothing. Then send the stop report from the start of this
|
|
@@ -9,15 +9,15 @@ A local request can arrive after this run created a hosted project: `init --crea
|
|
|
9
9
|
Tell the developer that this run already created a hosted project, so it stays managed.
|
|
10
10
|
Return to the step you were on.
|
|
11
11
|
|
|
12
|
-
First run `npx --prefer-offline --yes copilotkit@4.
|
|
12
|
+
First run `npx --prefer-offline --yes copilotkit@4.28.0 local --help`. If it does not list `setup`
|
|
13
13
|
("Configure model access and install or resume the local stack"), this release has no
|
|
14
14
|
local evaluation. Tell the developer so, and keep managed. If this run has not recorded
|
|
15
|
-
managed yet, run `npx --prefer-offline --yes copilotkit@4.
|
|
15
|
+
managed yet, run `npx --prefer-offline --yes copilotkit@4.28.0 onboard deployment --choice managed`.
|
|
16
16
|
Then return to “Check sign-in” in the start prompt. If a login process from it still
|
|
17
17
|
runs, keep reading that process and start no second one. Otherwise record the choice:
|
|
18
18
|
|
|
19
19
|
```text
|
|
20
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
20
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard deployment --choice local
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Explain these conditions before sign-in:
|
|
@@ -48,10 +48,10 @@ choices:
|
|
|
48
48
|
|
|
49
49
|
1. Configure later, the default. Install with `--defer-model`. In the closing report, write
|
|
50
50
|
"Learning configuration incomplete". Name the command that adds the model later:
|
|
51
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 local setup`, run in a terminal in the app directory.
|
|
52
52
|
2. Guided setup. If the developer named Learning as a goal, offer it first. Install
|
|
53
53
|
the stack with `--defer-model`. After the stack is ready, the developer runs
|
|
54
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
54
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 local setup` in their own terminal window, in the app
|
|
55
55
|
directory. Never give it as a `!` line: its guided prompt needs a terminal, and a coding
|
|
56
56
|
agent's shell has none. The prompt asks for the model and its key, and it saves them
|
|
57
57
|
privately. On a running stack, it restarts only Learning. Do not ask the developer to
|
|
@@ -71,7 +71,7 @@ If the managed sign-in message was already sent, send this once and no other sig
|
|
|
71
71
|
message: “You asked to run it locally, so this project gets no managed CopilotKit project.
|
|
72
72
|
Signing in only gets the renewable evaluation license.”
|
|
73
73
|
|
|
74
|
-
Otherwise run `npx --prefer-offline --yes copilotkit@4.
|
|
74
|
+
Otherwise run `npx --prefer-offline --yes copilotkit@4.28.0 login --json`. Follow the streaming sign-in
|
|
75
75
|
protocol from “Check sign-in” in the start prompt: open the first authentication URL
|
|
76
76
|
once, keep the same process running, and continue only after its completed record.
|
|
77
77
|
When the first authentication URL arrives, send this message in place of the managed
|
|
@@ -79,9 +79,9 @@ sign-in message: “Sign in to get the renewable evaluation license. Your local
|
|
|
79
79
|
will use CLI approval.”
|
|
80
80
|
On failed or declined sign-in, take the failure path below.
|
|
81
81
|
|
|
82
|
-
After sign-in completes, report it: `npx --prefer-offline --yes copilotkit@4.
|
|
82
|
+
After sign-in completes, report it: `npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase sign-in-settled`.
|
|
83
83
|
Then continue with
|
|
84
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
84
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read research/gather`, unless research already started.
|
|
85
85
|
If it already started, return to the step you were on. `starter/clone` and
|
|
86
86
|
`credentials/finalize-plan` each have a branch for a recorded local choice.
|
|
87
87
|
Keep the local choice and collected paths in the run's plan and worker context.
|
|
@@ -89,4 +89,4 @@ Keep the local choice and collected paths in the run's plan and worker context.
|
|
|
89
89
|
## Failure path
|
|
90
90
|
|
|
91
91
|
If sign-in fails or is declined, stop before cluster creation.
|
|
92
|
-
Run `npx --prefer-offline --yes copilotkit@4.
|
|
92
|
+
Run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read stopped/run-failed`.
|
|
@@ -19,7 +19,7 @@ settings are saved in private CLI state before the app changes. `local cancel` r
|
|
|
19
19
|
settings that still match this setup's writes and reports conflicting setting names. It
|
|
20
20
|
preserves later edits and the stack's data.
|
|
21
21
|
|
|
22
|
-
Run `npx --prefer-offline --yes copilotkit@4.
|
|
22
|
+
Run `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`. It holds the setup message's
|
|
23
23
|
answers, even after this conversation lost them. Take each answer below from the record,
|
|
24
24
|
or this conversation when the record lacks it. A field the record lacks is not a "no".
|
|
25
25
|
|
|
@@ -41,7 +41,7 @@ authorize replacing an existing app's connection.
|
|
|
41
41
|
Before you end your turn to wait for the developer, report the pause:
|
|
42
42
|
|
|
43
43
|
```text
|
|
44
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
44
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
## Run the shared installer
|
|
@@ -50,15 +50,15 @@ From the exact app directory, use the `learning` answer from the record, or this
|
|
|
50
50
|
conversation:
|
|
51
51
|
|
|
52
52
|
```text
|
|
53
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
53
|
+
npx --prefer-offline --yes copilotkit@4.28.0 local setup --defer-model --json
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
For `learning.file`, replace `--defer-model` with `--model-config <learning.file>`.
|
|
57
|
-
Before setup, run `npx --prefer-offline --yes copilotkit@4.
|
|
57
|
+
Before setup, run `npx --prefer-offline --yes copilotkit@4.28.0 onboard local-terms --json`. If `accepted`
|
|
58
58
|
is false, pause here. Give the developer this exact command to run in their own terminal:
|
|
59
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
59
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 local accept-terms`. Never accept the agreement yourself.
|
|
60
60
|
Report the pause with
|
|
61
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
61
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer`, end your turn,
|
|
62
62
|
and wait for "done". Then run `local-terms` again, and continue only when `accepted` is
|
|
63
63
|
true. A local command that fails with `eula_acceptance_required` comes back to this step.
|
|
64
64
|
The CLI selects the latest stable release. Add `--candidate <manifest.json>` only when the
|
|
@@ -75,7 +75,7 @@ A copied app needs explicit `--share-stack`. Do not infer sharing from a copied
|
|
|
75
75
|
After setup reports the stack ready, run the approved connection step from that directory:
|
|
76
76
|
|
|
77
77
|
```text
|
|
78
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
78
|
+
npx --prefer-offline --yes copilotkit@4.28.0 local connect --approve-connection --json
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
Read the local `.copilotkit/project.json` for its project ID and slug. Do not run hosted
|
|
@@ -95,7 +95,7 @@ this conversation, wait until the stack is ready. Then:
|
|
|
95
95
|
Ask the developer to run this command in their own terminal window, in the app directory:
|
|
96
96
|
|
|
97
97
|
```text
|
|
98
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
98
|
+
npx --prefer-offline --yes copilotkit@4.28.0 local setup
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
Do not give it as a `!` line, and do not run it yourself. Its guided model prompt needs a
|
|
@@ -104,9 +104,9 @@ changes nothing. The prompt asks for the model and its key, and it saves them pr
|
|
|
104
104
|
On a running stack, it restarts only Learning. Do not ask for a model file.
|
|
105
105
|
|
|
106
106
|
Say that the run continues when they reply or resume this session. Report the pause with
|
|
107
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
107
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-model-credential`, end your
|
|
108
108
|
turn, and wait. When the developer replies, run
|
|
109
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
109
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 local status --json` and read `learning.configuration`.
|
|
110
110
|
|
|
111
111
|
If the model is still missing or was deferred, report “Learning configuration incomplete”
|
|
112
112
|
and name the same command, run in a terminal window. No Learning run is required to finish
|
|
@@ -120,6 +120,6 @@ must not block Threads, the dashboard, or later Learning configuration.
|
|
|
120
120
|
If the developer cancels the connection, run `local cancel --json` from the app directory.
|
|
121
121
|
Report conflict names only. Keep the stack unless deletion is separately confirmed.
|
|
122
122
|
|
|
123
|
-
Continue with `npx --prefer-offline --yes copilotkit@4.
|
|
123
|
+
Continue with `npx --prefer-offline --yes copilotkit@4.28.0 onboard read credentials/settle-credentials`.
|
|
124
124
|
For this local route, skip the hosted selection-result checks and use the local project
|
|
125
125
|
record. Continue the existing implementation and proof paths against local endpoints.
|
|
@@ -14,7 +14,7 @@ you stop. The friction command follows the telemetry setting the developer alrea
|
|
|
14
14
|
so it needs no separate question.
|
|
15
15
|
|
|
16
16
|
```text
|
|
17
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
17
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -28,6 +28,9 @@ step. Send the report, then stop the way the rule that stopped you says to. This
|
|
|
28
28
|
runs because the documentation already fell short once, so a stop inside it is the second
|
|
29
29
|
gap in the same run and neither is recorded anywhere else.
|
|
30
30
|
|
|
31
|
+
When you start a subagent in the background, tell the developer in one sentence what it
|
|
32
|
+
does. Then send nothing more until it returns.
|
|
33
|
+
|
|
31
34
|
Spawn one implementation subagent. Give it the approved plan, repository findings, and
|
|
32
35
|
target project directory. Tell it which steps lack direct documentation. Give it all
|
|
33
36
|
official documentation that you fetched for the plan. Give it the paths that had
|
|
@@ -61,7 +64,7 @@ or frontend, stop onboarding.
|
|
|
61
64
|
If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of a
|
|
62
65
|
step, show the developer the list it printed, and run what they choose:
|
|
63
66
|
the `onboard restore` command the tripwire stop prints, which names each deleted file, or
|
|
64
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
67
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again. If
|
|
65
68
|
you cannot ask, stop onboarding. Never repair, reset, or revert a file the developer changed
|
|
66
69
|
outside this run.
|
|
67
70
|
|
|
@@ -97,29 +100,22 @@ new validation evidence. The handoff includes the paths that had uncommitted cha
|
|
|
97
100
|
the run started. Wait for the fresh proof subagent and apply the same proof-result rules.
|
|
98
101
|
Continue only if the proof result starts with `Status: passed`.
|
|
99
102
|
|
|
100
|
-
Do not block core proof on the CopilotKit Skills. Tell the developer that the skills
|
|
101
|
-
install writes a `.agents/skills` directory and `.claude/skills` links into the working
|
|
102
|
-
tree before you run it, because both show up in `git status` and this run cannot know
|
|
103
|
-
whether the project keeps them in version control. Install them after the application
|
|
104
|
-
passes proof. Do not register an MCP server: the Skills read the CopilotKit documentation
|
|
105
|
-
without one. Report the Skills result separately from the proof result.
|
|
106
|
-
|
|
107
103
|
Report the documentation gap and each assumption with the proof evidence. Do not claim
|
|
108
104
|
that the selected documentation proved an inferred step.
|
|
109
105
|
|
|
110
106
|
Record what the proof returned before you complete:
|
|
111
107
|
|
|
112
108
|
```text
|
|
113
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
109
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
114
110
|
```
|
|
115
111
|
|
|
116
|
-
When the proof is complete, run `npx --prefer-offline --yes copilotkit@4.
|
|
112
|
+
When the proof is complete, run `npx --prefer-offline --yes copilotkit@4.28.0 onboard complete`, carrying the
|
|
117
113
|
surface-check result the proof subagent returned. Pass exactly one of `--visual-check` or
|
|
118
114
|
`--device-check`, matching this journey's surface:
|
|
119
115
|
|
|
120
116
|
```text
|
|
121
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
122
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
117
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard complete --visual-check <outcome>
|
|
118
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard complete --device-check <outcome>
|
|
123
119
|
```
|
|
124
120
|
|
|
125
121
|
`--visual-check` is for a web frontend and takes `performed`, `skipped-no-browser-tool`, or
|
|
@@ -24,7 +24,7 @@ That result is a question for the developer. Name the file and why the work need
|
|
|
24
24
|
Before you end your turn to wait for the developer, report the pause:
|
|
25
25
|
|
|
26
26
|
```text
|
|
27
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
27
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
|
|
@@ -34,16 +34,16 @@ cannot ask, or the developer declines, take the feature stop route below.
|
|
|
34
34
|
If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
|
|
35
35
|
a step, show the developer the list it printed, and run what they choose:
|
|
36
36
|
the `onboard restore` command the tripwire stop prints, which names each deleted file, or
|
|
37
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
37
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
|
|
38
38
|
|
|
39
39
|
To route out and stop:
|
|
40
40
|
|
|
41
41
|
```text
|
|
42
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
42
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
46
46
|
the feature stop route above without further changes.
|
|
47
47
|
|
|
48
48
|
Otherwise run
|
|
49
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
49
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/a2ui/proof`.
|
|
@@ -12,7 +12,7 @@ The approval is a wait for the developer. Before you end your turn to wait, repo
|
|
|
12
12
|
pause:
|
|
13
13
|
|
|
14
14
|
```text
|
|
15
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
15
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
@@ -49,7 +49,7 @@ renders a compact visible surface. Ask for approval as its own question.
|
|
|
49
49
|
Before you end your turn to wait for the developer, report the pause:
|
|
50
50
|
|
|
51
51
|
```text
|
|
52
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-plan-approval
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
Ask the developer before you edit a file that has uncommitted changes. List those files in
|
|
@@ -57,4 +57,4 @@ the plan under `Uncommitted files`, each with one sentence explaining why, or wr
|
|
|
57
57
|
`git status` names them. The CLI records no consent: the approved plan is the record. The
|
|
58
58
|
plan must not delete, move, or rename one of those files.
|
|
59
59
|
|
|
60
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
60
|
+
Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/a2ui/implement`.
|
|
@@ -25,7 +25,7 @@ That result is a question for the developer. Name the file and why the fix needs
|
|
|
25
25
|
Before you end your turn to wait for the developer, report the pause:
|
|
26
26
|
|
|
27
27
|
```text
|
|
28
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
28
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
|
|
@@ -35,13 +35,13 @@ or the developer declines, take the feature stop route below.
|
|
|
35
35
|
If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
|
|
36
36
|
a step, show the developer the list it printed, and run what they choose:
|
|
37
37
|
the `onboard restore` command the tripwire stop prints, which names each deleted file, or
|
|
38
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
38
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
|
|
39
39
|
|
|
40
40
|
Report the outcome of each attempt as it ends, before any repair. The command counts the
|
|
41
41
|
attempts and the repairs:
|
|
42
42
|
|
|
43
43
|
```text
|
|
44
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
44
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
Use `passed` only for a proved A2UI surface, `failed` for an attempted proof that failed,
|
|
@@ -50,9 +50,9 @@ and `skipped` when the proof could not run.
|
|
|
50
50
|
To route out and stop:
|
|
51
51
|
|
|
52
52
|
```text
|
|
53
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
53
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
When the proof is recorded, run
|
|
57
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
57
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/complete` with the actual browser-proof
|
|
58
58
|
outcome.
|
|
@@ -10,7 +10,7 @@ run is doing in the developer's words instead.
|
|
|
10
10
|
Run this before anything else in this prompt:
|
|
11
11
|
|
|
12
12
|
```text
|
|
13
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
13
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id> --model-family <model-family>
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Report your product slug, such as `codex` or `claude-code`. The command needs no sign-in,
|
|
@@ -39,13 +39,13 @@ carry on. Keep a read-only assignment read-only. If no subagent works at all, re
|
|
|
39
39
|
once:
|
|
40
40
|
|
|
41
41
|
```text
|
|
42
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
42
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase delegation-unavailable
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
Before you end your turn to wait for the developer, report the pause:
|
|
46
46
|
|
|
47
47
|
```text
|
|
48
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
48
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
A turn that ends while the run waits is a pause, not a stop, even when your harness ends it.
|
|
@@ -55,7 +55,7 @@ If you stop this run, send one short report before you stop. The friction comman
|
|
|
55
55
|
the telemetry setting the developer already chose, so it needs no separate question.
|
|
56
56
|
|
|
57
57
|
```text
|
|
58
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard friction --phase stop --category <slug> --message "<sentences>"
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
`--message` takes one or two sentences: the step you stopped at and what stopped it.
|
|
@@ -77,7 +77,7 @@ development/test commands. It must return paths and secret-safe presence checks
|
|
|
77
77
|
|
|
78
78
|
Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
|
|
79
79
|
processes when needed, inspect `/info`, and run
|
|
80
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
80
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
|
|
81
81
|
Also drive one existing request through the frontend when browser control is available.
|
|
82
82
|
The `verify` report names the runtime URL it probed. If the dev server serves the
|
|
83
83
|
runtime at another URL, add `--runtime-url <url>`.
|
|
@@ -85,20 +85,20 @@ runtime at another URL, add `--runtime-url <url>`.
|
|
|
85
85
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
86
86
|
|
|
87
87
|
```text
|
|
88
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
88
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase research-returned
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
If the inspection did not prove the baseline this intent extends, stop here without
|
|
92
92
|
changing files:
|
|
93
93
|
|
|
94
94
|
```text
|
|
95
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
95
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
When the inspection proved what this intent needs, read the next prompt now, in this turn:
|
|
99
99
|
|
|
100
100
|
```text
|
|
101
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
101
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/a2ui/plan
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
That prompt holds the plan, the developer's approval, and the paths the plan changes.
|
|
@@ -19,14 +19,14 @@ On Teams, skip Slack-only tools and the Slack e2e harness. Do not add a CopilotK
|
|
|
19
19
|
web app to make this run look complete. Do not replace the existing agent.
|
|
20
20
|
|
|
21
21
|
If repository evidence does not prove an existing valid Intelligence selection, sign in
|
|
22
|
-
yourself with `npx --prefer-offline --yes copilotkit@4.
|
|
22
|
+
yourself with `npx --prefer-offline --yes copilotkit@4.28.0 login --json`: the same single streaming
|
|
23
23
|
session generic onboarding uses. Read its JSON Lines while the process runs. The CLI opens
|
|
24
24
|
the page itself when it can: with `"browser_opened": false` in `action_required`, show the
|
|
25
25
|
developer the clickable URL and ask them to finish sign-in there. If the record carries
|
|
26
26
|
`user_code`, show the developer the code to check against the page. Never ask the developer
|
|
27
27
|
to run a login command. Keep reading the same process. Continue only after that same process emits
|
|
28
28
|
`type: completed`. Only when it emits `type: failed`, report the error and take the
|
|
29
|
-
feature stop route below. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
29
|
+
feature stop route below. Then run `npx --prefer-offline --yes copilotkit@4.28.0 onboard setup-answers`.
|
|
30
30
|
When it holds a `project` answer from the setup message, create or select that project
|
|
31
31
|
without asking again. Otherwise list projects and select or create one only after they
|
|
32
32
|
choose. Require the secret-safe project/key provisioning summary before wiring the
|
|
@@ -84,7 +84,7 @@ That result is a question for the developer. Name the file and why the work need
|
|
|
84
84
|
Before you end your turn to wait for the developer, report the pause:
|
|
85
85
|
|
|
86
86
|
```text
|
|
87
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
87
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
Then end your turn and wait for the developer's answer. If they allow it, spawn a fresh
|
|
@@ -94,12 +94,12 @@ cannot ask, or the developer declines, take the feature stop route below.
|
|
|
94
94
|
If the CLI prints `## Stop: this run deleted or moved the developer's work` instead of
|
|
95
95
|
a step, show the developer the list it printed, and run what they choose:
|
|
96
96
|
the `onboard restore` command the tripwire stop prints, which names each deleted file, or
|
|
97
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
97
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard tripwire --continue`. Then read the step again.
|
|
98
98
|
|
|
99
99
|
To route out and stop:
|
|
100
100
|
|
|
101
101
|
```text
|
|
102
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
102
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/stop
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
## Values this run writes, and the one credential the developer supplies
|
|
@@ -132,7 +132,7 @@ nothing. Ask the developer which Channel this project serves and wait for their
|
|
|
132
132
|
Before you end your turn to wait for the developer, report the pause:
|
|
133
133
|
|
|
134
134
|
```text
|
|
135
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
135
|
+
npx --prefer-offline --yes copilotkit@4.28.0 onboard checkpoint --phase awaiting-developer
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
The only credential the developer supplies is their model provider key, such as
|
|
@@ -146,4 +146,4 @@ If validation cannot pass, or this run needs a prerequisite the app does not hav
|
|
|
146
146
|
the feature stop route above without further changes.
|
|
147
147
|
|
|
148
148
|
Otherwise run
|
|
149
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
149
|
+
`npx --prefer-offline --yes copilotkit@4.28.0 onboard read feature/channels/proof`.
|