copilotkit 4.15.0 → 4.17.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 +118 -10
- package/cli-build-info.json +8 -8
- package/index.js +24194 -3483
- package/onboarding/index.json +1 -1
- package/onboarding/prompts/authenticate/start.md +17 -15
- package/onboarding/prompts/conversion/plan.md +3 -3
- package/onboarding/prompts/credentials/finalize-plan.md +20 -20
- package/onboarding/prompts/credentials/plan.md +21 -21
- package/onboarding/prompts/credentials/settle-credentials.md +46 -10
- package/onboarding/prompts/credentials/write-plan.md +35 -20
- package/onboarding/prompts/fallback/best-effort.md +23 -15
- package/onboarding/prompts/feature/a2ui/implement.md +40 -12
- package/onboarding/prompts/feature/a2ui/proof.md +29 -9
- package/onboarding/prompts/feature/a2ui/start.md +8 -10
- package/onboarding/prompts/feature/blocked-by-plan.md +4 -4
- package/onboarding/prompts/feature/channels/implement.md +41 -13
- package/onboarding/prompts/feature/channels/proof.md +30 -11
- package/onboarding/prompts/feature/channels/start.md +11 -9
- package/onboarding/prompts/feature/chat-suggestions/implement.md +40 -12
- package/onboarding/prompts/feature/chat-suggestions/proof.md +29 -9
- package/onboarding/prompts/feature/chat-suggestions/start.md +8 -10
- package/onboarding/prompts/feature/complete.md +2 -2
- package/onboarding/prompts/feature/learning/implement.md +58 -26
- package/onboarding/prompts/feature/learning/proof.md +30 -10
- package/onboarding/prompts/feature/learning/start.md +15 -12
- package/onboarding/prompts/feature/open-generative-ui/implement.md +41 -13
- package/onboarding/prompts/feature/open-generative-ui/proof.md +29 -9
- package/onboarding/prompts/feature/open-generative-ui/start.md +8 -10
- package/onboarding/prompts/feature/realtime-sync/implement.md +41 -13
- package/onboarding/prompts/feature/realtime-sync/proof.md +31 -10
- package/onboarding/prompts/feature/realtime-sync/start.md +8 -9
- package/onboarding/prompts/feature/rich-threads/implement.md +42 -14
- package/onboarding/prompts/feature/rich-threads/proof.md +31 -10
- package/onboarding/prompts/feature/rich-threads/start.md +8 -9
- package/onboarding/prompts/feature/stop.md +3 -3
- package/onboarding/prompts/feature/voice/implement.md +40 -12
- package/onboarding/prompts/feature/voice/proof.md +29 -9
- package/onboarding/prompts/feature/voice/start.md +8 -9
- package/onboarding/prompts/framework/ag2.md +2 -2
- package/onboarding/prompts/framework/agno.md +4 -4
- package/onboarding/prompts/framework/built-in.md +2 -2
- package/onboarding/prompts/framework/claude-sdk-python.md +8 -7
- package/onboarding/prompts/framework/claude-sdk-typescript.md +2 -2
- package/onboarding/prompts/framework/crewai-flows.md +15 -7
- package/onboarding/prompts/framework/deep-agents.md +4 -3
- package/onboarding/prompts/framework/google-adk.md +7 -7
- package/onboarding/prompts/framework/langgraph-fastapi.md +2 -2
- package/onboarding/prompts/framework/langgraph-python.md +2 -2
- package/onboarding/prompts/framework/langgraph-typescript.md +2 -2
- package/onboarding/prompts/framework/llamaindex.md +4 -4
- package/onboarding/prompts/framework/mastra.md +2 -2
- package/onboarding/prompts/framework/ms-agent-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-harness-dotnet.md +2 -2
- package/onboarding/prompts/framework/ms-agent-python.md +6 -6
- package/onboarding/prompts/framework/pydantic-ai.md +2 -2
- package/onboarding/prompts/framework/strands-python.md +4 -4
- package/onboarding/prompts/framework/strands-typescript.md +4 -4
- package/onboarding/prompts/frontend/angular.md +3 -3
- package/onboarding/prompts/frontend/nextjs.md +16 -3
- package/onboarding/prompts/frontend/plan.md +7 -7
- package/onboarding/prompts/frontend/react-native.md +2 -2
- package/onboarding/prompts/frontend/react-spa.md +2 -2
- package/onboarding/prompts/frontend/vue.md +2 -2
- package/onboarding/prompts/implementation/build-and-validate.md +67 -28
- package/onboarding/prompts/proof/complete.md +21 -14
- package/onboarding/prompts/proof/oss-baseline.md +16 -12
- package/onboarding/prompts/proof/round-trip.md +33 -22
- package/onboarding/prompts/research/gather.md +8 -7
- package/onboarding/prompts/research/merge.md +3 -3
- package/onboarding/prompts/research/preflight.md +4 -4
- package/onboarding/prompts/research/route.md +6 -6
- package/onboarding/prompts/starter/clone.md +30 -20
- package/onboarding/prompts/stopped/run-failed.md +15 -9
- package/onboarding/prompts/subagent/create-plan.md +15 -10
- package/onboarding/prompts/subagent/implement-and-validate.md +25 -11
- package/onboarding/prompts/subagent/inspect-repository.md +14 -6
- package/onboarding/prompts/subagent/prove-oss-baseline.md +11 -4
- package/onboarding/prompts/subagent/prove-round-trip.md +48 -14
- package/onboarding/prompts/unsupported/no-validated-path.md +2 -2
- package/package.json +1 -5
- package/release/release-tool.js +222 -46
|
@@ -15,10 +15,41 @@ Start the app with its documented command. Confirm `/info` reports the expected
|
|
|
15
15
|
capability, but do not treat that flag as proof. Record changed paths and validation output
|
|
16
16
|
without exposing secrets.
|
|
17
17
|
|
|
18
|
+
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
25
|
+
no such block means that nothing is authorized. Read only that block now, and decide the
|
|
26
|
+
findings of a failed audit after implementation, with the audit rules below. If this audit
|
|
27
|
+
starts with `Status: blocked`, the CLI cannot supply the list. Report the printed reason and
|
|
28
|
+
take the feature stop route below.
|
|
29
|
+
|
|
30
|
+
Give the implementation subagent the protected path list and the authorized list. Tell it
|
|
31
|
+
this rule: it can change a path on the authorized list. When the work needs any other
|
|
32
|
+
protected path, it must not edit it. It returns a result that starts with `Status: blocked`
|
|
33
|
+
and names the file under Blockers.
|
|
34
|
+
|
|
35
|
+
That result is a question for the developer. The file has not changed yet, so consent can
|
|
36
|
+
still go on the record. Name the file and why the work needs it, then end your turn and wait
|
|
37
|
+
for the developer's answer. If they allow it, record their answer before any edit:
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
44
|
+
new list from its `Authorized to modify:` block, and spawn a fresh implementation subagent
|
|
45
|
+
with the same handoff and that list. A subagent that already returned cannot pick up consent
|
|
46
|
+
recorded after it was spawned. If you cannot ask, or the developer declines, take the
|
|
47
|
+
feature stop route below.
|
|
48
|
+
|
|
18
49
|
After validation and each repair, run:
|
|
19
50
|
|
|
20
51
|
```text
|
|
21
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
|
|
22
53
|
```
|
|
23
54
|
|
|
24
55
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -29,33 +60,30 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
29
60
|
the path, accept the developer's external change:
|
|
30
61
|
|
|
31
62
|
```text
|
|
32
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
63
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --accept-external --path <path>
|
|
33
64
|
```
|
|
34
65
|
|
|
35
66
|
For an env file where the developer placed a requested credential, use
|
|
36
67
|
`onboard protect --accept-credential --path <path>` instead. If the subagent names the path,
|
|
37
|
-
or its report does not settle who changed it,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
```text
|
|
41
|
-
npx --prefer-offline --yes copilotkit@4.15.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
42
|
-
```
|
|
68
|
+
or its report does not settle who changed it, the change is this run's own, made without
|
|
69
|
+
consent. Do not ask the developer to allow it: the CLI refuses consent for a path that
|
|
70
|
+
already changed. Route out, and name the path and the change the audit reports.
|
|
43
71
|
|
|
44
|
-
Run the audit again after each accepted
|
|
72
|
+
Run the audit again after each accepted change. If it still fails, or starts
|
|
45
73
|
with `Status: blocked`, route out and stop:
|
|
46
74
|
|
|
47
75
|
```text
|
|
48
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
76
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
|
|
49
77
|
```
|
|
50
78
|
|
|
51
79
|
When implementation validation passes, report it:
|
|
52
80
|
|
|
53
81
|
```text
|
|
54
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
82
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase build-validated
|
|
55
83
|
```
|
|
56
84
|
|
|
57
85
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
58
86
|
the feature stop route above without further changes.
|
|
59
87
|
|
|
60
88
|
Otherwise run
|
|
61
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
89
|
+
`npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/a2ui/proof`.
|
|
@@ -16,26 +16,46 @@ is unavailable, report that the browser proof is blocked rather than claiming su
|
|
|
16
16
|
Fix proof failures caused by changed files, then repeat the same proof. Do not replace the
|
|
17
17
|
user's agent response with a hard-coded UI.
|
|
18
18
|
|
|
19
|
+
Give the proof subagent the protected path list and the authorized list. Take that list from
|
|
20
|
+
the latest audit, and copy the paths under `Authorized to modify:`. Tell it this rule: a fix
|
|
21
|
+
can change a path on the authorized list. When a fix needs any other protected path, it must
|
|
22
|
+
not edit it. It returns a result that starts with `Status: blocked` and names the file under
|
|
23
|
+
Blockers.
|
|
24
|
+
|
|
25
|
+
That result is a question for the developer. The file has not changed yet, so consent can
|
|
26
|
+
still go on the record. Name the file and why the fix needs it, then end your turn and wait
|
|
27
|
+
for the developer's answer. If they allow it, record their answer before any edit:
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
34
|
+
new list from its `Authorized to modify:` block, and spawn a fresh proof subagent with the
|
|
35
|
+
same handoff and that list. A subagent that already returned cannot pick up consent recorded
|
|
36
|
+
after it was spawned. If you cannot ask, or the developer declines, take the feature stop
|
|
37
|
+
route below.
|
|
38
|
+
|
|
19
39
|
Report each attempt at the proof as it ends, counting from one:
|
|
20
40
|
|
|
21
41
|
```text
|
|
22
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
42
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
23
43
|
```
|
|
24
44
|
|
|
25
45
|
Report each repair cycle the same way, counting from one:
|
|
26
46
|
|
|
27
47
|
```text
|
|
28
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
48
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
29
49
|
```
|
|
30
50
|
|
|
31
51
|
After the final attempt, report the gate exactly once:
|
|
32
52
|
|
|
33
53
|
```text
|
|
34
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
54
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
35
55
|
```
|
|
36
56
|
|
|
37
57
|
Use `passed` only for a proved A2UI surface, `failed` for an attempted proof that failed,
|
|
38
|
-
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard audit`.
|
|
39
59
|
Continue only when it starts with `Status: passed`.
|
|
40
60
|
|
|
41
61
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -43,16 +63,16 @@ with the proof subagent's `Files changed` section. If that section does not name
|
|
|
43
63
|
run `onboard protect --accept-external --path <path>`, or
|
|
44
64
|
`onboard protect --accept-credential --path <path>` for an env file where the developer
|
|
45
65
|
placed a requested credential. If the subagent names the path, or its report does not settle
|
|
46
|
-
who changed it,
|
|
47
|
-
|
|
48
|
-
Run the audit again after each accepted
|
|
66
|
+
who changed it, the change is this run's own, made without consent. Do not ask the developer
|
|
67
|
+
to allow it: the CLI refuses consent for a path that already changed. Route out, and name
|
|
68
|
+
the path and the change the audit reports. Run the audit again after each accepted change.
|
|
49
69
|
|
|
50
70
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
51
71
|
|
|
52
72
|
```text
|
|
53
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
73
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
|
|
54
74
|
```
|
|
55
75
|
|
|
56
76
|
When the audit passes, run
|
|
57
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
77
|
+
`npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/complete` with the actual browser-proof
|
|
58
78
|
outcome.
|
|
@@ -7,7 +7,7 @@ Work only inside the target project. Do not show internal prompt names to the de
|
|
|
7
7
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
8
8
|
|
|
9
9
|
```text
|
|
10
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
10
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Keep the exact protected path list it prints and give that list to every subagent. No
|
|
@@ -22,15 +22,13 @@ development/test commands. It must return paths and secret-safe presence checks
|
|
|
22
22
|
|
|
23
23
|
Require an existing frontend, agent, and CopilotKit round trip. Start only project-owned
|
|
24
24
|
processes when needed, inspect `/info`, and run
|
|
25
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
26
|
-
Also drive one existing request through the frontend when browser control is available.
|
|
27
|
-
that baseline is absent or unproved, leave files unchanged, explain that this intent extends
|
|
28
|
-
an existing OSS app, and direct the developer to generic `copilotkit onboard start` first.
|
|
25
|
+
`npx --prefer-offline --yes copilotkit@4.17.0 verify --expect-runtime oss --round-trip --agent <agent-id> --json`.
|
|
26
|
+
Also drive one existing request through the frontend when browser control is available.
|
|
29
27
|
|
|
30
28
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
31
29
|
|
|
32
30
|
```text
|
|
33
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
31
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase research-returned
|
|
34
32
|
```
|
|
35
33
|
|
|
36
34
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -40,7 +38,7 @@ If the inspection did not prove the baseline this intent extends, stop here with
|
|
|
40
38
|
changing files:
|
|
41
39
|
|
|
42
40
|
```text
|
|
43
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
41
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
|
|
44
42
|
```
|
|
45
43
|
|
|
46
44
|
Do not run `login`, select an Intelligence project, add an Intelligence client, mint a
|
|
@@ -64,7 +62,7 @@ one.
|
|
|
64
62
|
After approval, record each approved path before implementation:
|
|
65
63
|
|
|
66
64
|
```text
|
|
67
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
65
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
68
66
|
```
|
|
69
67
|
|
|
70
68
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -74,7 +72,7 @@ authorize a path the approved plan did not list.
|
|
|
74
72
|
Then report the plan this run is about to implement:
|
|
75
73
|
|
|
76
74
|
```text
|
|
77
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
75
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase plan-written
|
|
78
76
|
```
|
|
79
77
|
|
|
80
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
78
|
+
Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/a2ui/implement`.
|
|
@@ -20,13 +20,13 @@ Tell the developer, in two or three sentences:
|
|
|
20
20
|
3. The one action that can change it: check the organization's plan and billing state at
|
|
21
21
|
https://cloud.copilotkit.ai, or reply to support with the organization name.
|
|
22
22
|
|
|
23
|
+
If this run changed files before it stopped, list every path it changed and say whether it
|
|
24
|
+
reverted them. A refusal that arrives after the first edit still owes the developer that
|
|
25
|
+
list.
|
|
26
|
+
|
|
23
27
|
Then stop. Report nothing else and ask no follow-up question.
|
|
24
28
|
|
|
25
29
|
Do not run `onboard complete`. This run did not complete.
|
|
26
30
|
|
|
27
31
|
Do not file a friction report for this ending. Reading this prompt already reports it, and a
|
|
28
32
|
free-text report of a refusal the platform already named adds nothing.
|
|
29
|
-
|
|
30
|
-
If this run changed files before it stopped, list every path it changed and say whether it
|
|
31
|
-
reverted them. A refusal that arrives after the first edit still owes the developer that
|
|
32
|
-
list.
|
|
@@ -19,7 +19,7 @@ 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.17.0 login --json`: the same single streaming
|
|
23
23
|
session generic onboarding uses. Read its JSON Lines while the process runs. Open the
|
|
24
24
|
first `authentication_url` exactly once with the operating system's default browser
|
|
25
25
|
opener, `open` on macOS, `xdg-open` on Linux, `Start-Process` in Windows PowerShell. Your
|
|
@@ -75,10 +75,41 @@ writes it, the starters this graph clones are built on it, and its own tooltip
|
|
|
75
75
|
names no replacement. Write what the framework node names. Do not rewrite a cloned
|
|
76
76
|
starter to satisfy this rule, and do not report the page that shows it.
|
|
77
77
|
|
|
78
|
+
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
79
|
+
|
|
80
|
+
```text
|
|
81
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
85
|
+
no such block means that nothing is authorized. Read only that block now, and decide the
|
|
86
|
+
findings of a failed audit after implementation, with the audit rules below. If this audit
|
|
87
|
+
starts with `Status: blocked`, the CLI cannot supply the list. Report the printed reason and
|
|
88
|
+
take the feature stop route below.
|
|
89
|
+
|
|
90
|
+
Give the implementation subagent the protected path list and the authorized list. Tell it
|
|
91
|
+
this rule: it can change a path on the authorized list. When the work needs any other
|
|
92
|
+
protected path, it must not edit it. It returns a result that starts with `Status: blocked`
|
|
93
|
+
and names the file under Blockers.
|
|
94
|
+
|
|
95
|
+
That result is a question for the developer. The file has not changed yet, so consent can
|
|
96
|
+
still go on the record. Name the file and why the work needs it, then end your turn and wait
|
|
97
|
+
for the developer's answer. If they allow it, record their answer before any edit:
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
104
|
+
new list from its `Authorized to modify:` block, and spawn a fresh implementation subagent
|
|
105
|
+
with the same handoff and that list. A subagent that already returned cannot pick up consent
|
|
106
|
+
recorded after it was spawned. If you cannot ask, or the developer declines, take the
|
|
107
|
+
feature stop route below.
|
|
108
|
+
|
|
78
109
|
After validation and each repair, run:
|
|
79
110
|
|
|
80
111
|
```text
|
|
81
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
112
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
|
|
82
113
|
```
|
|
83
114
|
|
|
84
115
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -89,23 +120,20 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
89
120
|
the path, accept the developer's external change:
|
|
90
121
|
|
|
91
122
|
```text
|
|
92
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
123
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --accept-external --path <path>
|
|
93
124
|
```
|
|
94
125
|
|
|
95
126
|
For an env file where the developer placed a requested credential, use
|
|
96
127
|
`onboard protect --accept-credential --path <path>` instead. If the subagent names the path,
|
|
97
|
-
or its report does not settle who changed it,
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
```text
|
|
101
|
-
npx --prefer-offline --yes copilotkit@4.15.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
102
|
-
```
|
|
128
|
+
or its report does not settle who changed it, the change is this run's own, made without
|
|
129
|
+
consent. Do not ask the developer to allow it: the CLI refuses consent for a path that
|
|
130
|
+
already changed. Route out, and name the path and the change the audit reports.
|
|
103
131
|
|
|
104
|
-
Run the audit again after each accepted
|
|
132
|
+
Run the audit again after each accepted change. If it still fails, or starts
|
|
105
133
|
with `Status: blocked`, route out and stop:
|
|
106
134
|
|
|
107
135
|
```text
|
|
108
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
136
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
|
|
109
137
|
```
|
|
110
138
|
|
|
111
139
|
## Values this run writes, and the one credential the developer supplies
|
|
@@ -141,11 +169,11 @@ variable while every recorded one keeps its value, and run the audit again.
|
|
|
141
169
|
When implementation validation passes, report it:
|
|
142
170
|
|
|
143
171
|
```text
|
|
144
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
172
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase build-validated
|
|
145
173
|
```
|
|
146
174
|
|
|
147
175
|
If validation cannot pass, or this run needs a prerequisite the app does not have, use
|
|
148
176
|
the feature stop route above without further changes.
|
|
149
177
|
|
|
150
178
|
Otherwise run
|
|
151
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
179
|
+
`npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/channels/proof`.
|
|
@@ -20,26 +20,46 @@ defects and repeat.
|
|
|
20
20
|
If a gate cannot run, do not complete this run. Name the gate. Use the feature stop
|
|
21
21
|
route after the audit rules below.
|
|
22
22
|
|
|
23
|
+
Give the proof subagent the protected path list and the authorized list. Take that list from
|
|
24
|
+
the latest audit, and copy the paths under `Authorized to modify:`. Tell it this rule: a fix
|
|
25
|
+
can change a path on the authorized list. When a fix needs any other protected path, it must
|
|
26
|
+
not edit it. It returns a result that starts with `Status: blocked` and names the file under
|
|
27
|
+
Blockers.
|
|
28
|
+
|
|
29
|
+
That result is a question for the developer. The file has not changed yet, so consent can
|
|
30
|
+
still go on the record. Name the file and why the fix needs it, then end your turn and wait
|
|
31
|
+
for the developer's answer. If they allow it, record their answer before any edit:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
38
|
+
new list from its `Authorized to modify:` block, and spawn a fresh proof subagent with the
|
|
39
|
+
same handoff and that list. A subagent that already returned cannot pick up consent recorded
|
|
40
|
+
after it was spawned. If you cannot ask, or the developer declines, take the feature stop
|
|
41
|
+
route below.
|
|
42
|
+
|
|
23
43
|
Report each attempt at the proof as it ends, counting from one:
|
|
24
44
|
|
|
25
45
|
```text
|
|
26
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
46
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
27
47
|
```
|
|
28
48
|
|
|
29
49
|
Report each repair cycle the same way, counting from one:
|
|
30
50
|
|
|
31
51
|
```text
|
|
32
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
33
53
|
```
|
|
34
54
|
|
|
35
55
|
After the final attempt, report the gate exactly once:
|
|
36
56
|
|
|
37
57
|
```text
|
|
38
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
58
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
39
59
|
```
|
|
40
60
|
|
|
41
61
|
Use `passed` only for a proved mention reply, `failed` for an attempted proof that
|
|
42
|
-
failed, and `skipped` when the proof did not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
62
|
+
failed, and `skipped` when the proof did not run. Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard audit`.
|
|
43
63
|
Continue only when it starts with `Status: passed`.
|
|
44
64
|
|
|
45
65
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -47,19 +67,18 @@ with the proof subagent's `Files changed` section. If that section does not name
|
|
|
47
67
|
run `onboard protect --accept-external --path <path>`, or
|
|
48
68
|
`onboard protect --accept-credential --path <path>` for an env file where the developer
|
|
49
69
|
placed a requested credential. If the subagent names the path, or its report does not settle
|
|
50
|
-
who changed it,
|
|
51
|
-
|
|
52
|
-
Run the audit again after each accepted
|
|
70
|
+
who changed it, the change is this run's own, made without consent. Do not ask the developer
|
|
71
|
+
to allow it: the CLI refuses consent for a path that already changed. Route out, and name
|
|
72
|
+
the path and the change the audit reports. Run the audit again after each accepted change.
|
|
53
73
|
|
|
54
74
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
55
75
|
|
|
56
76
|
```text
|
|
57
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
77
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
|
|
58
78
|
```
|
|
59
79
|
|
|
60
|
-
When the audit passes and the
|
|
61
|
-
`
|
|
62
|
-
`npx --prefer-offline --yes copilotkit@4.15.0 onboard read feature/complete` and complete with
|
|
80
|
+
When the audit passes and the round trip you reported above was `passed`, run
|
|
81
|
+
`npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/complete` and complete with
|
|
63
82
|
`--visual-check channels-proof-passed`. The recorded mention and reply are this run's
|
|
64
83
|
proof, so no web app check is missing. Use `--visual-check performed` only when a
|
|
65
84
|
browser drove Slack or Teams web and proved the mention reply. Do not use
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
First, report your coding agent identity using the same command as generic onboarding:
|
|
4
4
|
|
|
5
5
|
```text
|
|
6
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
6
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard identify --coding-agent <coding-agent-slug> --model <model-id>
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Use your own product's slug, such as `codex` or `claude-code`.
|
|
10
|
-
|
|
9
|
+
Use your own product's slug, such as `codex` or `claude-code`. For `--model`, give the
|
|
10
|
+
exact model id your instructions name. If they name none, leave out `--model` rather than
|
|
11
|
+
guess. This also covers entry commands that omit `--coding-agent`. It needs no login,
|
|
12
|
+
browser, or project setup.
|
|
11
13
|
|
|
12
14
|
Treat Slack or Teams as the UI for this run. A CopilotKit web app is not required.
|
|
13
15
|
Empty folders, agent-only folders, and existing CopilotKit apps are all valid starts.
|
|
@@ -17,7 +19,7 @@ restricted to the target project.
|
|
|
17
19
|
Before any subagent or project process runs, capture the developer's existing work:
|
|
18
20
|
|
|
19
21
|
```text
|
|
20
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
22
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect
|
|
21
23
|
```
|
|
22
24
|
|
|
23
25
|
Keep the exact protected path list it prints and give that list to every subagent. Do not
|
|
@@ -47,7 +49,7 @@ This one does not.
|
|
|
47
49
|
Wait for the inspection subagent to finish. Then report that the inspection came back:
|
|
48
50
|
|
|
49
51
|
```text
|
|
50
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
52
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase research-returned
|
|
51
53
|
```
|
|
52
54
|
|
|
53
55
|
A refused checkpoint prints its reason and leaves onboarding unaffected. It is not a
|
|
@@ -64,7 +66,7 @@ and its install command in the message the developer sees: `nvm install 22` for
|
|
|
64
66
|
for Python. Offer a custom headless build as a later path. Then route out:
|
|
65
67
|
|
|
66
68
|
```text
|
|
67
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
69
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
|
|
68
70
|
```
|
|
69
71
|
|
|
70
72
|
Do not run login, select Intelligence, or create a credential until the developer
|
|
@@ -94,7 +96,7 @@ one.
|
|
|
94
96
|
After approval, record each approved path before implementation:
|
|
95
97
|
|
|
96
98
|
```text
|
|
97
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
99
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --path <path> --reason "<the plan's sentence>"
|
|
98
100
|
```
|
|
99
101
|
|
|
100
102
|
If an approved path changed after capture and no implementation step has run, add
|
|
@@ -104,7 +106,7 @@ authorize a path the approved plan did not list.
|
|
|
104
106
|
Then report the plan this run is about to implement:
|
|
105
107
|
|
|
106
108
|
```text
|
|
107
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
109
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase plan-written
|
|
108
110
|
```
|
|
109
111
|
|
|
110
|
-
Then run `npx --prefer-offline --yes copilotkit@4.
|
|
112
|
+
Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/channels/implement`.
|
|
@@ -12,10 +12,41 @@ standalone mock UI.
|
|
|
12
12
|
|
|
13
13
|
Run focused type/test checks and start the app. Record the changed files and validation.
|
|
14
14
|
|
|
15
|
+
Before you spawn the implementation subagent, take the authorized list from the CLI:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
From its result, copy the paths under `Authorized to modify:`. A passed or failed audit with
|
|
22
|
+
no such block means that nothing is authorized. Read only that block now, and decide the
|
|
23
|
+
findings of a failed audit after implementation, with the audit rules below. If this audit
|
|
24
|
+
starts with `Status: blocked`, the CLI cannot supply the list. Report the printed reason and
|
|
25
|
+
take the feature stop route below.
|
|
26
|
+
|
|
27
|
+
Give the implementation subagent the protected path list and the authorized list. Tell it
|
|
28
|
+
this rule: it can change a path on the authorized list. When the work needs any other
|
|
29
|
+
protected path, it must not edit it. It returns a result that starts with `Status: blocked`
|
|
30
|
+
and names the file under Blockers.
|
|
31
|
+
|
|
32
|
+
That result is a question for the developer. The file has not changed yet, so consent can
|
|
33
|
+
still go on the record. Name the file and why the work needs it, then end your turn and wait
|
|
34
|
+
for the developer's answer. If they allow it, record their answer before any edit:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
41
|
+
new list from its `Authorized to modify:` block, and spawn a fresh implementation subagent
|
|
42
|
+
with the same handoff and that list. A subagent that already returned cannot pick up consent
|
|
43
|
+
recorded after it was spawned. If you cannot ask, or the developer declines, take the
|
|
44
|
+
feature stop route below.
|
|
45
|
+
|
|
15
46
|
After validation and each repair, run:
|
|
16
47
|
|
|
17
48
|
```text
|
|
18
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
49
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard audit
|
|
19
50
|
```
|
|
20
51
|
|
|
21
52
|
Continue only when it starts with `Status: passed`. A path under `Authorized to modify:` is
|
|
@@ -26,33 +57,30 @@ with the implementation subagent's `Files changed` section. If that section does
|
|
|
26
57
|
the path, accept the developer's external change:
|
|
27
58
|
|
|
28
59
|
```text
|
|
29
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
60
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --accept-external --path <path>
|
|
30
61
|
```
|
|
31
62
|
|
|
32
63
|
For an env file where the developer placed a requested credential, use
|
|
33
64
|
`onboard protect --accept-credential --path <path>` instead. If the subagent names the path,
|
|
34
|
-
or its report does not settle who changed it,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
```text
|
|
38
|
-
npx --prefer-offline --yes copilotkit@4.15.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
39
|
-
```
|
|
65
|
+
or its report does not settle who changed it, the change is this run's own, made without
|
|
66
|
+
consent. Do not ask the developer to allow it: the CLI refuses consent for a path that
|
|
67
|
+
already changed. Route out, and name the path and the change the audit reports.
|
|
40
68
|
|
|
41
|
-
Run the audit again after each accepted
|
|
69
|
+
Run the audit again after each accepted change. If it still fails, or starts
|
|
42
70
|
with `Status: blocked`, route out and stop:
|
|
43
71
|
|
|
44
72
|
```text
|
|
45
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
73
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
|
|
46
74
|
```
|
|
47
75
|
|
|
48
76
|
When implementation validation passes, report it:
|
|
49
77
|
|
|
50
78
|
```text
|
|
51
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
79
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase build-validated
|
|
52
80
|
```
|
|
53
81
|
|
|
54
82
|
If validation cannot pass, or this intent needs a prerequisite the app does not have, use
|
|
55
83
|
the feature stop route above without further changes.
|
|
56
84
|
|
|
57
85
|
Otherwise run
|
|
58
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
86
|
+
`npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/chat-suggestions/proof`.
|
|
@@ -9,26 +9,46 @@ Do not count a static DOM assertion, a hook return value, or a locally rendered
|
|
|
9
9
|
proof. If the changed files caused a failure, repair it and repeat the interaction. Keep
|
|
10
10
|
project-owned services running.
|
|
11
11
|
|
|
12
|
+
Give the proof subagent the protected path list and the authorized list. Take that list from
|
|
13
|
+
the latest audit, and copy the paths under `Authorized to modify:`. Tell it this rule: a fix
|
|
14
|
+
can change a path on the authorized list. When a fix needs any other protected path, it must
|
|
15
|
+
not edit it. It returns a result that starts with `Status: blocked` and names the file under
|
|
16
|
+
Blockers.
|
|
17
|
+
|
|
18
|
+
That result is a question for the developer. The file has not changed yet, so consent can
|
|
19
|
+
still go on the record. Name the file and why the fix needs it, then end your turn and wait
|
|
20
|
+
for the developer's answer. If they allow it, record their answer before any edit:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard protect --authorize --unplanned --path <path> --reason "<what the developer said>"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Continue only when the result starts with `Status: passed`. Run the audit again, take the
|
|
27
|
+
new list from its `Authorized to modify:` block, and spawn a fresh proof subagent with the
|
|
28
|
+
same handoff and that list. A subagent that already returned cannot pick up consent recorded
|
|
29
|
+
after it was spawned. If you cannot ask, or the developer declines, take the feature stop
|
|
30
|
+
route below.
|
|
31
|
+
|
|
12
32
|
Report each attempt at the proof as it ends, counting from one:
|
|
13
33
|
|
|
14
34
|
```text
|
|
15
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
35
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase journey-attempted --attempt 1
|
|
16
36
|
```
|
|
17
37
|
|
|
18
38
|
Report each repair cycle the same way, counting from one:
|
|
19
39
|
|
|
20
40
|
```text
|
|
21
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
41
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard checkpoint --phase repair-attempted --attempt 1
|
|
22
42
|
```
|
|
23
43
|
|
|
24
44
|
After the final attempt, report the gate exactly once:
|
|
25
45
|
|
|
26
46
|
```text
|
|
27
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
47
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard proof --step round-trip --outcome <passed|failed|skipped>
|
|
28
48
|
```
|
|
29
49
|
|
|
30
50
|
Use `passed` only for a proved sent suggestion, `failed` for an attempted proof that failed,
|
|
31
|
-
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.
|
|
51
|
+
and `skipped` when the proof could not run. Then run `npx --prefer-offline --yes copilotkit@4.17.0 onboard audit`.
|
|
32
52
|
Continue only when it starts with `Status: passed`.
|
|
33
53
|
|
|
34
54
|
If the audit fails, never repair, reset, or revert a protected path. Compare each named path
|
|
@@ -36,16 +56,16 @@ with the proof subagent's `Files changed` section. If that section does not name
|
|
|
36
56
|
run `onboard protect --accept-external --path <path>`, or
|
|
37
57
|
`onboard protect --accept-credential --path <path>` for an env file where the developer
|
|
38
58
|
placed a requested credential. If the subagent names the path, or its report does not settle
|
|
39
|
-
who changed it,
|
|
40
|
-
|
|
41
|
-
Run the audit again after each accepted
|
|
59
|
+
who changed it, the change is this run's own, made without consent. Do not ask the developer
|
|
60
|
+
to allow it: the CLI refuses consent for a path that already changed. Route out, and name
|
|
61
|
+
the path and the change the audit reports. Run the audit again after each accepted change.
|
|
42
62
|
|
|
43
63
|
If the audit still fails, or starts with `Status: blocked`, route out and stop:
|
|
44
64
|
|
|
45
65
|
```text
|
|
46
|
-
npx --prefer-offline --yes copilotkit@4.
|
|
66
|
+
npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/stop
|
|
47
67
|
```
|
|
48
68
|
|
|
49
69
|
When the audit passes, run
|
|
50
|
-
`npx --prefer-offline --yes copilotkit@4.
|
|
70
|
+
`npx --prefer-offline --yes copilotkit@4.17.0 onboard read feature/complete` with the real browser-proof
|
|
51
71
|
outcome.
|