copilotkit 4.8.2 → 4.8.4
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 +218 -4
- package/cli-build-info.json +7 -7
- package/index.js +43404 -20635
- package/onboarding/index.json +179 -0
- package/onboarding/prompts/authenticate/start.md +83 -0
- package/onboarding/prompts/credentials/finalize-plan.md +185 -0
- package/onboarding/prompts/credentials/plan.md +38 -0
- package/onboarding/prompts/framework/google-adk.md +41 -0
- package/onboarding/prompts/framework/langgraph-python.md +28 -0
- package/onboarding/prompts/framework/langgraph-typescript.md +28 -0
- package/onboarding/prompts/framework/mastra.md +58 -0
- package/onboarding/prompts/framework/ms-agent-dotnet.md +66 -0
- package/onboarding/prompts/framework/ms-agent-python.md +41 -0
- package/onboarding/prompts/frontend/angular.md +27 -0
- package/onboarding/prompts/frontend/nextjs.md +23 -0
- package/onboarding/prompts/frontend/plan.md +27 -0
- package/onboarding/prompts/frontend/react-native.md +18 -0
- package/onboarding/prompts/frontend/react-spa.md +12 -0
- package/onboarding/prompts/frontend/vue.md +18 -0
- package/onboarding/prompts/implementation/build-and-validate.md +78 -0
- package/onboarding/prompts/proof/complete.md +59 -0
- package/onboarding/prompts/proof/round-trip.md +143 -0
- package/onboarding/prompts/subagent/create-plan.md +69 -0
- package/onboarding/prompts/subagent/implement-and-validate.md +48 -0
- package/onboarding/prompts/subagent/inspect-repository.md +24 -0
- package/onboarding/prompts/subagent/prove-round-trip.md +114 -0
- package/onboarding/prompts/unsupported/no-validated-path.md +22 -0
- package/package.json +4 -1
- package/release/release-tool.js +39 -5
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
{
|
|
2
|
+
"root": "authenticate/start",
|
|
3
|
+
"prompts": [
|
|
4
|
+
{
|
|
5
|
+
"edges": [
|
|
6
|
+
"credentials/plan",
|
|
7
|
+
"unsupported/no-validated-path"
|
|
8
|
+
],
|
|
9
|
+
"milestone": "authenticate",
|
|
10
|
+
"name": "authenticate/start"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"edges": [
|
|
14
|
+
"implementation/build-and-validate",
|
|
15
|
+
"unsupported/no-validated-path"
|
|
16
|
+
],
|
|
17
|
+
"milestone": "credentials",
|
|
18
|
+
"name": "credentials/finalize-plan"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"edges": [
|
|
22
|
+
"framework/langgraph-python",
|
|
23
|
+
"framework/langgraph-typescript",
|
|
24
|
+
"framework/google-adk",
|
|
25
|
+
"framework/ms-agent-python",
|
|
26
|
+
"framework/ms-agent-dotnet",
|
|
27
|
+
"framework/mastra",
|
|
28
|
+
"unsupported/no-validated-path"
|
|
29
|
+
],
|
|
30
|
+
"milestone": "credentials",
|
|
31
|
+
"name": "credentials/plan"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"edges": [
|
|
35
|
+
"frontend/plan",
|
|
36
|
+
"unsupported/no-validated-path"
|
|
37
|
+
],
|
|
38
|
+
"milestone": "framework",
|
|
39
|
+
"name": "framework/google-adk"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"edges": [
|
|
43
|
+
"frontend/plan",
|
|
44
|
+
"unsupported/no-validated-path"
|
|
45
|
+
],
|
|
46
|
+
"milestone": "framework",
|
|
47
|
+
"name": "framework/langgraph-python"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"edges": [
|
|
51
|
+
"frontend/plan",
|
|
52
|
+
"unsupported/no-validated-path"
|
|
53
|
+
],
|
|
54
|
+
"milestone": "framework",
|
|
55
|
+
"name": "framework/langgraph-typescript"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"edges": [
|
|
59
|
+
"frontend/plan",
|
|
60
|
+
"unsupported/no-validated-path"
|
|
61
|
+
],
|
|
62
|
+
"milestone": "framework",
|
|
63
|
+
"name": "framework/mastra"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"edges": [
|
|
67
|
+
"frontend/plan",
|
|
68
|
+
"unsupported/no-validated-path"
|
|
69
|
+
],
|
|
70
|
+
"milestone": "framework",
|
|
71
|
+
"name": "framework/ms-agent-dotnet"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"edges": [
|
|
75
|
+
"frontend/plan",
|
|
76
|
+
"unsupported/no-validated-path"
|
|
77
|
+
],
|
|
78
|
+
"milestone": "framework",
|
|
79
|
+
"name": "framework/ms-agent-python"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"edges": [
|
|
83
|
+
"credentials/finalize-plan",
|
|
84
|
+
"unsupported/no-validated-path"
|
|
85
|
+
],
|
|
86
|
+
"milestone": "frontend",
|
|
87
|
+
"name": "frontend/angular"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"edges": [
|
|
91
|
+
"credentials/finalize-plan",
|
|
92
|
+
"unsupported/no-validated-path"
|
|
93
|
+
],
|
|
94
|
+
"milestone": "frontend",
|
|
95
|
+
"name": "frontend/nextjs"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"edges": [
|
|
99
|
+
"frontend/react-spa",
|
|
100
|
+
"frontend/nextjs",
|
|
101
|
+
"frontend/angular",
|
|
102
|
+
"frontend/vue",
|
|
103
|
+
"frontend/react-native",
|
|
104
|
+
"unsupported/no-validated-path"
|
|
105
|
+
],
|
|
106
|
+
"milestone": "frontend",
|
|
107
|
+
"name": "frontend/plan"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"edges": [
|
|
111
|
+
"credentials/finalize-plan",
|
|
112
|
+
"unsupported/no-validated-path"
|
|
113
|
+
],
|
|
114
|
+
"milestone": "frontend",
|
|
115
|
+
"name": "frontend/react-native"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"edges": [
|
|
119
|
+
"unsupported/no-validated-path"
|
|
120
|
+
],
|
|
121
|
+
"milestone": "frontend",
|
|
122
|
+
"name": "frontend/react-spa"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"edges": [
|
|
126
|
+
"credentials/finalize-plan",
|
|
127
|
+
"unsupported/no-validated-path"
|
|
128
|
+
],
|
|
129
|
+
"milestone": "frontend",
|
|
130
|
+
"name": "frontend/vue"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"edges": [
|
|
134
|
+
"proof/round-trip",
|
|
135
|
+
"unsupported/no-validated-path"
|
|
136
|
+
],
|
|
137
|
+
"milestone": "implementation",
|
|
138
|
+
"name": "implementation/build-and-validate"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"edges": [],
|
|
142
|
+
"milestone": "proof",
|
|
143
|
+
"name": "proof/complete"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"edges": [
|
|
147
|
+
"proof/complete",
|
|
148
|
+
"unsupported/no-validated-path"
|
|
149
|
+
],
|
|
150
|
+
"milestone": "proof",
|
|
151
|
+
"name": "proof/round-trip"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"edges": [],
|
|
155
|
+
"milestone": "subagent",
|
|
156
|
+
"name": "subagent/create-plan"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"edges": [],
|
|
160
|
+
"milestone": "subagent",
|
|
161
|
+
"name": "subagent/implement-and-validate"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"edges": [],
|
|
165
|
+
"milestone": "subagent",
|
|
166
|
+
"name": "subagent/inspect-repository"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"edges": [],
|
|
170
|
+
"milestone": "subagent",
|
|
171
|
+
"name": "subagent/prove-round-trip"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"edges": [],
|
|
175
|
+
"milestone": "unsupported",
|
|
176
|
+
"name": "unsupported/no-validated-path"
|
|
177
|
+
}
|
|
178
|
+
]
|
|
179
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Start CopilotKit onboarding
|
|
2
|
+
|
|
3
|
+
Act only as the orchestrator. Rely on subagents for all project work.
|
|
4
|
+
Give every project task to a subagent.
|
|
5
|
+
Do not inspect, change, implement, or validate the project yourself.
|
|
6
|
+
Do not show prompt names, internal route IDs, subagent names, or storage field names to the developer.
|
|
7
|
+
|
|
8
|
+
Work from the target project directory. For an existing project, start at its inspection
|
|
9
|
+
root.
|
|
10
|
+
|
|
11
|
+
Read only inside the target project directory. Every subagent you spawn inherits that
|
|
12
|
+
limit, including one this graph does not name. Answer a CopilotKit API or configuration
|
|
13
|
+
question from the documentation this graph gives you. Another checkout on this machine is
|
|
14
|
+
not a source. The developer running this has none, so an answer taken from one is an
|
|
15
|
+
answer they cannot get, and it hides the documentation gap that blocks them.
|
|
16
|
+
|
|
17
|
+
Run `npx copilotkit@4.8.4 login --json` before any project work. This command checks the
|
|
18
|
+
current session. It starts sign-in only as needed.
|
|
19
|
+
|
|
20
|
+
Read its JSON Lines output in order:
|
|
21
|
+
|
|
22
|
+
1. If it emits `authentication_url`, show only that URL to the developer.
|
|
23
|
+
2. Tell the developer to open the URL and finish sign-in.
|
|
24
|
+
3. Wait for the command to emit `type: completed`.
|
|
25
|
+
4. If it emits `type: failed`, report the error and stop onboarding.
|
|
26
|
+
|
|
27
|
+
Do not use `whoami` for this check. It has no JSON output and some failures exit with code
|
|
28
|
+
zero. Do not put account tokens or credentials in the conversation.
|
|
29
|
+
|
|
30
|
+
Spawn one research subagent. Give it the full text of the research brief at the end of this
|
|
31
|
+
prompt and tell it to follow that brief and return only its findings. Add these tasks:
|
|
32
|
+
|
|
33
|
+
- Find the target app or runtime directory that owns `.env` and CopilotKit setup.
|
|
34
|
+
- Check whether `.copilotkit/project.json` has `projectId`, `projectSlug`, and `clerkOrgId`.
|
|
35
|
+
- Check whether `.env` has a non-empty `INTELLIGENCE_API_KEY` entry.
|
|
36
|
+
- Record the `.env` file modification time without returning it.
|
|
37
|
+
|
|
38
|
+
Do not print either file or any secret value. Return only paths, presence checks, and missing
|
|
39
|
+
field names. Wait for the subagent to finish.
|
|
40
|
+
|
|
41
|
+
If a repository file exists, each finding must cite it. For an empty project, the subagent
|
|
42
|
+
must cite its directory check and report absent parts.
|
|
43
|
+
|
|
44
|
+
The findings must cover what the project is for, the agent, frontend, CopilotKit setup,
|
|
45
|
+
authentication, credential names, and validation path. Do not ask the developer for facts
|
|
46
|
+
that the repository answers.
|
|
47
|
+
|
|
48
|
+
When the evidence is complete, run
|
|
49
|
+
`npx copilotkit@4.8.4 onboard read credentials/plan`.
|
|
50
|
+
|
|
51
|
+
If authentication or inspection stops onboarding, run
|
|
52
|
+
`npx copilotkit@4.8.4 onboard read unsupported/no-validated-path`.
|
|
53
|
+
|
|
54
|
+
## Research subagent brief
|
|
55
|
+
|
|
56
|
+
Everything below the rule is the subagent's prompt. Give it verbatim.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
# Inspect the repository
|
|
61
|
+
|
|
62
|
+
Inspect the repository without changing it. Find evidence for:
|
|
63
|
+
|
|
64
|
+
- what the project is for, in the project's own words
|
|
65
|
+
- any existing agent framework
|
|
66
|
+
- any existing frontend
|
|
67
|
+
- current CopilotKit packages and configuration
|
|
68
|
+
- authentication boundaries
|
|
69
|
+
- names of required credential variables, without reading their values
|
|
70
|
+
|
|
71
|
+
A project states what it is for in its `README.md`, in its package description, or in
|
|
72
|
+
the prompt of an agent it already has. Quote that statement rather than rewriting it. An
|
|
73
|
+
empty project carries it in the README alone, and that makes the README the whole of the
|
|
74
|
+
evidence. State the purpose as unproved when the project never says.
|
|
75
|
+
|
|
76
|
+
Gather what you need in as few commands as possible. Combine independent reads into one
|
|
77
|
+
command rather than running them one at a time. Split a command only when its result decides
|
|
78
|
+
what you run next.
|
|
79
|
+
|
|
80
|
+
Return the file paths and a short finding for each item. State each absent or unproved item.
|
|
81
|
+
Do not read, print, or return secret values. Do not read a file outside the project
|
|
82
|
+
directory. Do not run or return another onboarding command. Stop after returning the
|
|
83
|
+
findings to the main coding agent.
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# Select the Intelligence project and create the plan
|
|
2
|
+
|
|
3
|
+
Use the selected framework, frontend, model vendor, model, documentation URLs, and
|
|
4
|
+
repository findings. Ask the developer only for choices that the repository does not
|
|
5
|
+
show. Do not change application code in this phase. Do not read, show, store, or request
|
|
6
|
+
a secret value.
|
|
7
|
+
|
|
8
|
+
## Select the Intelligence project
|
|
9
|
+
|
|
10
|
+
Use the target app or runtime directory from the repository findings. If a nested app owns
|
|
11
|
+
the runtime `.env` file, do not default to the repository root.
|
|
12
|
+
|
|
13
|
+
If valid project fields and a non-empty `INTELLIGENCE_API_KEY` already exist, ask whether to
|
|
14
|
+
keep that selection. Recommend keeping it to avoid minting another key. Ask the developer to
|
|
15
|
+
confirm that the prior project selection had no key-provision warning.
|
|
16
|
+
|
|
17
|
+
Reused project credentials remain unverified until an authenticated Intelligence call
|
|
18
|
+
succeeds. Record that state in the plan.
|
|
19
|
+
|
|
20
|
+
If the developer needs a project or another project, do the selection yourself from the
|
|
21
|
+
target directory. Do not send the developer to another terminal.
|
|
22
|
+
|
|
23
|
+
List the choices first:
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
npx copilotkit@4.8.4 project list --json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
With `--json` the payload is the only thing on standard output, so it is safe to parse.
|
|
30
|
+
Show the developer the project names and ask which one to use, or ask for a name for a new
|
|
31
|
+
project. This is the same kind of question as the frontend choice, so ask it here rather
|
|
32
|
+
than ending the turn.
|
|
33
|
+
|
|
34
|
+
Then record their answer, from the target directory:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
npx copilotkit@4.8.4 project select --project <slug-or-id> --json
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Use `--create <name> --json` instead when they want a new project. The two flags cannot be
|
|
41
|
+
combined. A slug that does not exist fails and lists the real ones, so a typo cannot record
|
|
42
|
+
a selection that points at nothing.
|
|
43
|
+
|
|
44
|
+
Read the JSON result. It reports `api_key_provisioned`. Key provisioning is deliberately
|
|
45
|
+
non-fatal, so this command can persist the selection, warn on standard error, and still
|
|
46
|
+
exit zero with no key written. Treat `api_key_provisioned` as false the same way as an
|
|
47
|
+
error and stop onboarding: a scaffold with no key looks finished and is not.
|
|
48
|
+
|
|
49
|
+
Never print the payload or any secret value.
|
|
50
|
+
|
|
51
|
+
After a warning-free result, send the research subagent a follow-up check. Require it to
|
|
52
|
+
confirm these facts without showing values:
|
|
53
|
+
|
|
54
|
+
- `.copilotkit/project.json` has non-empty `projectId`, `projectSlug`, and `clerkOrgId` fields.
|
|
55
|
+
- `.env` has a non-empty `INTELLIGENCE_API_KEY` entry.
|
|
56
|
+
- If project selection ran, its selected slug matches `projectSlug`.
|
|
57
|
+
- If project selection ran, the `.env` file was created or its modification time advanced.
|
|
58
|
+
|
|
59
|
+
Do not print either file or any secret value. If a check fails, stop onboarding. A project
|
|
60
|
+
selection success message alone does not prove key readiness. The CLI cannot prove key scope
|
|
61
|
+
before an authenticated Intelligence call succeeds.
|
|
62
|
+
|
|
63
|
+
## Where a model credential comes from
|
|
64
|
+
|
|
65
|
+
The plan names the model credential variables. Finding their values is not its job.
|
|
66
|
+
|
|
67
|
+
If the project has no value for one, ask the developer where it lives. Never read a file
|
|
68
|
+
outside the project directory to find one. A key found that way belongs to another
|
|
69
|
+
project: it bills that project for these model calls, points attribution at a project
|
|
70
|
+
nobody chose, and leaves no trace, because the scaffold works.
|
|
71
|
+
|
|
72
|
+
Asking where a credential lives is not requesting a secret value. Ask for a path, or ask
|
|
73
|
+
the developer to write the value into the project's env file themselves. A path the
|
|
74
|
+
developer names is theirs to give, including one outside the project. A path this run
|
|
75
|
+
finds is not.
|
|
76
|
+
|
|
77
|
+
If no answer comes, stop. Do not write a placeholder or an empty value. A scaffold
|
|
78
|
+
carrying a dummy key looks finished and fails at the first model call, which is worse
|
|
79
|
+
than stopping here.
|
|
80
|
+
|
|
81
|
+
## Wire the runtime to Intelligence
|
|
82
|
+
|
|
83
|
+
The key in `.env` does nothing on its own. The runtime reads no environment variable for
|
|
84
|
+
it. The credential reaches the platform only when the runtime is constructed with an
|
|
85
|
+
Intelligence client, and a runtime built without one compiles, serves, answers in a
|
|
86
|
+
browser, and never touches the platform.
|
|
87
|
+
|
|
88
|
+
Add this page to the selected documentation URLs for both subagents:
|
|
89
|
+
|
|
90
|
+
- https://docs.copilotkit.ai/premium/connect-your-runtime.md
|
|
91
|
+
|
|
92
|
+
Fetch it together with the pages already selected rather than on its own.
|
|
93
|
+
|
|
94
|
+
Spawn one planning subagent. Give it the full text of the planning brief at the end of this
|
|
95
|
+
prompt, the repository findings, selected framework, frontend, model, credential variable
|
|
96
|
+
names, and selected documentation URLs. Wait for the subagent to finish.
|
|
97
|
+
|
|
98
|
+
Make sure that the plan preserves each part that already exists. The plan must name the
|
|
99
|
+
credential variables, the Intelligence runtime wiring, the application the project asks
|
|
100
|
+
for, implementation steps, validation steps, and proof steps. It must not contain secret
|
|
101
|
+
values.
|
|
102
|
+
|
|
103
|
+
Show only the selected framework, frontend, model, planned file changes, validation commands, and proof steps.
|
|
104
|
+
|
|
105
|
+
If the developer approves the plan, run
|
|
106
|
+
`npx copilotkit@4.8.4 onboard read implementation/build-and-validate`.
|
|
107
|
+
|
|
108
|
+
If no exact supported path or documentation URL exists, run
|
|
109
|
+
`npx copilotkit@4.8.4 onboard read unsupported/no-validated-path`.
|
|
110
|
+
|
|
111
|
+
## Planning subagent brief
|
|
112
|
+
|
|
113
|
+
Everything below the rule is the subagent's prompt. Give it verbatim.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
# Create the onboarding plan
|
|
118
|
+
|
|
119
|
+
Use the selected framework, frontend, model, repository findings, and documentation URLs
|
|
120
|
+
from the main coding agent. Fetch every selected URL in one step rather than one after
|
|
121
|
+
another. Do not use remembered CopilotKit instructions.
|
|
122
|
+
|
|
123
|
+
Name the application the project asks for, and plan that application. Each documentation
|
|
124
|
+
page teaches through one worked example, and that example carries a domain of its own.
|
|
125
|
+
The domain belongs to the page. The project's purpose from the repository findings
|
|
126
|
+
decides what gets built. Where the two differ, the project wins. Where the repository
|
|
127
|
+
never states a purpose, say so in the plan and ask the developer before you adopt the
|
|
128
|
+
domain of an example.
|
|
129
|
+
|
|
130
|
+
Read only inside the project directory. Answer an API question from the documentation
|
|
131
|
+
URLs you were given, not from another checkout on this machine.
|
|
132
|
+
|
|
133
|
+
List the required credential variable names. Do not read or return credential values.
|
|
134
|
+
Preserve each agent or frontend that already exists.
|
|
135
|
+
|
|
136
|
+
Plan the runtime to consume the Intelligence credential. The runtime takes an
|
|
137
|
+
`intelligence` option holding a client built from the project key. A runtime given a
|
|
138
|
+
`runner` option instead is the SSE runtime. It never reads the key, threads are not
|
|
139
|
+
durable, and the Inspector reads the project as locked. The two options cannot be
|
|
140
|
+
combined. Take the constructor from the connect-your-runtime page. Where a framework
|
|
141
|
+
quickstart shows a `runner` option instead, the connect-your-runtime page wins.
|
|
142
|
+
|
|
143
|
+
Where the SDK requires an application-level value that the repository cannot supply, such
|
|
144
|
+
as an end-user identity for threads, use one clearly marked local placeholder and name what
|
|
145
|
+
production requires instead. Do not stop onboarding to ask the developer for it.
|
|
146
|
+
|
|
147
|
+
Check whether the existing agent performs unattended side effects, such as paging, sending
|
|
148
|
+
notifications, writing to an external system, or creating tickets. If it does, the new
|
|
149
|
+
conversational surface must not trigger them. Wrap only the reasoning steps, or require an
|
|
150
|
+
explicit developer confirmation before the side effect can run. Name each side effect you
|
|
151
|
+
found and state how the plan avoids it.
|
|
152
|
+
|
|
153
|
+
If the value of the journey depends on data the project already holds, name that data,
|
|
154
|
+
name where it lives, and name how it reaches the agent. Rendering a list in the DOM does
|
|
155
|
+
not give the agent access to it. An agent wired without the page's data answers from
|
|
156
|
+
entities it invents, and the answer looks correct. Take the frontend-context step from
|
|
157
|
+
the selected documentation. Where no selected page documents it for this framework or
|
|
158
|
+
frontend, record that as a documentation gap rather than guessing the API.
|
|
159
|
+
|
|
160
|
+
Where that data exists, name the entities the proof compares against: the ids, names, or
|
|
161
|
+
records the project holds and the answer has to reference. Where the outcome references
|
|
162
|
+
no project data, say so in the plan, so that the proof asks for evidence this journey can
|
|
163
|
+
produce.
|
|
164
|
+
|
|
165
|
+
Create one plan for implementation, validation, and proof. Name each file or area that can
|
|
166
|
+
change. Name the commands that can validate the result.
|
|
167
|
+
Name the commands or user path that prove a real generative-UI round trip.
|
|
168
|
+
|
|
169
|
+
Keep a production build out of the validation commands. A type check plus the real round
|
|
170
|
+
trip is the proof, and the round trip runs in development mode. Name the production build
|
|
171
|
+
as a follow-up for the developer instead. Never raise a bundle budget or relax a lint rule
|
|
172
|
+
to make a build pass during onboarding.
|
|
173
|
+
|
|
174
|
+
The type check runs against the project's own configuration. If the project has no
|
|
175
|
+
type-check command, add one that uses the configuration the project already has.
|
|
176
|
+
Do not add compiler strictness the project did not have. Nothing later in the run is
|
|
177
|
+
allowed to weaken type safety, so a stricter gate named here is one the run cannot get
|
|
178
|
+
back out of.
|
|
179
|
+
|
|
180
|
+
Gather what you need in as few commands as possible. Combine independent reads into one
|
|
181
|
+
command rather than running them one at a time. Split a command only when its result decides
|
|
182
|
+
what you run next.
|
|
183
|
+
|
|
184
|
+
Return the plan, the URLs that you read, and each documentation gap. Stop after you return
|
|
185
|
+
the findings to the main coding agent.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Select the agent framework
|
|
2
|
+
|
|
3
|
+
Use the repository findings to select the agent framework. Ask the developer only for
|
|
4
|
+
choices that the repository does not show. Do not change application code in this phase.
|
|
5
|
+
Do not read, show, store, or request a secret value.
|
|
6
|
+
|
|
7
|
+
This release validates six agent frameworks:
|
|
8
|
+
|
|
9
|
+
| Framework | Default vendor |
|
|
10
|
+
| ---------------------------------- | -------------- |
|
|
11
|
+
| LangGraph Python | OpenAI |
|
|
12
|
+
| LangGraph TypeScript | OpenAI |
|
|
13
|
+
| ADK | Google |
|
|
14
|
+
| Microsoft Agent Framework (Python) | OpenAI |
|
|
15
|
+
| Microsoft Agent Framework (.NET) | GitHub Models |
|
|
16
|
+
| Mastra | OpenAI |
|
|
17
|
+
|
|
18
|
+
If the project already has an agent in a listed framework, preserve that framework and
|
|
19
|
+
its model setup. Ask only about choices that remain unknown.
|
|
20
|
+
|
|
21
|
+
If the project needs an agent, show the options and one recommendation based on repository
|
|
22
|
+
evidence. Match the language the repository already uses. Ask the developer to choose.
|
|
23
|
+
|
|
24
|
+
Do not offer a framework that is not listed above. Do not port an existing agent to
|
|
25
|
+
another framework. Do not show the internal route.
|
|
26
|
+
|
|
27
|
+
Use exactly one matching internal route:
|
|
28
|
+
|
|
29
|
+
1. LangGraph Python: `npx copilotkit@4.8.4 onboard read framework/langgraph-python`
|
|
30
|
+
2. LangGraph TypeScript: `npx copilotkit@4.8.4 onboard read framework/langgraph-typescript`
|
|
31
|
+
3. ADK: `npx copilotkit@4.8.4 onboard read framework/google-adk`
|
|
32
|
+
4. Microsoft Agent Framework Python: `npx copilotkit@4.8.4 onboard read framework/ms-agent-python`
|
|
33
|
+
5. Microsoft Agent Framework .NET: `npx copilotkit@4.8.4 onboard read framework/ms-agent-dotnet`
|
|
34
|
+
6. Mastra: `npx copilotkit@4.8.4 onboard read framework/mastra`
|
|
35
|
+
|
|
36
|
+
If the project has an agent in another framework, or no listed framework fits, keep the
|
|
37
|
+
developer's current agent and run
|
|
38
|
+
`npx copilotkit@4.8.4 onboard read unsupported/no-validated-path`.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Configure ADK
|
|
2
|
+
|
|
3
|
+
Preserve an existing ADK model setup. Start with Google for a new agent. Offer another
|
|
4
|
+
vendor only after an exact CopilotKit Markdown page names it. The page must name its
|
|
5
|
+
credential variables and setup steps.
|
|
6
|
+
|
|
7
|
+
Name the model credential `GOOGLE_API_KEY`. This framework accepts more than one
|
|
8
|
+
spelling, and a scaffold that reaches for a different one looks finished and reads no
|
|
9
|
+
key.
|
|
10
|
+
|
|
11
|
+
Keep `INTELLIGENCE_API_KEY` separate from model-vendor credentials. Do not read, show,
|
|
12
|
+
store, or request a secret value.
|
|
13
|
+
|
|
14
|
+
## Documentation
|
|
15
|
+
|
|
16
|
+
- https://docs.copilotkit.ai/google-adk/quickstart.md
|
|
17
|
+
- https://docs.copilotkit.ai/google-adk/inspector.md
|
|
18
|
+
- https://docs.copilotkit.ai/google-adk/generative-ui/a2ui/fixed-schema.md
|
|
19
|
+
- https://docs.copilotkit.ai/reference/v2/hooks/useAgentContext.md
|
|
20
|
+
|
|
21
|
+
Fetch all four pages in one step rather than one after another. Sequential fetching
|
|
22
|
+
cost about nine minutes of the first proven journey.
|
|
23
|
+
|
|
24
|
+
The documentation scope is `google-adk`. A `/adk/` URL answers with a redirect stub
|
|
25
|
+
whose body is the canonical path, so fetch the `google-adk` form.
|
|
26
|
+
|
|
27
|
+
No page documents the Google ADK side of frontend context. The reference page above
|
|
28
|
+
names the frontend hook, and the agent side of the step is undocumented here. Record
|
|
29
|
+
that missing page as a documentation gap. Do not read the built-in-agent context page
|
|
30
|
+
in its place: that page states no backend work is needed, which holds for the built-in
|
|
31
|
+
agent and not for ADK.
|
|
32
|
+
|
|
33
|
+
Record the selected framework, vendor, model, required credential variable names, and
|
|
34
|
+
these URLs.
|
|
35
|
+
Do not use remembered CopilotKit instructions.
|
|
36
|
+
|
|
37
|
+
If the pages support the selection, run
|
|
38
|
+
`npx copilotkit@4.8.4 onboard read frontend/plan`.
|
|
39
|
+
|
|
40
|
+
If a page does not load or support the selection, run
|
|
41
|
+
`npx copilotkit@4.8.4 onboard read unsupported/no-validated-path`.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Configure LangGraph Python
|
|
2
|
+
|
|
3
|
+
Preserve an existing LangGraph Python model setup. Start with OpenAI for a new agent.
|
|
4
|
+
Offer another vendor only after an exact CopilotKit Markdown page names it. The page must
|
|
5
|
+
name its credential variables and setup steps.
|
|
6
|
+
|
|
7
|
+
Keep `INTELLIGENCE_API_KEY` separate from model-vendor credentials. Do not read, show,
|
|
8
|
+
store, or request a secret value.
|
|
9
|
+
|
|
10
|
+
## Documentation
|
|
11
|
+
|
|
12
|
+
- https://docs.copilotkit.ai/langgraph-python/quickstart.md
|
|
13
|
+
- https://docs.copilotkit.ai/langgraph-python/inspector.md
|
|
14
|
+
- https://docs.copilotkit.ai/langgraph-python/generative-ui/a2ui/fixed-schema.md
|
|
15
|
+
- https://docs.copilotkit.ai/langgraph-python/agent-app-context.md
|
|
16
|
+
|
|
17
|
+
Fetch all four pages in one step rather than one after another. Sequential fetching
|
|
18
|
+
cost about nine minutes of the first proven journey.
|
|
19
|
+
|
|
20
|
+
Record the selected framework, vendor, model, required credential variable names, and
|
|
21
|
+
these URLs.
|
|
22
|
+
Do not use remembered CopilotKit instructions.
|
|
23
|
+
|
|
24
|
+
If the pages support the selection, run
|
|
25
|
+
`npx copilotkit@4.8.4 onboard read frontend/plan`.
|
|
26
|
+
|
|
27
|
+
If a page does not load or support the selection, run
|
|
28
|
+
`npx copilotkit@4.8.4 onboard read unsupported/no-validated-path`.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Configure LangGraph TypeScript
|
|
2
|
+
|
|
3
|
+
Preserve an existing LangGraph TypeScript model setup. Start with OpenAI for a new agent.
|
|
4
|
+
Offer another vendor only after an exact CopilotKit Markdown page names it. The page must
|
|
5
|
+
name its credential variables and setup steps.
|
|
6
|
+
|
|
7
|
+
Keep `INTELLIGENCE_API_KEY` separate from model-vendor credentials. Do not read, show,
|
|
8
|
+
store, or request a secret value.
|
|
9
|
+
|
|
10
|
+
## Documentation
|
|
11
|
+
|
|
12
|
+
- https://docs.copilotkit.ai/langgraph-typescript/quickstart.md
|
|
13
|
+
- https://docs.copilotkit.ai/langgraph-typescript/inspector.md
|
|
14
|
+
- https://docs.copilotkit.ai/langgraph-typescript/generative-ui/a2ui/fixed-schema.md
|
|
15
|
+
- https://docs.copilotkit.ai/langgraph-typescript/agent-app-context.md
|
|
16
|
+
|
|
17
|
+
Fetch all four pages in one step rather than one after another. Sequential fetching
|
|
18
|
+
cost about nine minutes of the first proven journey.
|
|
19
|
+
|
|
20
|
+
Record the selected framework, vendor, model, required credential variable names, and
|
|
21
|
+
these URLs.
|
|
22
|
+
Do not use remembered CopilotKit instructions.
|
|
23
|
+
|
|
24
|
+
If the pages support the selection, run
|
|
25
|
+
`npx copilotkit@4.8.4 onboard read frontend/plan`.
|
|
26
|
+
|
|
27
|
+
If a page does not load or support the selection, run
|
|
28
|
+
`npx copilotkit@4.8.4 onboard read unsupported/no-validated-path`.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Configure Mastra
|
|
2
|
+
|
|
3
|
+
Preserve an existing Mastra model setup. Start with OpenAI for a new agent. Offer
|
|
4
|
+
another vendor only after an exact CopilotKit Markdown page names it. The page must name
|
|
5
|
+
its credential variables and setup steps.
|
|
6
|
+
|
|
7
|
+
Name the model credential `OPENAI_API_KEY`.
|
|
8
|
+
|
|
9
|
+
Keep `INTELLIGENCE_API_KEY` separate from model-vendor credentials. Do not read, show,
|
|
10
|
+
store, or request a secret value.
|
|
11
|
+
|
|
12
|
+
`mastra dev` loads the `.env` beside the project it serves and does not look in a
|
|
13
|
+
parent directory. When one credential file serves more than one part of the repository,
|
|
14
|
+
name the path in the dev script as `mastra dev --env <path>` rather than relying on a
|
|
15
|
+
search.
|
|
16
|
+
|
|
17
|
+
The dev server serves port 4111 and puts a web console at `/` on that same port. A
|
|
18
|
+
request to `/` answers 200 with HTML whether or not an agent exists, so read
|
|
19
|
+
`/api/agents` to confirm which agent is served.
|
|
20
|
+
|
|
21
|
+
That console runs any agent the Mastra instance registers, with that agent's full
|
|
22
|
+
tool set, and the API behind it takes
|
|
23
|
+
`POST /api/agents/{agentId}/tools/{toolId}/execute`, which invokes one tool with no
|
|
24
|
+
model and no credential. Neither surface asks for authentication. Tool gating done
|
|
25
|
+
at the CopilotKit runtime governs the runtime's route and does not reach this port.
|
|
26
|
+
Where the project restricts which tools reach a browser, say in the summary that
|
|
27
|
+
the agent port is a second, ungated entrance to the same tools.
|
|
28
|
+
|
|
29
|
+
The dev server binds every interface unless it is told not to, while the banner it
|
|
30
|
+
prints, the `.mastra/dev.lock` it writes and the framework's own documentation all
|
|
31
|
+
say `localhost`. Bind it to loopback: `MASTRA_HOST=127.0.0.1` on the dev command
|
|
32
|
+
when the agent is the developer's existing code, or `server: { host: '127.0.0.1' }`
|
|
33
|
+
on a Mastra instance this run creates. Declare a `server.port` beside it only if
|
|
34
|
+
the run does not also rely on `PORT`, which it overrides.
|
|
35
|
+
|
|
36
|
+
If the project already runs the agent as its own service, reach it where it runs. The
|
|
37
|
+
quickstart shows the agent inside the frontend, and moving a running agent there deletes
|
|
38
|
+
what the developer had.
|
|
39
|
+
|
|
40
|
+
## Documentation
|
|
41
|
+
|
|
42
|
+
- https://docs.copilotkit.ai/mastra/quickstart.md
|
|
43
|
+
- https://docs.copilotkit.ai/mastra/inspector.md
|
|
44
|
+
- https://docs.copilotkit.ai/mastra/generative-ui/a2ui/fixed-schema.md
|
|
45
|
+
- https://docs.copilotkit.ai/mastra/agent-app-context.md
|
|
46
|
+
|
|
47
|
+
Fetch all four pages in one step rather than one after another. Sequential fetching
|
|
48
|
+
cost about nine minutes of the first proven journey.
|
|
49
|
+
|
|
50
|
+
Record the selected framework, vendor, model, required credential variable names, and
|
|
51
|
+
these URLs.
|
|
52
|
+
Do not use remembered CopilotKit instructions.
|
|
53
|
+
|
|
54
|
+
If the pages support the selection, run
|
|
55
|
+
`npx copilotkit@4.8.4 onboard read frontend/plan`.
|
|
56
|
+
|
|
57
|
+
If a page does not load or support the selection, run
|
|
58
|
+
`npx copilotkit@4.8.4 onboard read unsupported/no-validated-path`.
|