claude-plugin-viban 1.0.4 → 1.0.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/.claude-plugin/marketplace.json +22 -0
- package/.claude-plugin/plugin.json +2 -2
- package/README.md +21 -21
- package/bin/viban +5 -3
- package/package.json +2 -2
- package/skills/assign/SKILL.md +216 -0
- package/commands/assign.md +0 -188
- /package/{commands/setup.md → skills/setup/SKILL.md} +0 -0
- /package/{commands/task.md → skills/task/SKILL.md} +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
|
|
3
|
+
"name": "viban-marketplace",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "viban plugin marketplace",
|
|
6
|
+
"owner": {
|
|
7
|
+
"name": "happy-nut",
|
|
8
|
+
"email": "happy-nut@users.noreply.github.com"
|
|
9
|
+
},
|
|
10
|
+
"plugins": [
|
|
11
|
+
{
|
|
12
|
+
"name": "viban",
|
|
13
|
+
"description": "Simple, lightweight local Kanban board for AI-human collaborative issue tracking",
|
|
14
|
+
"version": "1.0.14",
|
|
15
|
+
"author": {
|
|
16
|
+
"name": "happy-nut"
|
|
17
|
+
},
|
|
18
|
+
"source": "./",
|
|
19
|
+
"category": "productivity"
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "viban",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"description": "Terminal Kanban TUI for AI-human collaborative issue tracking",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "happy-nut"
|
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
"issue-tracking",
|
|
17
17
|
"viban"
|
|
18
18
|
],
|
|
19
|
-
"
|
|
19
|
+
"skills": "./skills/"
|
|
20
20
|
}
|
package/README.md
CHANGED
|
@@ -18,19 +18,19 @@
|
|
|
18
18
|
The most effective way to use viban is with **multiple terminal sessions**:
|
|
19
19
|
|
|
20
20
|
```
|
|
21
|
-
|
|
22
|
-
│
|
|
23
|
-
│
|
|
24
|
-
│ Product QA
|
|
25
|
-
│ + /task
|
|
26
|
-
│
|
|
27
|
-
│ Find bugs,
|
|
28
|
-
│ register issues│ │ issues
|
|
29
|
-
|
|
21
|
+
┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐
|
|
22
|
+
│ Session 1 │ │ Session 2 │ │ Session 3 │
|
|
23
|
+
│ │ │ │ │ │
|
|
24
|
+
│ Product QA │ │ Issue Work │ │ viban TUI │
|
|
25
|
+
│ + /viban:task │ │ + /viban:assign │ │ │
|
|
26
|
+
│ │ │ │ │ (always open) │
|
|
27
|
+
│ Find bugs, │ │ Pick & resolve │ │ Monitor board │
|
|
28
|
+
│ register issues │ │ issues │ │ in real-time │
|
|
29
|
+
└───────────────────┘ └───────────────────┘ └───────────────────┘
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
- **Session 1**: QA your product, find issues, run `/task` to register them
|
|
33
|
-
- **Session 2**: Run `/assign` to pick the next issue and resolve it
|
|
32
|
+
- **Session 1**: QA your product, find issues, run `/viban:task` to register them
|
|
33
|
+
- **Session 2**: Run `/viban:assign` to pick the next issue and resolve it
|
|
34
34
|
- **Session 3**: Keep `viban` TUI open to monitor the board
|
|
35
35
|
|
|
36
36
|
This separation keeps your workflow clean and prevents context switching.
|
|
@@ -125,11 +125,11 @@ To use viban commands in Claude Code:
|
|
|
125
125
|
/plugin install viban
|
|
126
126
|
|
|
127
127
|
# Install dependencies (first time only)
|
|
128
|
-
/setup
|
|
128
|
+
/viban:setup
|
|
129
129
|
|
|
130
130
|
# Now you can use:
|
|
131
|
-
/assign
|
|
132
|
-
/task
|
|
131
|
+
/viban:assign
|
|
132
|
+
/viban:task
|
|
133
133
|
```
|
|
134
134
|
|
|
135
135
|
## Usage
|
|
@@ -190,7 +190,7 @@ viban get 3
|
|
|
190
190
|
|
|
191
191
|
viban provides commands for automated issue management in Claude Code:
|
|
192
192
|
|
|
193
|
-
#### `/assign` - Auto-resolve next issue
|
|
193
|
+
#### `/viban:assign` - Auto-resolve next issue
|
|
194
194
|
|
|
195
195
|
Automatically picks the highest priority backlog issue and executes the full resolution workflow:
|
|
196
196
|
|
|
@@ -204,7 +204,7 @@ Automatically picks the highest priority backlog issue and executes the full res
|
|
|
204
204
|
- Parallel agent workflows
|
|
205
205
|
- Pre-prioritized backlog processing
|
|
206
206
|
|
|
207
|
-
#### `/task` - Create structured issue
|
|
207
|
+
#### `/viban:task` - Create structured issue
|
|
208
208
|
|
|
209
209
|
Analyzes a problem and creates a properly structured viban issue:
|
|
210
210
|
|
|
@@ -310,7 +310,7 @@ Issues are stored in `viban.json`:
|
|
|
310
310
|
|
|
311
311
|
Multiple Claude Code sessions can work simultaneously:
|
|
312
312
|
|
|
313
|
-
1. Each session calls `/assign`
|
|
313
|
+
1. Each session calls `/viban:assign`
|
|
314
314
|
2. Session ID is recorded in `assigned_to` field
|
|
315
315
|
3. Other sessions skip already-assigned issues
|
|
316
316
|
4. Completion moves issue to `review` or `done`
|
|
@@ -333,10 +333,10 @@ claude-plugin-viban/
|
|
|
333
333
|
│ └── CLAUDE.md # Claude Code integration guide
|
|
334
334
|
├── scripts/
|
|
335
335
|
│ └── check-deps.sh # Dependency checker
|
|
336
|
-
├──
|
|
337
|
-
│ ├── assign.md
|
|
338
|
-
│ ├── setup.md
|
|
339
|
-
│ └── task.md
|
|
336
|
+
├── skills/
|
|
337
|
+
│ ├── assign/SKILL.md # /viban:assign skill
|
|
338
|
+
│ ├── setup/SKILL.md # /viban:setup skill
|
|
339
|
+
│ └── task/SKILL.md # /viban:task skill
|
|
340
340
|
├── LICENSE # MIT License
|
|
341
341
|
├── package.json # NPM package config
|
|
342
342
|
└── README.md # This file
|
package/bin/viban
CHANGED
|
@@ -33,10 +33,11 @@ check_dependencies() {
|
|
|
33
33
|
# Only check dependencies for interactive commands (not help)
|
|
34
34
|
[[ "$1" != "help" && "$1" != "--help" && "$1" != "-h" ]] && check_dependencies
|
|
35
35
|
|
|
36
|
+
IN_TUI=false
|
|
36
37
|
cleanup() {
|
|
37
38
|
printf '\033[?25h\033[0m'
|
|
38
39
|
stty echo 2>/dev/null
|
|
39
|
-
clear
|
|
40
|
+
$IN_TUI && clear
|
|
40
41
|
exit 0
|
|
41
42
|
}
|
|
42
43
|
trap cleanup INT TERM EXIT
|
|
@@ -147,8 +148,8 @@ CACHED_COL_W=32
|
|
|
147
148
|
CACHED_MAX_H=22
|
|
148
149
|
CACHED_MAX_TASKS=7
|
|
149
150
|
|
|
150
|
-
# Spinner for in_progress cards (
|
|
151
|
-
SPINNER_FRAMES=('
|
|
151
|
+
# Spinner for in_progress cards (Braille dots - consistent 1-char width)
|
|
152
|
+
SPINNER_FRAMES=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
|
|
152
153
|
SPINNER_IDX=0
|
|
153
154
|
|
|
154
155
|
update_term_cache() {
|
|
@@ -744,6 +745,7 @@ delete_issue() {
|
|
|
744
745
|
}
|
|
745
746
|
|
|
746
747
|
level1_columns() {
|
|
748
|
+
IN_TUI=true
|
|
747
749
|
local col=0 card=0
|
|
748
750
|
|
|
749
751
|
# Hide cursor and disable input echo
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-plugin-viban",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"description": "Terminal Kanban TUI for AI-human collaborative issue tracking",
|
|
5
5
|
"main": "bin/viban",
|
|
6
6
|
"bin": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"files": [
|
|
10
10
|
"bin/",
|
|
11
11
|
"scripts/",
|
|
12
|
-
"
|
|
12
|
+
"skills/",
|
|
13
13
|
"docs/",
|
|
14
14
|
".claude-plugin/",
|
|
15
15
|
"install.sh",
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: assign
|
|
3
|
+
description: "Assign and resolve first backlog issue from viban board through to PR completion"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /assign
|
|
7
|
+
|
|
8
|
+
Workflow: First backlog issue -> Resolve -> PR completion
|
|
9
|
+
|
|
10
|
+
> **No direct `viban.json` access** - CLI only
|
|
11
|
+
> **No Worktree** - Work directly on branch in main repo
|
|
12
|
+
> **Workflow**: Read CLAUDE.md first, follow project workflow if exists
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Phase 0: CONTEXT & SETUP
|
|
17
|
+
|
|
18
|
+
### 0.1 Read Project Workflow (CRITICAL)
|
|
19
|
+
|
|
20
|
+
Before any work, read the project's CLAUDE.md:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
for path in "./CLAUDE.md" "./.claude/CLAUDE.md" "../CLAUDE.md"; do
|
|
24
|
+
[ -f "$path" ] && cat "$path"
|
|
25
|
+
done
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Look for:
|
|
29
|
+
- `Issue Resolution Workflow` or `Workflow` section
|
|
30
|
+
- Testing requirements (manual verification, specific tools, etc.)
|
|
31
|
+
|
|
32
|
+
IMPORTANT:
|
|
33
|
+
- If project has a defined workflow -> MUST follow it exactly
|
|
34
|
+
- If no workflow found -> Use default workflow (Phase 1 below)
|
|
35
|
+
|
|
36
|
+
### 0.2 Git Setup
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# 1. Check for uncommitted changes
|
|
40
|
+
if [ -n "$(git status --porcelain)" ]; then
|
|
41
|
+
echo "Warning: Uncommitted changes detected"
|
|
42
|
+
# Ask user whether to commit (use AskUserQuestion)
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
# 2. Switch to main branch and sync
|
|
46
|
+
git checkout main
|
|
47
|
+
git fetch origin main
|
|
48
|
+
git reset --hard origin/main
|
|
49
|
+
|
|
50
|
+
# 3. Assign issue
|
|
51
|
+
ISSUE_ID=$(viban assign 2>&1 | tail -1)
|
|
52
|
+
if [ -z "$ISSUE_ID" ] || [ "$ISSUE_ID" = "No backlog" ]; then
|
|
53
|
+
echo "No issues in backlog"
|
|
54
|
+
exit 0
|
|
55
|
+
fi
|
|
56
|
+
|
|
57
|
+
# 4. Create new branch
|
|
58
|
+
git checkout -b viban-$ISSUE_ID
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
If backlog is empty: Notify user and exit
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Phase 1: ANALYZE & IMPLEMENT
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
viban get $ISSUE_ID
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### If Project Workflow Exists (from CLAUDE.md):
|
|
72
|
+
|
|
73
|
+
Follow the project's exact steps.
|
|
74
|
+
|
|
75
|
+
### Default Workflow (if no project workflow):
|
|
76
|
+
|
|
77
|
+
1. **Understand**: Read the issue, understand the problem
|
|
78
|
+
2. **Locate**: Find relevant code files
|
|
79
|
+
3. **Analyze**: Determine root cause
|
|
80
|
+
4. **Implement**: Make minimal, focused changes
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Phase 2: VERIFY
|
|
85
|
+
|
|
86
|
+
Manual verification using available tools. Do NOT run build/test here - save that for Phase 3.
|
|
87
|
+
|
|
88
|
+
### Verification Methods (use what's appropriate):
|
|
89
|
+
|
|
90
|
+
| Type | Tool | Usage |
|
|
91
|
+
|------|------|-------|
|
|
92
|
+
| Web UI | Playwright MCP | `browser_navigate`, `browser_snapshot`, `browser_click` |
|
|
93
|
+
| API | WebFetch | Fetch endpoints, check responses |
|
|
94
|
+
| CLI | Bash | Run the CLI command, check output |
|
|
95
|
+
| Visual | Read | Read screenshot files if provided |
|
|
96
|
+
| Browser | Chrome DevTools MCP | `take_snapshot`, `navigate_page`, `click` |
|
|
97
|
+
|
|
98
|
+
### Verification Steps:
|
|
99
|
+
|
|
100
|
+
1. **Identify verification target**: What proves this fix works?
|
|
101
|
+
2. **Execute verification**: Use appropriate tool from above
|
|
102
|
+
3. **Confirm result**: Does the actual behavior match expected?
|
|
103
|
+
4. **Document evidence**: Note what was verified and how
|
|
104
|
+
|
|
105
|
+
Example verifications:
|
|
106
|
+
- Web feature: Navigate to page, take snapshot, verify element exists
|
|
107
|
+
- API fix: Fetch endpoint, check response status and body
|
|
108
|
+
- CLI change: Run command, verify output format
|
|
109
|
+
- UI bug: Navigate, interact, confirm no error
|
|
110
|
+
|
|
111
|
+
If verification fails: Return to Phase 1, fix the issue, re-verify.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Phase 3: SHIP
|
|
116
|
+
|
|
117
|
+
### 3.1 Run Build & Tests
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Run project's build/test commands
|
|
121
|
+
# Example: npm run build && npm test
|
|
122
|
+
# Example: pytest
|
|
123
|
+
# Example: cargo build && cargo test
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
If build/test fails: Fix errors, return to Phase 2 for re-verification.
|
|
127
|
+
|
|
128
|
+
### 3.2 Rebase
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
git fetch origin main
|
|
132
|
+
git rebase origin/main
|
|
133
|
+
# On conflict: resolve -> git add -> git rebase --continue
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 3.3 Commit & Push
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
git add -A
|
|
140
|
+
git commit -m "fix: issue title summary
|
|
141
|
+
|
|
142
|
+
- Root cause: ...
|
|
143
|
+
- Solution: ...
|
|
144
|
+
|
|
145
|
+
Resolves: viban-$ISSUE_ID"
|
|
146
|
+
|
|
147
|
+
git push -u origin viban-$ISSUE_ID
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 3.4 Create PR
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
EXISTING_PR=$(gh pr list --head viban-$ISSUE_ID --json number -q '.[0].number')
|
|
154
|
+
[ -z "$EXISTING_PR" ] && gh pr create \
|
|
155
|
+
--title "viban-$ISSUE_ID: title" \
|
|
156
|
+
--body "## Changes
|
|
157
|
+
- ...
|
|
158
|
+
|
|
159
|
+
## Verification
|
|
160
|
+
- [ ] Manual verification completed
|
|
161
|
+
- [ ] Build passing
|
|
162
|
+
- [ ] Tests passing (if applicable)" \
|
|
163
|
+
--base main
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### 3.5 Issue -> review
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
viban review $ISSUE_ID
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Phase 4: HANDOFF
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
Human Review Required
|
|
178
|
+
|
|
179
|
+
Issue #$ISSUE_ID -> review status
|
|
180
|
+
|
|
181
|
+
PR: gh pr view viban-$ISSUE_ID --web
|
|
182
|
+
|
|
183
|
+
Verification complete:
|
|
184
|
+
- Manual verification done with available tools
|
|
185
|
+
- Build passing
|
|
186
|
+
- Project workflow followed
|
|
187
|
+
|
|
188
|
+
After approval: Delete issue from viban TUI
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Checklist
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
[ ] Read CLAUDE.md for project workflow
|
|
197
|
+
[ ] Working on viban-$ISSUE_ID branch
|
|
198
|
+
[ ] Implementation complete
|
|
199
|
+
[ ] Manual verification passed (using appropriate tools)
|
|
200
|
+
[ ] Build & tests passing
|
|
201
|
+
[ ] Rebase complete
|
|
202
|
+
[ ] PR created
|
|
203
|
+
[ ] viban review executed
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## CLI Reference
|
|
209
|
+
|
|
210
|
+
| Command | Description |
|
|
211
|
+
|---------|-------------|
|
|
212
|
+
| `viban` | Open TUI |
|
|
213
|
+
| `viban list` | Print board |
|
|
214
|
+
| `viban assign [session]` | Assign issue |
|
|
215
|
+
| `viban get <id>` | View issue |
|
|
216
|
+
| `viban review <id>` | Move to review |
|
package/commands/assign.md
DELETED
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: assign
|
|
3
|
-
description: "Assign and resolve first backlog issue from viban board through to PR completion"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# /assign
|
|
7
|
-
|
|
8
|
-
Workflow: First backlog issue → Resolve → PR completion
|
|
9
|
-
|
|
10
|
-
> **No direct `viban.json` access** — CLI only
|
|
11
|
-
> **No Worktree** — Work directly on branch in main repo
|
|
12
|
-
> **Workflow**: Read CLAUDE.md first, follow project workflow if exists
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Phase 0: CONTEXT & SETUP
|
|
17
|
-
|
|
18
|
-
### 0.1 Read Project Workflow (CRITICAL)
|
|
19
|
-
|
|
20
|
-
**Before any work, read the project's CLAUDE.md:**
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
# Check for CLAUDE.md at common locations
|
|
24
|
-
for path in "./CLAUDE.md" "./.claude/CLAUDE.md" "../CLAUDE.md"; do
|
|
25
|
-
[ -f "$path" ] && cat "$path"
|
|
26
|
-
done
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
**Look for:**
|
|
30
|
-
- `Issue Resolution Workflow` section
|
|
31
|
-
- `Workflow` or `Development Process` section
|
|
32
|
-
- Specific steps like `ultrawork`, `code-simplifier`, `code-review`
|
|
33
|
-
- Testing requirements (`pytest`, manual verification, etc.)
|
|
34
|
-
|
|
35
|
-
**IMPORTANT:**
|
|
36
|
-
- If project has a defined workflow → **MUST follow it exactly**
|
|
37
|
-
- If no workflow found → Use default workflow (Phase 1 below)
|
|
38
|
-
|
|
39
|
-
### 0.2 Git Setup
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
# 1. Check for uncommitted changes
|
|
43
|
-
if [ -n "$(git status --porcelain)" ]; then
|
|
44
|
-
echo "Warning: Uncommitted changes detected"
|
|
45
|
-
# → Ask user whether to commit (use AskUserQuestion)
|
|
46
|
-
fi
|
|
47
|
-
|
|
48
|
-
# 2. Switch to main branch and sync
|
|
49
|
-
git checkout main
|
|
50
|
-
git fetch origin main
|
|
51
|
-
git reset --hard origin/main
|
|
52
|
-
|
|
53
|
-
# 3. Assign issue (state change only, no worktree)
|
|
54
|
-
ISSUE_ID=$(viban assign 2>&1 | tail -1)
|
|
55
|
-
if [ -z "$ISSUE_ID" ] || [ "$ISSUE_ID" = "No backlog" ]; then
|
|
56
|
-
echo "No issues in backlog"
|
|
57
|
-
exit 0
|
|
58
|
-
fi
|
|
59
|
-
|
|
60
|
-
# 4. Create new branch
|
|
61
|
-
git checkout -b viban-$ISSUE_ID
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
**If backlog is empty**: Notify user and exit
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## Phase 1: ANALYZE → VERIFY
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
viban get $ISSUE_ID
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### If Project Workflow Exists (from CLAUDE.md):
|
|
75
|
-
|
|
76
|
-
**Follow the project's exact steps.** Common patterns include:
|
|
77
|
-
|
|
78
|
-
1. Root cause analysis (5 Whys)
|
|
79
|
-
2. Context verification (ask if unclear)
|
|
80
|
-
3. Implementation & verification strategy
|
|
81
|
-
4. Code implementation (`/ultrawork` for 2+ files)
|
|
82
|
-
5. **Manual verification** (browser/API, NOT pytest)
|
|
83
|
-
6. Code simplification (`/code-simplifier`)
|
|
84
|
-
7. Code review (`/code-review`)
|
|
85
|
-
|
|
86
|
-
### Default Workflow (if no project workflow):
|
|
87
|
-
|
|
88
|
-
1. **Understand**: Read the issue, understand the problem
|
|
89
|
-
2. **Locate**: Find relevant code files
|
|
90
|
-
3. **Analyze**: Determine root cause
|
|
91
|
-
4. **Implement**: Make minimal, focused changes
|
|
92
|
-
5. **Verify**: Test the fix works (appropriate method for the project)
|
|
93
|
-
6. **Review**: Self-review changes for quality
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## Phase 2: SHIP
|
|
98
|
-
|
|
99
|
-
### 2.1 Rebase
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
git fetch origin main
|
|
103
|
-
git rebase origin/main
|
|
104
|
-
# On conflict: resolve → git add → git rebase --continue
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### 2.2 Commit & Push
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
git add -A
|
|
111
|
-
git commit -m "fix: issue title summary
|
|
112
|
-
|
|
113
|
-
- Root cause: ...
|
|
114
|
-
- Solution: ...
|
|
115
|
-
|
|
116
|
-
Resolves: viban-$ISSUE_ID"
|
|
117
|
-
|
|
118
|
-
git push -u origin viban-$ISSUE_ID
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### 2.3 Create PR
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
EXISTING_PR=$(gh pr list --head viban-$ISSUE_ID --json number -q '.[0].number')
|
|
125
|
-
[ -z "$EXISTING_PR" ] && gh pr create \
|
|
126
|
-
--title "viban-$ISSUE_ID: title" \
|
|
127
|
-
--body "## Changes
|
|
128
|
-
- ...
|
|
129
|
-
|
|
130
|
-
## Testing
|
|
131
|
-
- [ ] Tests passing (if applicable)
|
|
132
|
-
- [ ] Manual verification (if applicable)" \
|
|
133
|
-
--base main
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### 2.4 Issue → review
|
|
137
|
-
|
|
138
|
-
```bash
|
|
139
|
-
viban review $ISSUE_ID
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## Phase 3: HANDOFF
|
|
145
|
-
|
|
146
|
-
```
|
|
147
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
148
|
-
Human Review Required
|
|
149
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
150
|
-
|
|
151
|
-
Issue #$ISSUE_ID → review status
|
|
152
|
-
|
|
153
|
-
PR: gh pr view viban-$ISSUE_ID --web
|
|
154
|
-
|
|
155
|
-
Verification complete:
|
|
156
|
-
- Project workflow followed
|
|
157
|
-
- Changes tested appropriately
|
|
158
|
-
- Code reviewed
|
|
159
|
-
|
|
160
|
-
After approval: Delete issue from viban TUI
|
|
161
|
-
|
|
162
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## Checklist
|
|
168
|
-
|
|
169
|
-
```
|
|
170
|
-
[ ] Read CLAUDE.md for project workflow
|
|
171
|
-
[ ] Working on viban-$ISSUE_ID branch
|
|
172
|
-
[ ] Project workflow steps completed (or default if none)
|
|
173
|
-
[ ] Rebase complete
|
|
174
|
-
[ ] PR pushed
|
|
175
|
-
[ ] viban review executed
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## CLI Reference
|
|
181
|
-
|
|
182
|
-
| Command | Description |
|
|
183
|
-
|---------|-------------|
|
|
184
|
-
| `viban` | Open TUI |
|
|
185
|
-
| `viban list` | Print board |
|
|
186
|
-
| `viban assign [session]` | Assign issue |
|
|
187
|
-
| `viban get <id>` | View issue |
|
|
188
|
-
| `viban review <id>` | Move to review |
|
|
File without changes
|
|
File without changes
|