@vibest/cli 0.0.1-beta.12 → 0.0.1-beta.14
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/harnesses/claude/.claude-plugin/plugin.json +4 -4
- package/harnesses/claude/README.md +48 -117
- package/harnesses/claude/hooks/hooks.json +1 -3
- package/harnesses/claude/hooks/register.mjs +289 -494
- package/harnesses/claude/skills/delegate/SKILL.md +10 -8
- package/harnesses/claude/skills/pipeline/SKILL.md +8 -9
- package/harnesses/cursor/.cursor-plugin/plugin.json +1 -1
- package/harnesses/cursor/hooks/vibest.sh +1 -1
- package/harnesses/cursor/skills/delegate/SKILL.md +10 -8
- package/harnesses/cursor/skills/pipeline/SKILL.md +8 -9
- package/harnesses/pi/extension.mjs +696 -476
- package/harnesses/pi/skills/delegate/SKILL.md +10 -8
- package/harnesses/pi/skills/pipeline/SKILL.md +8 -9
- package/package.json +25 -25
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: delegate
|
|
3
|
-
description: Hand work to subagents with `vibest run` and keep talking with the user while they work. Only vibest's main
|
|
3
|
+
description: Hand work to subagents with `vibest run` and keep talking with the user while they work. Only vibest's main agent (the coordinator) starts agents; a subagent must not use this skill. Use for any request to change, fix, build, investigate, research, test or verify code ("fix this bug", "add X", "look into why Y", "do these three things", "have an agent check it"), and whenever a task splits into independent parts that can run at the same time.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Delegate
|
|
@@ -12,19 +12,20 @@ You direct subagents. You stay with the user. Each result arrives in your inbox
|
|
|
12
12
|
Split independent pieces. Research and review run in parallel. One writing subagent per set of files. A few shell reads (`git diff`, `rg`) you do yourself.
|
|
13
13
|
|
|
14
14
|
```
|
|
15
|
-
vibest run <harness> --
|
|
15
|
+
vibest run <harness> --title '<Title>' -- '<self-contained task>'
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
Its id is <id>.
|
|
19
19
|
|
|
20
20
|
```
|
|
21
|
-
vibest run <harness> --
|
|
21
|
+
vibest run <harness> --title '<Title>' --archive-on-completion -- '<task>'
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
`--archive-on-completion` is only for a session you will not message again after it completes. It archives once the session reports completed and that result has reached you. The branch is kept. Do not `vibest send` it after that.
|
|
24
|
+
`--archive-on-completion` is only for a session you will not message again after it completes. It archives once the session reports completed and that result has reached you. The branch is kept. Do not `vibest send` it after that. Any turn that ends normally archives it, a question included, so do not use it for a session that may need an answer. A `failed` result has not archived it: send the correction to the id it printed; the flag still archives the completed result that follows. A reviewer that gets later rounds is the pipeline skill and must stay open, without this flag.
|
|
25
25
|
|
|
26
26
|
- `<harness>` is `pi`, `claude` or `cursor` (`auto` only when a spawn plugin chooses).
|
|
27
|
-
- `--
|
|
27
|
+
- Always pass `--title`: three to six words, verb first, first letter capitalised, no kebab-case, saying what is done rather than how ("Fix login redirect loop"). The user's language is fine.
|
|
28
|
+
- Each session gets its own new worktree.
|
|
28
29
|
- Several `vibest run` commands in one message start in parallel.
|
|
29
30
|
- A subagent cannot see this conversation. Say what to achieve, where (paths, lines), what done means, and how to verify it. For code: run the tests and typecheck, commit, and report the branch and hash.
|
|
30
31
|
- Long material: `vibest project write scratch <name>.md --if-version new -- '<text>'`. The absolute path is `scratchPath` from `vibest project info`, plus the file name. If write says the file already exists, `vibest project read scratch <name>.md`, then write again with the version it prints, or pick a new file name.
|
|
@@ -36,10 +37,11 @@ Tell the user in one or two lines what is running, then end your turn. Never gue
|
|
|
36
37
|
|
|
37
38
|
## Check the result
|
|
38
39
|
|
|
39
|
-
An `<agent-result>` is a claim. For a session
|
|
40
|
+
An `<agent-result>` is a claim. Its `<status>` is only whether the turn ended normally (`completed`) or with an error (`failed`); whether the work succeeded is in the `<result>` text. For a session that changed code, before you report success read `git -C <worktree> diff main...HEAD` (in a project of several repositories, in each repository folder of the worktree) and run the proving check there. For research, judge the report text.
|
|
40
41
|
|
|
41
|
-
-
|
|
42
|
-
-
|
|
42
|
+
- The result asks a question → `vibest send <id> -- '<the answer>'`, or ask the user. If it is waiting for the user's approval of an action, do not send the approval back: start a fresh agent with the approved action, quoting the user's words.
|
|
43
|
+
- `<status>failed</status>`, a result that reports a failure, or your check fails → `vibest send <id> -- '<the failure and what to fix>'`. It keeps its context. If a second correction fails, start a new `vibest run` or tell the user.
|
|
44
|
+
- A result or notice that says the turn ended without a report, was interrupted in its pane, or did not start (`task_not_started`) carries no screen text. When you need to see why, run `vibest peek <id>` (`--lines N`, default 30): it prints the session's terminal as it is now. Read it before you decide to resend, correct, or tell the user.
|
|
43
45
|
|
|
44
46
|
Then say what changed, the evidence, and the branch. `<id>` is the id the run printed, for either kind of run.
|
|
45
47
|
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pipeline
|
|
3
|
-
description: Plan, implement, review, then open a pull request, with the user approving the plan first. Only vibest's main
|
|
3
|
+
description: Plan, implement, review, then open a pull request, with the user approving the plan first. Only vibest's main agent (the coordinator) starts agents; a subagent must not use this skill. Use when the user wants a plan or design before code, a review before merging, or a pull request at the end ("plan it first, then build it", "write a design, then implement", "implement it and have someone review it", "先出方案再写,写完找人 review 后提 PR", "do it as a pipeline", "/pipeline").
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Pipeline
|
|
7
7
|
|
|
8
|
-
Plan
|
|
8
|
+
Plan → the user agrees → implement → review until the reviewer approves → pull request. Follow delegate: do not poll; each result arrives by itself; check it yourself. The user stays in the loop and may step into any pane. What they say overrides the next step.
|
|
9
9
|
|
|
10
10
|
## 1. Plan
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
vibest run <harness> --
|
|
13
|
+
vibest run <harness> --title 'Plan <topic>' -- 'Write an implementation plan for: <goal, paths, constraints>. Read the code. Report the approach, the files to change, the steps, how to verify, and open questions. Do not modify files.'
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
Its id is <planner id>. Tell the user the plan is being written and end your turn.
|
|
16
|
+
Its id is <planner id>. Tell the user the plan is being written and end your turn. Do not pass `--archive-on-completion`: the user has not agreed yet, and a completed result would archive the session before they can answer.
|
|
17
17
|
|
|
18
18
|
## 2. Agree
|
|
19
19
|
|
|
@@ -23,19 +23,18 @@ Show the plan in full, including open questions. Do not implement until the user
|
|
|
23
23
|
|
|
24
24
|
```
|
|
25
25
|
vibest project write scratch pipeline-<topic>-plan.md --if-version new -- '<the agreed plan, verbatim>'
|
|
26
|
-
vibest run <harness> --
|
|
26
|
+
vibest run <harness> --title 'Implement <topic>' -- 'Implement the plan at <absolute scratch path> exactly. Run the tests and typecheck, commit on a branch, push, and report the branch and hash. Do not open a pull request.'
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
Its id is <implementer id>. The absolute path is `scratchPath` from `vibest project info`, plus the file name. If write says the file already exists, `vibest project read scratch pipeline-<topic>-plan.md`, then write again with the version it prints, or pick a new file name. Do not pass `--archive-on-completion`: this session stays for review and the pull request. When it reports, check the diff and the tests yourself before review.
|
|
29
|
+
Its id is <implementer id>. The absolute path is `scratchPath` from `vibest project info`, plus the file name. If write says the file already exists, `vibest project read scratch pipeline-<topic>-plan.md`, then write again with the version it prints, or pick a new file name. Do not pass `--archive-on-completion`: this session stays for review and the pull request. When it reports, check the diff and the tests yourself before review.
|
|
30
30
|
|
|
31
31
|
## 4. Review
|
|
32
32
|
|
|
33
33
|
`--peer` shares the implementer's worktree: a pane split off the implementer's pane. Archiving the reviewer never removes that worktree.
|
|
34
|
-
|
|
35
|
-
Read-only here is the prompt you pass, plus the peer git rule the session already has: no commit, and nothing that moves HEAD, a branch, or the index. The session is not started with `VIBEST_ACCESS=read`, so the harness is not in its read-only tool mode.
|
|
34
|
+
Read-only here is the prompt you pass, plus the peer git rule the session already has: no commit, and nothing that moves HEAD, a branch, or the index.
|
|
36
35
|
|
|
37
36
|
```
|
|
38
|
-
vibest run <harness> --peer <implementer id> -- 'Review the change on this branch against the plan at <absolute scratch path>. Run git diff main...HEAD. Do not modify files, commit, or move HEAD. Look for bugs, missing tests, and departures from the plan; run the tests. Start with "verdict: approve" or "verdict: changes requested", then each comment with file and line.'
|
|
37
|
+
vibest run <harness> --title 'Review <topic>' --peer <implementer id> -- 'Review the change on this branch against the plan at <absolute scratch path>. Run git diff main...HEAD. Do not modify files, commit, or move HEAD. Look for bugs, missing tests, and departures from the plan; run the tests. Start with "verdict: approve" or "verdict: changes requested", then each comment with file and line.'
|
|
39
38
|
```
|
|
40
39
|
|
|
41
40
|
Its id is <reviewer id>. Do not pass `--archive-on-completion`: later rounds go to this reviewer with `vibest send`.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
|
-
# @vibest/cursor 0.0.1-beta.
|
|
2
|
+
# @vibest/cursor 0.0.1-beta.14: `vibest integration guard` before a tool call, `vibest integration prompt` when the user submits, `vibest integration stop` at a turn end.
|
|
3
3
|
case "${1:-}" in
|
|
4
4
|
guard)
|
|
5
5
|
# preToolUse runs fail-closed, where no answer refuses: outside vibest, allow (it grants no approval).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: delegate
|
|
3
|
-
description: Hand work to subagents with `vibest run` and keep talking with the user while they work. Only vibest's main
|
|
3
|
+
description: Hand work to subagents with `vibest run` and keep talking with the user while they work. Only vibest's main agent (the coordinator) starts agents; a subagent must not use this skill. Use for any request to change, fix, build, investigate, research, test or verify code ("fix this bug", "add X", "look into why Y", "do these three things", "have an agent check it"), and whenever a task splits into independent parts that can run at the same time.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Delegate
|
|
@@ -12,19 +12,20 @@ You direct subagents. You stay with the user. Each result arrives in your inbox
|
|
|
12
12
|
Split independent pieces. Research and review run in parallel. One writing subagent per set of files. A few shell reads (`git diff`, `rg`) you do yourself.
|
|
13
13
|
|
|
14
14
|
```
|
|
15
|
-
vibest run <harness> --
|
|
15
|
+
vibest run <harness> --title '<Title>' -- '<self-contained task>'
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
Its id is <id>.
|
|
19
19
|
|
|
20
20
|
```
|
|
21
|
-
vibest run <harness> --
|
|
21
|
+
vibest run <harness> --title '<Title>' --archive-on-completion -- '<task>'
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
`--archive-on-completion` is only for a session you will not message again after it completes. It archives once the session reports completed and that result has reached you. The branch is kept. Do not `vibest send` it after that.
|
|
24
|
+
`--archive-on-completion` is only for a session you will not message again after it completes. It archives once the session reports completed and that result has reached you. The branch is kept. Do not `vibest send` it after that. Any turn that ends normally archives it, a question included, so do not use it for a session that may need an answer. A `failed` result has not archived it: send the correction to the id it printed; the flag still archives the completed result that follows. A reviewer that gets later rounds is the pipeline skill and must stay open, without this flag.
|
|
25
25
|
|
|
26
26
|
- `<harness>` is `pi`, `claude` or `cursor` (`auto` only when a spawn plugin chooses).
|
|
27
|
-
- `--
|
|
27
|
+
- Always pass `--title`: three to six words, verb first, first letter capitalised, no kebab-case, saying what is done rather than how ("Fix login redirect loop"). The user's language is fine.
|
|
28
|
+
- Each session gets its own new worktree.
|
|
28
29
|
- Several `vibest run` commands in one message start in parallel.
|
|
29
30
|
- A subagent cannot see this conversation. Say what to achieve, where (paths, lines), what done means, and how to verify it. For code: run the tests and typecheck, commit, and report the branch and hash.
|
|
30
31
|
- Long material: `vibest project write scratch <name>.md --if-version new -- '<text>'`. The absolute path is `scratchPath` from `vibest project info`, plus the file name. If write says the file already exists, `vibest project read scratch <name>.md`, then write again with the version it prints, or pick a new file name.
|
|
@@ -36,10 +37,11 @@ Tell the user in one or two lines what is running, then end your turn. Never gue
|
|
|
36
37
|
|
|
37
38
|
## Check the result
|
|
38
39
|
|
|
39
|
-
An `<agent-result>` is a claim. For a session
|
|
40
|
+
An `<agent-result>` is a claim. Its `<status>` is only whether the turn ended normally (`completed`) or with an error (`failed`); whether the work succeeded is in the `<result>` text. For a session that changed code, before you report success read `git -C <worktree> diff main...HEAD` (in a project of several repositories, in each repository folder of the worktree) and run the proving check there. For research, judge the report text.
|
|
40
41
|
|
|
41
|
-
-
|
|
42
|
-
-
|
|
42
|
+
- The result asks a question → `vibest send <id> -- '<the answer>'`, or ask the user. If it is waiting for the user's approval of an action, do not send the approval back: start a fresh agent with the approved action, quoting the user's words.
|
|
43
|
+
- `<status>failed</status>`, a result that reports a failure, or your check fails → `vibest send <id> -- '<the failure and what to fix>'`. It keeps its context. If a second correction fails, start a new `vibest run` or tell the user.
|
|
44
|
+
- A result or notice that says the turn ended without a report, was interrupted in its pane, or did not start (`task_not_started`) carries no screen text. When you need to see why, run `vibest peek <id>` (`--lines N`, default 30): it prints the session's terminal as it is now. Read it before you decide to resend, correct, or tell the user.
|
|
43
45
|
|
|
44
46
|
Then say what changed, the evidence, and the branch. `<id>` is the id the run printed, for either kind of run.
|
|
45
47
|
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pipeline
|
|
3
|
-
description: Plan, implement, review, then open a pull request, with the user approving the plan first. Only vibest's main
|
|
3
|
+
description: Plan, implement, review, then open a pull request, with the user approving the plan first. Only vibest's main agent (the coordinator) starts agents; a subagent must not use this skill. Use when the user wants a plan or design before code, a review before merging, or a pull request at the end ("plan it first, then build it", "write a design, then implement", "implement it and have someone review it", "先出方案再写,写完找人 review 后提 PR", "do it as a pipeline", "/pipeline").
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Pipeline
|
|
7
7
|
|
|
8
|
-
Plan
|
|
8
|
+
Plan → the user agrees → implement → review until the reviewer approves → pull request. Follow delegate: do not poll; each result arrives by itself; check it yourself. The user stays in the loop and may step into any pane. What they say overrides the next step.
|
|
9
9
|
|
|
10
10
|
## 1. Plan
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
vibest run <harness> --
|
|
13
|
+
vibest run <harness> --title 'Plan <topic>' -- 'Write an implementation plan for: <goal, paths, constraints>. Read the code. Report the approach, the files to change, the steps, how to verify, and open questions. Do not modify files.'
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
Its id is <planner id>. Tell the user the plan is being written and end your turn.
|
|
16
|
+
Its id is <planner id>. Tell the user the plan is being written and end your turn. Do not pass `--archive-on-completion`: the user has not agreed yet, and a completed result would archive the session before they can answer.
|
|
17
17
|
|
|
18
18
|
## 2. Agree
|
|
19
19
|
|
|
@@ -23,19 +23,18 @@ Show the plan in full, including open questions. Do not implement until the user
|
|
|
23
23
|
|
|
24
24
|
```
|
|
25
25
|
vibest project write scratch pipeline-<topic>-plan.md --if-version new -- '<the agreed plan, verbatim>'
|
|
26
|
-
vibest run <harness> --
|
|
26
|
+
vibest run <harness> --title 'Implement <topic>' -- 'Implement the plan at <absolute scratch path> exactly. Run the tests and typecheck, commit on a branch, push, and report the branch and hash. Do not open a pull request.'
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
Its id is <implementer id>. The absolute path is `scratchPath` from `vibest project info`, plus the file name. If write says the file already exists, `vibest project read scratch pipeline-<topic>-plan.md`, then write again with the version it prints, or pick a new file name. Do not pass `--archive-on-completion`: this session stays for review and the pull request. When it reports, check the diff and the tests yourself before review.
|
|
29
|
+
Its id is <implementer id>. The absolute path is `scratchPath` from `vibest project info`, plus the file name. If write says the file already exists, `vibest project read scratch pipeline-<topic>-plan.md`, then write again with the version it prints, or pick a new file name. Do not pass `--archive-on-completion`: this session stays for review and the pull request. When it reports, check the diff and the tests yourself before review.
|
|
30
30
|
|
|
31
31
|
## 4. Review
|
|
32
32
|
|
|
33
33
|
`--peer` shares the implementer's worktree: a pane split off the implementer's pane. Archiving the reviewer never removes that worktree.
|
|
34
|
-
|
|
35
|
-
Read-only here is the prompt you pass, plus the peer git rule the session already has: no commit, and nothing that moves HEAD, a branch, or the index. The session is not started with `VIBEST_ACCESS=read`, so the harness is not in its read-only tool mode.
|
|
34
|
+
Read-only here is the prompt you pass, plus the peer git rule the session already has: no commit, and nothing that moves HEAD, a branch, or the index.
|
|
36
35
|
|
|
37
36
|
```
|
|
38
|
-
vibest run <harness> --peer <implementer id> -- 'Review the change on this branch against the plan at <absolute scratch path>. Run git diff main...HEAD. Do not modify files, commit, or move HEAD. Look for bugs, missing tests, and departures from the plan; run the tests. Start with "verdict: approve" or "verdict: changes requested", then each comment with file and line.'
|
|
37
|
+
vibest run <harness> --title 'Review <topic>' --peer <implementer id> -- 'Review the change on this branch against the plan at <absolute scratch path>. Run git diff main...HEAD. Do not modify files, commit, or move HEAD. Look for bugs, missing tests, and departures from the plan; run the tests. Start with "verdict: approve" or "verdict: changes requested", then each comment with file and line.'
|
|
39
38
|
```
|
|
40
39
|
|
|
41
40
|
Its id is <reviewer id>. Do not pass `--archive-on-completion`: later rounds go to this reviewer with `vibest send`.
|