claude-plugin-viban 1.3.16 → 1.3.17
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/.claude-plugin/plugin.json +1 -1
- package/bin/viban +2 -6
- package/docs/CLAUDE.md +2 -3
- package/package.json +1 -1
- package/skills/add/SKILL.md +8 -0
- package/skills/approve/SKILL.md +8 -2
- package/skills/assign/SKILL.md +2 -2
- package/skills/parallel-assign/SKILL.md +12 -14
- package/skills/reject/SKILL.md +9 -2
- package/skills/review/SKILL.md +8 -2
- package/skills/setup/SKILL.md +9 -0
package/bin/viban
CHANGED
|
@@ -149,18 +149,14 @@ export TERM=${TERM:-xterm-256color}
|
|
|
149
149
|
# ============================================================
|
|
150
150
|
# Priority:
|
|
151
151
|
# 1. VIBAN_DATA_DIR env var (explicit override)
|
|
152
|
-
# 2.
|
|
152
|
+
# 2. CWD .viban/ directory (always uses $PWD, not git root — monorepo safe)
|
|
153
153
|
|
|
154
154
|
VIBAN_DATA_DIR="${VIBAN_DATA_DIR:-}"
|
|
155
155
|
VIBAN_IS_GIT_REPO=false
|
|
156
156
|
git rev-parse --git-dir &>/dev/null && VIBAN_IS_GIT_REPO=true
|
|
157
157
|
|
|
158
158
|
if [[ -z "$VIBAN_DATA_DIR" ]]; then
|
|
159
|
-
|
|
160
|
-
VIBAN_DATA_DIR="$(git rev-parse --show-toplevel)/.viban"
|
|
161
|
-
else
|
|
162
|
-
VIBAN_DATA_DIR="${PWD}/.viban"
|
|
163
|
-
fi
|
|
159
|
+
VIBAN_DATA_DIR="${PWD}/.viban"
|
|
164
160
|
fi
|
|
165
161
|
|
|
166
162
|
VIBAN_JSON="${VIBAN_DATA_DIR}/viban.json"
|
package/docs/CLAUDE.md
CHANGED
|
@@ -64,11 +64,10 @@ EOF
|
|
|
64
64
|
|
|
65
65
|
```bash
|
|
66
66
|
# 1. 워크트리 생성
|
|
67
|
-
|
|
68
|
-
git worktree add -b issue-{ISSUE_ID} "$REPO_ROOT/.viban/worktrees/{ISSUE_ID}" origin/main
|
|
67
|
+
git worktree add -b issue-{ISSUE_ID} "$PWD/.viban/worktrees/{ISSUE_ID}" origin/main
|
|
69
68
|
|
|
70
69
|
# 2. 워크트리 안에서 작업 후 push
|
|
71
|
-
cd "$
|
|
70
|
+
cd "$PWD/.viban/worktrees/{ISSUE_ID}"
|
|
72
71
|
git push -u origin issue-{ISSUE_ID}
|
|
73
72
|
|
|
74
73
|
# 3. PR 생성
|
package/package.json
CHANGED
package/skills/add/SKILL.md
CHANGED
|
@@ -90,6 +90,14 @@ Report the registered issue and **stop immediately**. Do not suggest next steps,
|
|
|
90
90
|
- `Bash` for anything other than `viban` CLI and `cat`/`mkdir` above: FORBIDDEN.
|
|
91
91
|
- No `git` commands. No source code reads. No codebase exploration.
|
|
92
92
|
|
|
93
|
+
## CLI Reference
|
|
94
|
+
|
|
95
|
+
| Command | Description |
|
|
96
|
+
|---------|-------------|
|
|
97
|
+
| `viban list` | Print board (check for duplicates) |
|
|
98
|
+
| `viban add "<title>" --desc-file <f> --priority <p> --type <t>` | Register issue |
|
|
99
|
+
| `viban add "<title>" ... --ext-id "<id>"` | Register with external ID |
|
|
100
|
+
|
|
93
101
|
### Additional rules:
|
|
94
102
|
- **NEVER read or write `viban.json` directly** — always use `viban` CLI commands
|
|
95
103
|
- No solution proposals in the issue — symptoms only
|
package/skills/approve/SKILL.md
CHANGED
|
@@ -29,9 +29,8 @@ viban get $ID
|
|
|
29
29
|
Confirm the issue is in `review` status. If not, tell the user and exit.
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
-
REPO_ROOT=$(git rev-parse --show-toplevel)
|
|
33
32
|
BRANCH="issue-$ID"
|
|
34
|
-
WT_DIR="$
|
|
33
|
+
WT_DIR="$PWD/.viban/worktrees/$ID"
|
|
35
34
|
```
|
|
36
35
|
|
|
37
36
|
---
|
|
@@ -109,3 +108,10 @@ TEMP=$(git log --oneline -1 | grep "viban-review: temp commit before #$ID")
|
|
|
109
108
|
```
|
|
110
109
|
|
|
111
110
|
Report: "Issue #$ID approved and merged."
|
|
111
|
+
|
|
112
|
+
## CLI Reference
|
|
113
|
+
|
|
114
|
+
| Command | Description |
|
|
115
|
+
|---------|-------------|
|
|
116
|
+
| `viban get <id>` | View issue details |
|
|
117
|
+
| `viban done <id>` | Mark issue as done |
|
package/skills/assign/SKILL.md
CHANGED
|
@@ -14,6 +14,7 @@ Assign the first backlog issue and execute the full resolution workflow. If the
|
|
|
14
14
|
## Output Rules
|
|
15
15
|
|
|
16
16
|
- **Do NOT output any preamble.** No "Your Task:", "I'll now...", "Let me...", or task summaries before starting work.
|
|
17
|
+
- **NEVER delegate work back to the user.** You must complete the entire issue yourself — writing code, tests, and verifying. Phrases like "Your Task:", "TODO(human)", "Waiting for your implementation", "Take your time", or any message that asks the user to write code are strictly FORBIDDEN. If you encounter a TODO comment, implement it yourself.
|
|
17
18
|
- Start executing Step 0 immediately and silently.
|
|
18
19
|
|
|
19
20
|
---
|
|
@@ -64,8 +65,7 @@ Assess whether the issue description provides enough context to start working.
|
|
|
64
65
|
`viban assign` automatically creates a worktree. Locate it:
|
|
65
66
|
|
|
66
67
|
```bash
|
|
67
|
-
|
|
68
|
-
WT_DIR="$REPO_ROOT/.viban/worktrees/$ISSUE_ID"
|
|
68
|
+
WT_DIR="$PWD/.viban/worktrees/$ISSUE_ID"
|
|
69
69
|
BRANCH="issue-$ISSUE_ID"
|
|
70
70
|
```
|
|
71
71
|
|
|
@@ -8,6 +8,8 @@ description: "Assign and resolve multiple independent backlog issues in parallel
|
|
|
8
8
|
Parallel resolution of independent backlog issues via git worktrees.
|
|
9
9
|
|
|
10
10
|
> **CLI only** (no direct viban.json access) | **Opus sub-agents** in isolated worktrees
|
|
11
|
+
>
|
|
12
|
+
> **`viban` is a zsh CLI tool.** Always invoke as `viban <command>`, NEVER as `python -m viban` or `python viban`.
|
|
11
13
|
|
|
12
14
|
**Input**: `$ARGUMENTS` (optional: number of issues, default 3)
|
|
13
15
|
|
|
@@ -16,6 +18,7 @@ Parallel resolution of independent backlog issues via git worktrees.
|
|
|
16
18
|
## Output Rules
|
|
17
19
|
|
|
18
20
|
- **Do NOT output any preamble.** No "Your Task:", "I'll now...", "Let me...", or task summaries before starting work.
|
|
21
|
+
- **NEVER delegate work back to the user.** Each agent must complete its assigned issue fully — writing code, tests, and verifying. Phrases like "Your Task:", "TODO(human)", "Waiting for your implementation", "Take your time", or any message that asks the user to write code are strictly FORBIDDEN. If you encounter a TODO comment, implement it yourself.
|
|
19
22
|
- Start executing Phase 0 immediately and silently.
|
|
20
23
|
|
|
21
24
|
---
|
|
@@ -75,14 +78,13 @@ If no issues were assigned: notify user and exit.
|
|
|
75
78
|
For each assigned issue, create an isolated git worktree:
|
|
76
79
|
|
|
77
80
|
```bash
|
|
78
|
-
|
|
79
|
-
mkdir -p "$REPO_ROOT/.viban/worktrees"
|
|
81
|
+
mkdir -p "$PWD/.viban/worktrees"
|
|
80
82
|
|
|
81
83
|
for entry in "${ISSUES[@]}"; do
|
|
82
84
|
ID="${entry%%|*}"
|
|
83
85
|
BRANCH="${entry##*|}"
|
|
84
86
|
# Use issue ID as worktree dir name (matches cmd_done cleanup at .viban/worktrees/{ID})
|
|
85
|
-
WT_DIR="$
|
|
87
|
+
WT_DIR="$PWD/.viban/worktrees/$ID"
|
|
86
88
|
|
|
87
89
|
git worktree add -b "$BRANCH" "$WT_DIR" origin/main
|
|
88
90
|
done
|
|
@@ -106,9 +108,9 @@ Spawn one **opus** agent per issue using `Task` tool. All agents launch in a sin
|
|
|
106
108
|
You are resolving viban issue #{ID} in an isolated git worktree.
|
|
107
109
|
|
|
108
110
|
## Environment
|
|
109
|
-
- Worktree path: {
|
|
111
|
+
- Worktree path: {PROJECT_ROOT}/.viban/worktrees/{ID}
|
|
110
112
|
- Branch: {BRANCH}
|
|
111
|
-
- Main repo: {
|
|
113
|
+
- Main repo: {PROJECT_ROOT}
|
|
112
114
|
- ALL file operations must happen inside the worktree path
|
|
113
115
|
|
|
114
116
|
## Workflow (Analyze + Implement + Verify only)
|
|
@@ -125,7 +127,7 @@ You are resolving viban issue #{ID} in an isolated git worktree.
|
|
|
125
127
|
|
|
126
128
|
You are one of {N} parallel agents working in isolated git worktrees.
|
|
127
129
|
|
|
128
|
-
1. Work ONLY inside your worktree: {
|
|
130
|
+
1. Work ONLY inside your worktree: {PROJECT_ROOT}/.viban/worktrees/{ID}
|
|
129
131
|
- cd to the worktree before any work
|
|
130
132
|
- All reads, edits, and writes must target files under this path
|
|
131
133
|
|
|
@@ -136,7 +138,7 @@ You are one of {N} parallel agents working in isolated git worktrees.
|
|
|
136
138
|
|
|
137
139
|
3. After implementation, commit on your branch:
|
|
138
140
|
```bash
|
|
139
|
-
cd {
|
|
141
|
+
cd {PROJECT_ROOT}/.viban/worktrees/{ID}
|
|
140
142
|
git add <specific files>
|
|
141
143
|
git commit -m "type: description
|
|
142
144
|
|
|
@@ -149,6 +151,7 @@ You are one of {N} parallel agents working in isolated git worktrees.
|
|
|
149
151
|
4. That's it. Stop after committing.
|
|
150
152
|
|
|
151
153
|
ABSOLUTE RULES:
|
|
154
|
+
- **NEVER delegate work back to the user.** You must complete the entire issue yourself. Phrases like "Your Task:", "TODO(human)", "Waiting for your implementation" are FORBIDDEN. If you encounter a TODO comment, implement it yourself.
|
|
152
155
|
- **Your job ends after committing.** The coordinator handles push, PR creation, and issue status.
|
|
153
156
|
- **FORBIDDEN: `git push`** — the coordinator pushes from the main repo after verifying.
|
|
154
157
|
- **FORBIDDEN: `gh pr create`** — the coordinator creates PRs after transplanting branches.
|
|
@@ -161,7 +164,7 @@ ABSOLUTE RULES:
|
|
|
161
164
|
|
|
162
165
|
### Dispatch Pattern
|
|
163
166
|
|
|
164
|
-
```
|
|
167
|
+
```text
|
|
165
168
|
# Pseudo-code for the dispatch
|
|
166
169
|
for each (ID, BRANCH) in ISSUES:
|
|
167
170
|
Task(
|
|
@@ -183,12 +186,7 @@ for each (ID, BRANCH) in ISSUES:
|
|
|
183
186
|
|
|
184
187
|
## Phase 3: TRANSPLANT & CLEANUP
|
|
185
188
|
|
|
186
|
-
After all agents finish, the coordinator handles everything from the main
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
REPO_ROOT=$(git rev-parse --show-toplevel)
|
|
190
|
-
cd "$REPO_ROOT"
|
|
191
|
-
```
|
|
189
|
+
After all agents finish, the coordinator handles everything from the main project root (`$PWD`).
|
|
192
190
|
|
|
193
191
|
### 3.1 Verify Local Branches
|
|
194
192
|
|
package/skills/reject/SKILL.md
CHANGED
|
@@ -31,9 +31,8 @@ Confirm the issue is in `review` status. If not, tell the user and exit.
|
|
|
31
31
|
Parse `$ARGUMENTS`: first token is `$ID`, rest is `$FEEDBACK`.
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
REPO_ROOT=$(git rev-parse --show-toplevel)
|
|
35
34
|
BRANCH="issue-$ID"
|
|
36
|
-
WT_DIR="$
|
|
35
|
+
WT_DIR="$PWD/.viban/worktrees/$ID"
|
|
37
36
|
```
|
|
38
37
|
|
|
39
38
|
---
|
|
@@ -110,3 +109,11 @@ TEMP=$(git log --oneline -1 | grep "viban-review: temp commit before #$ID")
|
|
|
110
109
|
```
|
|
111
110
|
|
|
112
111
|
Report: "Issue #$ID rejected → in_progress. Worktree intact at `$WT_DIR`."
|
|
112
|
+
|
|
113
|
+
## CLI Reference
|
|
114
|
+
|
|
115
|
+
| Command | Description |
|
|
116
|
+
|---------|-------------|
|
|
117
|
+
| `viban get <id>` | View issue details |
|
|
118
|
+
| `viban move <id> <status>` | Move issue to status |
|
|
119
|
+
| `viban comment <id> "<text>"` | Add comment to issue |
|
package/skills/review/SKILL.md
CHANGED
|
@@ -43,9 +43,8 @@ Show the user a one-line summary: `#ID [PRIORITY] Title`.
|
|
|
43
43
|
## Step 2: Prepare Branch
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
|
-
REPO_ROOT=$(git rev-parse --show-toplevel)
|
|
47
46
|
BRANCH="issue-$ID"
|
|
48
|
-
WT_DIR="$
|
|
47
|
+
WT_DIR="$PWD/.viban/worktrees/$ID"
|
|
49
48
|
```
|
|
50
49
|
|
|
51
50
|
If worktree exists, detach it to free the branch:
|
|
@@ -98,3 +97,10 @@ Run /viban:approve $ID or /viban:reject $ID when ready.
|
|
|
98
97
|
```
|
|
99
98
|
|
|
100
99
|
**Done.** Do not wait for user input. The skill exits here.
|
|
100
|
+
|
|
101
|
+
## CLI Reference
|
|
102
|
+
|
|
103
|
+
| Command | Description |
|
|
104
|
+
|---------|-------------|
|
|
105
|
+
| `viban list --status review` | List review-status issues |
|
|
106
|
+
| `viban get <id>` | View issue details |
|
package/skills/setup/SKILL.md
CHANGED
|
@@ -445,6 +445,15 @@ You can edit .viban/workflow.md anytime to adjust it.
|
|
|
445
445
|
- **Package manager not found**: Show manual installation instructions
|
|
446
446
|
- **npm not found**: Install Node.js first
|
|
447
447
|
|
|
448
|
+
## CLI Reference
|
|
449
|
+
|
|
450
|
+
| Command | Description |
|
|
451
|
+
|---------|-------------|
|
|
452
|
+
| `viban help` | Show help and verify installation |
|
|
453
|
+
| `viban add "<title>"` | Add a task |
|
|
454
|
+
| `viban list` | List all tasks |
|
|
455
|
+
| `viban sync` | Initialize external tracker sync |
|
|
456
|
+
|
|
448
457
|
## Notes
|
|
449
458
|
|
|
450
459
|
- This command requires terminal access to run shell commands
|