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.
@@ -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.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
- "commands": "./commands/"
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
- Session 1 │ │ Session 2 │ │ Session 3
23
- │ │ │ │
24
- │ Product QA │ │ Issue Work │ │ viban TUI
25
- │ + /task │ │ + /assign │ │
26
- │ │ │ │ (always open)
27
- │ Find bugs, │ │ Pick & resolve │ │ Monitor board
28
- │ register issues│ │ issues │ │ in real-time
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
- ├── commands/
337
- │ ├── assign.md # /assign command
338
- │ ├── setup.md # /setup command
339
- │ └── task.md # /task command
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 (ASCII to avoid width calculation issues)
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.4",
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
- "commands/",
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 |
@@ -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