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.
Files changed (92) hide show
  1. package/README.md +271 -25
  2. package/cli-build-info.json +7 -7
  3. package/index.js +6785 -3294
  4. package/onboarding/index.json +2 -2
  5. package/onboarding/prompts/authenticate/start.md +28 -23
  6. package/onboarding/prompts/conversion/plan.md +3 -3
  7. package/onboarding/prompts/credentials/finalize-plan.md +34 -25
  8. package/onboarding/prompts/credentials/plan.md +46 -33
  9. package/onboarding/prompts/credentials/settle-credentials.md +38 -14
  10. package/onboarding/prompts/credentials/write-plan.md +104 -47
  11. package/onboarding/prompts/deployment/choose-local.md +17 -20
  12. package/onboarding/prompts/deployment/local-evaluation.md +45 -21
  13. package/onboarding/prompts/fallback/best-effort.md +11 -9
  14. package/onboarding/prompts/feature/a2ui/implement.md +4 -4
  15. package/onboarding/prompts/feature/a2ui/plan.md +3 -3
  16. package/onboarding/prompts/feature/a2ui/proof.md +5 -5
  17. package/onboarding/prompts/feature/a2ui/start.md +10 -8
  18. package/onboarding/prompts/feature/channels/implement.md +11 -8
  19. package/onboarding/prompts/feature/channels/plan.md +15 -7
  20. package/onboarding/prompts/feature/channels/proof.md +5 -5
  21. package/onboarding/prompts/feature/channels/start.md +11 -10
  22. package/onboarding/prompts/feature/chat-suggestions/implement.md +4 -4
  23. package/onboarding/prompts/feature/chat-suggestions/plan.md +3 -3
  24. package/onboarding/prompts/feature/chat-suggestions/proof.md +5 -5
  25. package/onboarding/prompts/feature/chat-suggestions/start.md +10 -8
  26. package/onboarding/prompts/feature/complete.md +2 -2
  27. package/onboarding/prompts/feature/learning/implement.md +14 -12
  28. package/onboarding/prompts/feature/learning/plan.md +4 -4
  29. package/onboarding/prompts/feature/learning/proof.md +24 -14
  30. package/onboarding/prompts/feature/learning/start.md +8 -8
  31. package/onboarding/prompts/feature/open-generative-ui/implement.md +4 -4
  32. package/onboarding/prompts/feature/open-generative-ui/plan.md +3 -3
  33. package/onboarding/prompts/feature/open-generative-ui/proof.md +5 -5
  34. package/onboarding/prompts/feature/open-generative-ui/start.md +10 -8
  35. package/onboarding/prompts/feature/realtime-sync/implement.md +7 -5
  36. package/onboarding/prompts/feature/realtime-sync/plan.md +3 -3
  37. package/onboarding/prompts/feature/realtime-sync/proof.md +5 -5
  38. package/onboarding/prompts/feature/realtime-sync/start.md +7 -7
  39. package/onboarding/prompts/feature/rich-threads/implement.md +8 -6
  40. package/onboarding/prompts/feature/rich-threads/plan.md +3 -3
  41. package/onboarding/prompts/feature/rich-threads/proof.md +5 -5
  42. package/onboarding/prompts/feature/rich-threads/start.md +7 -7
  43. package/onboarding/prompts/feature/stop.md +4 -4
  44. package/onboarding/prompts/feature/voice/implement.md +4 -4
  45. package/onboarding/prompts/feature/voice/plan.md +4 -4
  46. package/onboarding/prompts/feature/voice/proof.md +5 -5
  47. package/onboarding/prompts/feature/voice/start.md +10 -8
  48. package/onboarding/prompts/framework/ag2.md +20 -5
  49. package/onboarding/prompts/framework/agno.md +25 -9
  50. package/onboarding/prompts/framework/built-in.md +21 -6
  51. package/onboarding/prompts/framework/claude-sdk-python.md +11 -5
  52. package/onboarding/prompts/framework/claude-sdk-typescript.md +13 -6
  53. package/onboarding/prompts/framework/crewai-flows.md +24 -10
  54. package/onboarding/prompts/framework/custom-ag-ui.md +62 -28
  55. package/onboarding/prompts/framework/deep-agents.md +26 -9
  56. package/onboarding/prompts/framework/google-adk.md +18 -5
  57. package/onboarding/prompts/framework/langgraph-fastapi.md +20 -5
  58. package/onboarding/prompts/framework/langgraph-python.md +20 -5
  59. package/onboarding/prompts/framework/langgraph-typescript.md +27 -7
  60. package/onboarding/prompts/framework/llamaindex.md +24 -8
  61. package/onboarding/prompts/framework/mastra.md +21 -8
  62. package/onboarding/prompts/framework/ms-agent-dotnet.md +24 -6
  63. package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +24 -5
  64. package/onboarding/prompts/framework/ms-agent-python.md +21 -5
  65. package/onboarding/prompts/framework/pydantic-ai.md +20 -5
  66. package/onboarding/prompts/framework/strands-python.md +27 -12
  67. package/onboarding/prompts/framework/strands-typescript.md +27 -12
  68. package/onboarding/prompts/frontend/angular.md +4 -4
  69. package/onboarding/prompts/frontend/nextjs.md +4 -4
  70. package/onboarding/prompts/frontend/plan.md +21 -13
  71. package/onboarding/prompts/frontend/react-native.md +3 -3
  72. package/onboarding/prompts/frontend/react-spa.md +3 -3
  73. package/onboarding/prompts/frontend/vue.md +3 -3
  74. package/onboarding/prompts/implementation/build-and-validate.md +25 -20
  75. package/onboarding/prompts/proof/complete.md +10 -7
  76. package/onboarding/prompts/proof/oss-baseline.md +6 -6
  77. package/onboarding/prompts/proof/round-trip.md +10 -10
  78. package/onboarding/prompts/research/gather.md +8 -8
  79. package/onboarding/prompts/research/merge.md +3 -3
  80. package/onboarding/prompts/research/preflight.md +2 -2
  81. package/onboarding/prompts/research/route.md +4 -4
  82. package/onboarding/prompts/setup/questions.md +192 -159
  83. package/onboarding/prompts/starter/clone.md +126 -51
  84. package/onboarding/prompts/stopped/run-failed.md +5 -3
  85. package/onboarding/prompts/subagent/create-plan.md +73 -20
  86. package/onboarding/prompts/subagent/implement-and-validate.md +30 -14
  87. package/onboarding/prompts/subagent/inspect-repository.md +3 -2
  88. package/onboarding/prompts/subagent/prove-oss-baseline.md +10 -5
  89. package/onboarding/prompts/subagent/prove-round-trip.md +23 -14
  90. package/onboarding/prompts/unsupported/no-validated-path.md +5 -4
  91. package/package.json +1 -1
  92. package/release/release-tool.js +12 -2
@@ -1,213 +1,246 @@
1
1
  # Ask the setup questions together
2
2
 
3
- The route is chosen. This node asks, in one message, every setup choice that the findings
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 the vendor that the setup uses, or `other` if you cannot tell, with
13
- the choice `existing`.
14
- - An existing agent that speaks AG-UI, but is none of the frameworks in the table below,
15
- takes the Existing AG-UI agent route. For example, an `AbstractAgent` subclass that the
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 carry the CLI's toolchain reading. Its `unready` list names each
25
- framework that this machine cannot run until a toolchain is installed, and the toolchain
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
- - When you show a framework on that list, show it after the ready ones. In the same line,
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 that is still open at this point in one message, one numbered line per
37
- choice, so that one reply can accept every recommendation. Put the recommendation first,
38
- give its evidence in one sentence, and keep the alternatives short. Do not ask a yes-or-no
39
- question first. Leave out a line whose answer is settled. Do not ask about the plan
40
- here.
41
-
42
- **Line 1: what the project is for.**
43
-
44
- If neither the developer nor the repository findings prove what the project is for, ask
45
- this line. It asks what the developer wants to build before the framework is chosen.
46
- Give two or three short examples.
47
-
48
- Do not ask it when the target directory holds no project. The frontend they pick decides
49
- whether a starter exists. Next.js and Angular have starters for some agent frameworks.
50
- React SPA, Vue 3 and React Native have no starter, so the project is built from their
51
- documentation. Slack and Microsoft Teams are choices at that step. A purpose question here
52
- names a domain before that choice.
53
-
54
- **Line 2: the agent framework.**
55
-
56
- If the project has no agent, ask this line. Show the options and one
57
- recommendation based on repository evidence. Match the language the repository already
58
- uses. When the framework is unknown, give it one line that lists the recommendation and
59
- valid choices.
60
-
61
- If the project is empty, state that no repository-based recommendation exists. Give these
62
- documented defaults: LangGraph TypeScript, LangGraph Python, ADK, Microsoft Agent Framework
63
- Python, Microsoft Agent Framework .NET, and Mastra. Explain which default matches the
64
- developer's stated purpose. Show the other listed frameworks as options. Do not describe a
65
- documented default as a repository-based recommendation.
66
-
67
- These are the agent frameworks, their default vendors, and the vendors that this run can
68
- set up for a new agent. Each documented vendor has a credential variable and setup steps on
69
- the framework's CopilotKit pages:
70
-
71
- | Framework | Default vendor | Documented vendors |
72
- | ---------------------------------- | --------------- | ------------------------- |
73
- | AG2 | OpenAI | OpenAI |
74
- | ADK | Google | Google |
75
- | Agno | OpenAI | OpenAI |
76
- | Built-in CopilotKit agent | OpenAI | OpenAI, Anthropic, Google |
77
- | Claude Agent SDK (Python) | Anthropic | Anthropic |
78
- | Claude Agent SDK (TypeScript) | Anthropic | Anthropic |
79
- | CrewAI Flows | Project-defined | |
80
- | Existing AG-UI agent | The agent's own | |
81
- | Deep Agents | OpenAI | OpenAI |
82
- | LangGraph FastAPI | OpenAI | OpenAI |
83
- | LangGraph Python | OpenAI | OpenAI |
84
- | LangGraph TypeScript | OpenAI | OpenAI |
85
- | LlamaIndex | OpenAI | OpenAI |
86
- | Mastra | OpenAI | OpenAI, Anthropic |
87
- | Microsoft Agent Framework (.NET) | OpenAI | OpenAI |
88
- | Microsoft Agent Framework (Python) | OpenAI | OpenAI |
89
- | MS Agent Harness (.NET) | OpenAI | OpenAI |
90
- | Pydantic AI | OpenAI | OpenAI |
91
- | Strands Agents (Python) | OpenAI | OpenAI, Anthropic |
92
- | Strands Agents (TypeScript) | OpenAI | OpenAI, Anthropic |
93
-
94
- "Project-defined" is not a missing default. It means that framework's own route settles
95
- the vendor with the developer: it keeps the one the repository already uses, and asks a
96
- single question when the repository shows none.
97
-
98
- "The agent's own" means that the route keeps the vendor the existing agent already uses.
99
- Ask no vendor question for it.
100
-
101
- Do not offer a framework that is not listed above. Do not port an existing agent to another
102
- framework.
103
-
104
- **Line 3: the model and its key.**
105
-
106
- Settle the vendor and where its key is here: without a key from that vendor, the developer
107
- cannot answer the later key question.
108
-
109
- For a new agent, ask this line, even if the framework needed no question. Skip it for an
110
- existing agent, and when the default vendor is "Project-defined" or "The agent's own":
111
- those routes settle the vendor themselves. Recommend the row's default vendor and, in the
112
- same sentence, ask where its key is: a file, or that they will add it later. When the row
113
- documents more than one vendor, name the others. Offer no vendor the row does not name. For
114
- example, for the built-in agent: "Model: OpenAI, with the key in a file outside this folder,
115
- or 'later'. Anthropic and Google work too." Never ask for the key itself.
116
-
117
- With no file named, record that they will add it later. A path the developer names is
118
- theirs to give, including one outside the project. Recommend the project's env file when it
119
- exists, git ignores and does not track it, and it already holds the key. Otherwise recommend
120
- a file outside the project, or "later". Never recommend an env file in the project while an
121
- `env-file-exposed` line is open, or when git tracks it or does not ignore it. For an empty
122
- target, a new key file goes outside the target directory, because `init` refuses a target
123
- that holds a `.env` file. Tell the developer only where the file goes, not that reason.
124
-
125
- **Line 4: the frontend.**
126
-
127
- If the project has no frontend, ask this line. The valid choices are React SPA,
128
- Next.js, Angular, Vue 3, React Native, Slack, and Microsoft Teams.
129
-
130
- Where there is no existing frontend, include Slack and Microsoft Teams in the frontend
131
- question. Then recommend the one the developer
132
- names, and say what each choice implies for where the CopilotKit runtime lives: Next.js
133
- hosts it in a route handler, Angular in its SSR server, and Vue 3, React SPA and React
134
- Native reach a runtime that runs as its own process. Slack and Microsoft Teams use a
135
- long-running Channel host, not a CopilotKit web app.
136
-
137
- **Line 5: the project.** Leave out the project line on the local route: local evaluation
138
- creates its own project. For an existing app, first
139
- run `npx --prefer-offline --yes copilotkit@4.26.0 onboard credentials --json` from the target app directory.
140
- It only reads: it creates no project and writes no file. Read `status`:
141
-
142
- - `ready`: the app already has a project. Leave the line out.
143
- - `needs-developer` with `project-name`: offer `suggestedName`, another name, or a project
144
- the developer already has. If there is no `suggestedName`, ask for a name. Do not list
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. When
149
- `question.untrack` is absent, recommend approving it: without it, the run writes no key. A
150
- reply that accepts every recommendation approves it. When `question.untrack` is present,
151
- git tracks the file. If `question.alternative` is present, recommend it: the key goes into
152
- `question.alternative.file`, which affects no teammate, and a reply that accepts every
153
- recommendation takes it. Without `question.alternative`, recommend nothing for this line.
154
- Untracking removes the file for everyone who pulls the next commit, so only an answer to
155
- this line approves it. A reply that accepts every recommendation never approves the
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, offer a new project named after the target directory, or a project the
162
- developer already has.
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.26.0 onboard checkpoint --phase awaiting-developer
183
+ npx --prefer-offline --yes copilotkit@4.27.0 onboard checkpoint --phase awaiting-developer
168
184
  ```
169
185
 
170
- If no line is open, ask nothing and continue.
186
+ With no line open, ask nothing and continue.
171
187
 
172
188
  ## Read the reply
173
189
 
174
- A reply that accepts, such as "yes" or "go ahead", accepts every recommendation. A line the
175
- reply changes takes the new answer. A line the reply does not mention keeps its
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 row does not name: tell the developer that this run
181
- cannot set up that vendor for a new agent with this framework. Offer two choices. They
182
- can keep the framework with its default vendor, or choose a framework whose row names
183
- their vendor.
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 provider lines decide nothing. Drop them.
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 three things in one message:
207
+ developer in one message:
190
208
 
191
209
  1. Which toolchain to install, and its install page.
192
- 2. That the coding agent's shell reads PATH when it starts, so it cannot see the new
193
- toolchain until the developer restarts the coding agent.
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.26.0 onboard start --run <onboarding_run_id>`.
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.26.0 onboard checkpoint --phase awaiting-developer
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 the purpose, the framework, the frontend, the project answer, the key file answer,
208
- and the model vendor with how it was chosen. The developer named it: `developer`. The developer had no preference: `default`,
209
- which is the row's default vendor. An existing agent's vendor: `existing`. Give these to
210
- every later node and subagent. They answer the framework, provider, and frontend questions
211
- for the rest of the run. The project and key answers answer those questions too.
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.26.0 onboard read credentials/plan`.
246
+ Then run `npx --prefer-offline --yes copilotkit@4.27.0 onboard read credentials/plan`.