copilotkit 4.26.0 → 4.27.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 +271 -25
- package/cli-build-info.json +7 -7
- package/index.js +6785 -3294
- package/onboarding/index.json +2 -2
- package/onboarding/prompts/authenticate/start.md +28 -23
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +34 -25
- package/onboarding/prompts/credentials/plan.md +46 -33
- package/onboarding/prompts/credentials/settle-credentials.md +38 -14
- package/onboarding/prompts/credentials/write-plan.md +104 -47
- package/onboarding/prompts/deployment/choose-local.md +17 -20
- package/onboarding/prompts/deployment/local-evaluation.md +45 -21
- package/onboarding/prompts/fallback/best-effort.md +11 -9
- 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 +10 -8
- package/onboarding/prompts/feature/channels/implement.md +11 -8
- package/onboarding/prompts/feature/channels/plan.md +15 -7
- package/onboarding/prompts/feature/channels/proof.md +5 -5
- package/onboarding/prompts/feature/channels/start.md +11 -10
- 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 +10 -8
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +14 -12
- package/onboarding/prompts/feature/learning/plan.md +4 -4
- package/onboarding/prompts/feature/learning/proof.md +24 -14
- 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 +10 -8
- package/onboarding/prompts/feature/realtime-sync/implement.md +7 -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 +8 -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 +10 -8
- package/onboarding/prompts/framework/ag2.md +20 -5
- package/onboarding/prompts/framework/agno.md +25 -9
- package/onboarding/prompts/framework/built-in.md +21 -6
- package/onboarding/prompts/framework/claude-sdk-python.md +11 -5
- package/onboarding/prompts/framework/claude-sdk-typescript.md +13 -6
- package/onboarding/prompts/framework/crewai-flows.md +24 -10
- package/onboarding/prompts/framework/custom-ag-ui.md +62 -28
- package/onboarding/prompts/framework/deep-agents.md +26 -9
- package/onboarding/prompts/framework/google-adk.md +18 -5
- package/onboarding/prompts/framework/langgraph-fastapi.md +20 -5
- package/onboarding/prompts/framework/langgraph-python.md +20 -5
- package/onboarding/prompts/framework/langgraph-typescript.md +27 -7
- package/onboarding/prompts/framework/llamaindex.md +24 -8
- package/onboarding/prompts/framework/mastra.md +21 -8
- package/onboarding/prompts/framework/ms-agent-dotnet.md +24 -6
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +24 -5
- package/onboarding/prompts/framework/ms-agent-python.md +21 -5
- package/onboarding/prompts/framework/pydantic-ai.md +20 -5
- package/onboarding/prompts/framework/strands-python.md +27 -12
- package/onboarding/prompts/framework/strands-typescript.md +27 -12
- package/onboarding/prompts/frontend/angular.md +4 -4
- package/onboarding/prompts/frontend/nextjs.md +4 -4
- package/onboarding/prompts/frontend/plan.md +21 -13
- 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 +25 -20
- package/onboarding/prompts/proof/complete.md +10 -7
- package/onboarding/prompts/proof/oss-baseline.md +6 -6
- package/onboarding/prompts/proof/round-trip.md +10 -10
- package/onboarding/prompts/research/gather.md +8 -8
- package/onboarding/prompts/research/merge.md +3 -3
- package/onboarding/prompts/research/preflight.md +2 -2
- package/onboarding/prompts/research/route.md +4 -4
- package/onboarding/prompts/setup/questions.md +192 -159
- package/onboarding/prompts/starter/clone.md +126 -51
- package/onboarding/prompts/stopped/run-failed.md +5 -3
- package/onboarding/prompts/subagent/create-plan.md +73 -20
- package/onboarding/prompts/subagent/implement-and-validate.md +30 -14
- package/onboarding/prompts/subagent/inspect-repository.md +3 -2
- package/onboarding/prompts/subagent/prove-oss-baseline.md +10 -5
- package/onboarding/prompts/subagent/prove-round-trip.md +23 -14
- package/onboarding/prompts/unsupported/no-validated-path.md +5 -4
- package/package.json +1 -1
- package/release/release-tool.js +12 -2
|
@@ -1,213 +1,246 @@
|
|
|
1
1
|
# Ask the setup questions together
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
and the developer's request do not settle. Do not change application code
|
|
5
|
-
in this phase. Do not read, show, store, or request a secret value.
|
|
3
|
+
Do not change application code in this phase. Do not read, show, store, or request a secret value.
|
|
6
4
|
|
|
7
5
|
## Settle what the findings already answer
|
|
8
6
|
|
|
9
7
|
Do not ask the developer for a fact that the repository or their request answers.
|
|
10
8
|
|
|
11
9
|
- If the project already has an agent in a listed framework, keep that framework and its
|
|
12
|
-
model setup. Record
|
|
13
|
-
|
|
14
|
-
- An existing agent
|
|
15
|
-
|
|
16
|
-
project wrote, or a service behind AG-UI middleware. Select it only for an agent that the
|
|
17
|
-
repository already has, and only when the findings prove that it speaks AG-UI. Do not
|
|
18
|
-
offer it for a new agent.
|
|
10
|
+
model setup. Record its vendor, or `other` if you cannot tell, with the choice
|
|
11
|
+
`existing`.
|
|
12
|
+
- An existing agent in no framework the table below lists takes the Custom agent route,
|
|
13
|
+
which keeps it and connects it through AG-UI, directly or through an adapter.
|
|
19
14
|
- If the project already has a frontend, keep it.
|
|
20
|
-
- A choice the developer already named in their request or a later reply is settled.
|
|
15
|
+
- A choice the developer already named in their request or a later reply is settled. So
|
|
16
|
+
is a framework the project's README names, even in an otherwise empty target.
|
|
21
17
|
|
|
22
18
|
## Frameworks this machine cannot run yet
|
|
23
19
|
|
|
24
|
-
The research findings
|
|
25
|
-
|
|
26
|
-
it needs. Read that list before you ask the framework question, so the developer learns
|
|
27
|
-
about a missing toolchain before they choose, and not after.
|
|
20
|
+
The research findings' `unready` list names each framework this machine cannot run yet,
|
|
21
|
+
and the toolchain it needs.
|
|
28
22
|
|
|
29
23
|
- Do not recommend a framework on that list.
|
|
30
|
-
-
|
|
31
|
-
name the toolchain it needs and its install page.
|
|
24
|
+
- List a framework on that list last, by name only.
|
|
32
25
|
- Do not install a toolchain yourself.
|
|
33
26
|
|
|
34
27
|
## The questions
|
|
35
28
|
|
|
36
|
-
Ask every choice
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
87
|
-
|
|
|
88
|
-
|
|
|
89
|
-
|
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
29
|
+
Ask every open choice in one message, one line each, numbered in order. Leave out a settled line.
|
|
30
|
+
Do not ask about the plan here.
|
|
31
|
+
|
|
32
|
+
Open the message with "Reply **go** to use all <count>, or tell me what to change."
|
|
33
|
+
`<count>` is the number of lines that **go** answers. Write each line as the topic, a
|
|
34
|
+
colon, and the recommendation in bold. Add a short reason only when it names something in the
|
|
35
|
+
developer's own project, such as "from your README". On the next line, indented, write
|
|
36
|
+
"Other:" and the alternatives, separated by " · ". Write "Other, for example:" when the
|
|
37
|
+
developer can pick an option the line does not list. Say what an option needs only after
|
|
38
|
+
the developer picks it. In an empty target:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
Reply **go** to use all five, or tell me what to change.
|
|
42
|
+
|
|
43
|
+
1. Framework: **LangGraph TypeScript**
|
|
44
|
+
Other, for example: LangGraph Python · Mastra · ADK
|
|
45
|
+
2. Model: **OpenAI**
|
|
46
|
+
Other, for example: Groq · OpenRouter (any OpenAI-compatible provider)
|
|
47
|
+
3. Key: **I ask for the key file after I build the app**
|
|
48
|
+
Other: name the file now (outside this folder)
|
|
49
|
+
4. Frontend: **Next.js**
|
|
50
|
+
Other: React SPA · Vue 3 · React Native · Angular · Slack · Microsoft Teams
|
|
51
|
+
5. Project: **new project "copilotkit-assistant"**
|
|
52
|
+
Other: another name · a project you already have
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
A line that recommends nothing keeps its own wording and has no "Other:" line: the
|
|
56
|
+
`env-file-exposed` line with `question.untrack` and no `question.alternative`, the
|
|
57
|
+
uncommitted-changes line, or a held-back vendor, with the note "Read the reply" gives.
|
|
58
|
+
**go** does not answer it. Open with "Reply **go** to use the other <count>, and answer
|
|
59
|
+
line <number>." For several, "Reply **go** to use the others, and answer lines <a> and
|
|
60
|
+
<b>." With one line: "Reply **go** to use it, or tell me what to change." When every line
|
|
61
|
+
needs its own answer, write no **go** sentence: open with "Answer each line."
|
|
62
|
+
|
|
63
|
+
**The purpose line.**
|
|
64
|
+
|
|
65
|
+
Ask this line only when neither the request nor the repository shows what the project is
|
|
66
|
+
for. Recommend "a general assistant", and give two short examples. In an empty target, do
|
|
67
|
+
not ask it: record the purpose the request names, or "a general assistant".
|
|
68
|
+
|
|
69
|
+
**The framework line.**
|
|
70
|
+
|
|
71
|
+
If the project has no agent, ask this line. Recommend a framework in the repository's
|
|
72
|
+
language. In an empty target, use the example's line.
|
|
73
|
+
|
|
74
|
+
The vendors each framework takes in this release, default first:
|
|
75
|
+
|
|
76
|
+
| Framework | Vendors |
|
|
77
|
+
| ---------------------------------- | -------------------------------------------- |
|
|
78
|
+
| AG2 | OpenAI, OpenAI-compatible |
|
|
79
|
+
| ADK | Google, OpenAI, OpenAI-compatible |
|
|
80
|
+
| Agno | OpenAI, OpenAI-compatible |
|
|
81
|
+
| Built-in CopilotKit agent | OpenAI, Anthropic, Google, OpenAI-compatible |
|
|
82
|
+
| Claude Agent SDK (Python) | Anthropic only |
|
|
83
|
+
| Claude Agent SDK (TypeScript) | Anthropic only |
|
|
84
|
+
| CrewAI Flows | Project-defined |
|
|
85
|
+
| Custom agent | The agent's own |
|
|
86
|
+
| Deep Agents | OpenAI, OpenAI-compatible |
|
|
87
|
+
| LangGraph FastAPI | OpenAI, OpenAI-compatible |
|
|
88
|
+
| LangGraph Python | OpenAI, OpenAI-compatible |
|
|
89
|
+
| LangGraph TypeScript | OpenAI, OpenAI-compatible |
|
|
90
|
+
| LlamaIndex | OpenAI, OpenAI-compatible |
|
|
91
|
+
| Mastra | OpenAI, OpenAI-compatible |
|
|
92
|
+
| Microsoft Agent Framework (.NET) | OpenAI, OpenAI-compatible |
|
|
93
|
+
| Microsoft Agent Framework (Python) | OpenAI, OpenAI-compatible |
|
|
94
|
+
| MS Agent Harness (.NET) | OpenAI, OpenAI-compatible |
|
|
95
|
+
| Pydantic AI | OpenAI, OpenAI-compatible |
|
|
96
|
+
| Strands Agents (Python) | OpenAI, OpenAI-compatible |
|
|
97
|
+
| Strands Agents (TypeScript) | OpenAI, OpenAI-compatible |
|
|
98
|
+
|
|
99
|
+
"Project-defined" keeps the repository's vendor, or asks once when it shows none.
|
|
100
|
+
|
|
101
|
+
"The agent's own" keeps the existing agent's vendor, with no vendor question. A new agent
|
|
102
|
+
on the Custom agent route asks the model and key lines like any new agent, with OpenAI as
|
|
103
|
+
its default vendor.
|
|
104
|
+
|
|
105
|
+
For a new agent in a framework the table does not list, record its name and take the Custom
|
|
106
|
+
agent route.
|
|
107
|
+
|
|
108
|
+
**The model and key lines.**
|
|
109
|
+
|
|
110
|
+
For a new agent, ask the model line, even if the framework needed no question. Skip it for
|
|
111
|
+
"Project-defined" or "The agent's own". The model line names providers only: the row's
|
|
112
|
+
default vendor, then its other vendors on "Other, for example:", except on an "only" row,
|
|
113
|
+
where the model line has no "Other:" line.
|
|
114
|
+
|
|
115
|
+
Ask the key line for a new agent only. Never ask for the key itself. Recommend the key file
|
|
116
|
+
the developer named, or the project's env file under the rule below, or else "I ask for the
|
|
117
|
+
key file after I build the app", which **go** takes. Its "Other:" is the example's, or
|
|
118
|
+
"later" after a file.
|
|
119
|
+
|
|
120
|
+
An OpenAI-compatible provider uses `OPENAI_API_KEY`. When the developer names one, ask in
|
|
121
|
+
the same line for its model id, and its base URL unless the key file sets
|
|
122
|
+
`OPENAI_BASE_URL`. Neither is a secret.
|
|
123
|
+
|
|
124
|
+
When the developer has no key yet, name the ways forward on the key line: credit on the
|
|
125
|
+
vendor's account, and, when the chosen framework can use Google, a free key from Google AI
|
|
126
|
+
Studio at https://aistudio.google.com/apikey. The free tier limits requests per minute, so
|
|
127
|
+
tell them that a slow first reply is that limit and not a fault.
|
|
128
|
+
|
|
129
|
+
A path the developer names is theirs to give, even outside the project. Recommend the
|
|
130
|
+
project's env file only when it exists, holds the key, and git ignores and does not track
|
|
131
|
+
it, and no `env-file-exposed` line is open. In an empty target, a new key file goes outside
|
|
132
|
+
the target directory, because `init` refuses a target with a `.env` file. Tell the
|
|
133
|
+
developer only where it goes.
|
|
134
|
+
|
|
135
|
+
**The frontend line.**
|
|
136
|
+
|
|
137
|
+
If the project has no frontend, ask this line. Recommend the one the developer names, or
|
|
138
|
+
Next.js. "Other:" is the example's list.
|
|
139
|
+
|
|
140
|
+
**The project line.** On the local route, ask the local lines below instead. For an
|
|
141
|
+
existing app, first run `npx --prefer-offline --yes copilotkit@4.27.0 onboard credentials --json` from the target app
|
|
142
|
+
directory. It only reads: it creates no project and writes no file. Read `status`:
|
|
143
|
+
|
|
144
|
+
- `ready`: the app has a project. Leave the line out.
|
|
145
|
+
- `needs-developer` with `project-name`: recommend `suggestedName`, with the
|
|
146
|
+
example's "Other:" line. If there is no `suggestedName`, ask for a name. Do not list
|
|
145
147
|
the organization's projects.
|
|
146
148
|
- `needs-developer` with `env-file-exposed`: git tracks the env file the key goes into, or
|
|
147
149
|
does not ignore it. Add `question.ask` as its own line, word for word: never shorten it or
|
|
148
|
-
drop what it says about teammates.
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
recommendation
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
untrack. Never suggest a reply that approves it. Then offer a new project for this app, or
|
|
157
|
-
a project the developer already has.
|
|
150
|
+
drop what it says about teammates. Without `question.untrack`, recommend approving it:
|
|
151
|
+
without it, the run writes no key, and **go** approves it. With `question.untrack`, git
|
|
152
|
+
tracks the file: recommend `question.alternative` if present, since the key then goes into
|
|
153
|
+
`question.alternative.file`, which affects no teammate, and **go** takes it. Otherwise
|
|
154
|
+
recommend nothing. Untracking removes the file for everyone who pulls the next commit. A
|
|
155
|
+
reply that accepts every recommendation never approves the untrack. Never suggest a
|
|
156
|
+
reply that approves it. Then offer a new project for this app, or a project the developer
|
|
157
|
+
already has.
|
|
158
158
|
- `stopped`: the command already filed the stop report. Tell the developer
|
|
159
159
|
`stopReason.detail` in one sentence, then stop onboarding.
|
|
160
160
|
|
|
161
|
-
For an empty target,
|
|
162
|
-
|
|
161
|
+
For an empty target, recommend a new project named after the target directory, with the
|
|
162
|
+
same "Other:" line. When that name is generic, such as `project`, `app`,
|
|
163
|
+
`web`, `frontend`, or `src`, name it after the README title or the `package.json` `name`
|
|
164
|
+
instead.
|
|
165
|
+
|
|
166
|
+
**Local lines.** On the local route only:
|
|
167
|
+
|
|
168
|
+
- Run `npx --prefer-offline --yes copilotkit@4.27.0 onboard local-terms --json` and follow `next`.
|
|
169
|
+
- "Learning model: **configure later**", then "Other:
|
|
170
|
+
guided setup in your own terminal · a private model file you have".
|
|
171
|
+
- "Local connection: **install the local stack, then write `<app directory>/<env file>`
|
|
172
|
+
and `<app directory>/.copilotkit/project.json`**", then "Other: not now". A reply that
|
|
173
|
+
accepts every recommendation approves the connection.
|
|
174
|
+
- When the env file or `.copilotkit/project.json` has uncommitted changes, add one line that
|
|
175
|
+
names every one of them: "Uncommitted changes: `<files>` have edits that are not
|
|
176
|
+
committed, and the connection changes their settings. Allow it, or commit first?" One
|
|
177
|
+
answer covers every file on that line. A reply that accepts every
|
|
178
|
+
recommendation never approves those writes.
|
|
163
179
|
|
|
164
180
|
Before you end your turn to wait for the developer, report the pause:
|
|
165
181
|
|
|
166
182
|
```text
|
|
167
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
183
|
+
npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
|
|
168
184
|
```
|
|
169
185
|
|
|
170
|
-
|
|
186
|
+
With no line open, ask nothing and continue.
|
|
171
187
|
|
|
172
188
|
## Read the reply
|
|
173
189
|
|
|
174
|
-
A reply
|
|
175
|
-
|
|
176
|
-
recommendation.
|
|
190
|
+
A reply such as "go", "yes" or "go ahead" accepts every recommendation. A line the reply
|
|
191
|
+
changes takes the new answer. A line it does not mention keeps its recommendation.
|
|
177
192
|
|
|
178
193
|
If a changed line makes another answer invalid, ask again, in one message:
|
|
179
194
|
|
|
180
|
-
- A vendor that the chosen framework's
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
195
|
+
- A vendor that the chosen framework's own model layer cannot use, such as OpenAI for the
|
|
196
|
+
Claude Agent SDK: say so, and offer the framework with its default vendor, or another
|
|
197
|
+
framework for their vendor.
|
|
198
|
+
- Anthropic or Google for a new agent on a row without it: say that this release supports
|
|
199
|
+
the row's vendors there, that Anthropic and Google come in a later release, and offer the Built-in
|
|
200
|
+
CopilotKit agent if they need them now.
|
|
184
201
|
- Slack or Microsoft Teams as the frontend of an empty project: the Channel starter brings
|
|
185
|
-
its own agent, so the framework and
|
|
202
|
+
its own agent, so the framework, model, and key lines decide nothing. Drop all three:
|
|
203
|
+
`<count>` counts only the lines shown.
|
|
186
204
|
|
|
187
205
|
If the developer chooses a framework on the `unready` list, or the repository already has
|
|
188
206
|
an agent in one, keep that framework. Before the run changes the project, tell the
|
|
189
|
-
developer
|
|
207
|
+
developer in one message:
|
|
190
208
|
|
|
191
209
|
1. Which toolchain to install, and its install page.
|
|
192
|
-
2. That the coding agent
|
|
193
|
-
|
|
210
|
+
2. That the coding agent sees the toolchain only after a restart, since its shell
|
|
211
|
+
reads PATH at start.
|
|
194
212
|
3. That the run resumes after the restart with
|
|
195
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
213
|
+
`npx --prefer-offline --yes copilotkit@4.27.0 onboard start --run <onboarding_run_id>`.
|
|
196
214
|
|
|
197
215
|
Before you end your turn to wait for the developer, report the pause:
|
|
198
216
|
|
|
199
217
|
```text
|
|
200
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
218
|
+
npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
|
|
201
219
|
```
|
|
202
220
|
|
|
203
221
|
Then end your turn and wait for the developer. That restart is a step here, not an error.
|
|
204
222
|
|
|
205
223
|
## Record the answers
|
|
206
224
|
|
|
207
|
-
Record
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
225
|
+
Record every answer in the CLI. They answer
|
|
226
|
+
the framework, provider, and frontend questions for the rest of the run. Give them to each
|
|
227
|
+
subagent too. Pass the flags that apply:
|
|
228
|
+
|
|
229
|
+
- `--purpose <text>`, `--framework <name>` (a name from the table, or another
|
|
230
|
+
framework's name), and `--frontend <name>`.
|
|
231
|
+
- `--vendor <vendor>`: `openai`, `anthropic`, `google`, `openai-compatible`, or `other`,
|
|
232
|
+
with `--vendor-choice <choice>`: `developer`, `default` (the row's default), or `existing`
|
|
233
|
+
(an existing agent's). For
|
|
234
|
+
`openai-compatible`, add `--model-id <id>`, and `--base-url <url>` unless the CLI
|
|
235
|
+
printed `keyFileBaseUrl`: show that one.
|
|
236
|
+
- `--create <name>` for a new project or `--project <slug>` for theirs, and
|
|
237
|
+
`--key-file <path>` or `--key-later`.
|
|
238
|
+
- On the local route: `--learning later`, `--learning guided`, or `--learning-file <path>`.
|
|
239
|
+
Then `--connection approved` or `declined`. For an uncommitted-changes line the reply
|
|
240
|
+
answered, add `--uncommitted-writes approved` or `declined`.
|
|
241
|
+
|
|
242
|
+
```text
|
|
243
|
+
npx --prefer-offline --yes copilotkit@4.27.0 onboard setup-answers --framework <name> --vendor <vendor> --create <name> --key-file <path>
|
|
244
|
+
```
|
|
212
245
|
|
|
213
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
246
|
+
Then run `npx --prefer-offline --yes copilotkit@4.27.0 onboard read credentials/plan`.
|