claude-plugin-viban 1.3.0 → 1.3.1

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "viban",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Terminal Kanban TUI for AI-human collaborative issue tracking",
5
5
  "author": {
6
6
  "name": "happy-nut"
package/README.md CHANGED
@@ -24,14 +24,14 @@ The most effective way to use viban is with **multiple terminal sessions**:
24
24
  │ Session 1 │ │ Session 2 │ │ Session 3 │
25
25
  │ │ │ │ │ │
26
26
  │ Product QA │ │ Issue Work │ │ viban TUI │
27
- │ + /viban:task │ │ + /viban:assign │ │ │
27
+ │ + /viban:add │ │ + /viban:assign │ │ │
28
28
  │ │ │ │ │ (always open) │
29
29
  │ Find bugs, │ │ Pick & resolve │ │ Monitor board │
30
30
  │ register issues │ │ issues │ │ in real-time │
31
31
  └───────────────────┘ └───────────────────┘ └───────────────────┘
32
32
  ```
33
33
 
34
- - **Session 1**: QA your product, find issues, run `/viban:task` to register them
34
+ - **Session 1**: QA your product, find issues, run `/viban:add` to register them
35
35
  - **Session 2**: Run `/viban:assign` to pick the next issue and resolve it
36
36
  - **Session 3**: Keep `viban` TUI open to monitor the board
37
37
 
@@ -39,7 +39,7 @@ This separation keeps your workflow clean and prevents context switching.
39
39
 
40
40
  ## Features
41
41
 
42
- - **3-Column Kanban Board**: `backlog` → `in_progress` → `review` → `done`
42
+ - **4-Column Kanban Board**: `backlog` → `in_progress` → `review` → `done`
43
43
  - **Priority Levels**: P0 (critical) to P3 (low priority)
44
44
  - **Type Tags**: bug, feat, chore, refactor
45
45
  - **TUI Navigation**: Interactive terminal UI with gum
@@ -118,12 +118,17 @@ viban # Launch TUI
118
118
 
119
119
  ```bash
120
120
  viban list # Display kanban board
121
- viban add "Title" "Description" P2 feat # Create new issue
121
+ viban add "Title" ["Desc"] [P0-P3] [type] [files...] # Create new issue
122
+ viban attach <id> <file1> [file2...] # Attach files to issue
123
+ viban priority <id> <P0-P3> # Set priority
122
124
  viban assign [session-id] # Assign top backlog issue
123
125
  viban review [id] # Move issue to review
124
- viban done <id> # Mark issue as done
126
+ viban done <id> # Complete & remove
127
+ viban edit <id> # Edit issue in editor
125
128
  viban get <id> # Get issue details (JSON)
126
129
  viban sync # Sync with external tracker
130
+ viban migrate # Migrate: extract type from title
131
+ viban update # Update to latest version
127
132
  viban help # Show help message
128
133
  ```
129
134
 
@@ -133,12 +138,18 @@ viban help # Show help message
133
138
  # Add a high-priority bug
134
139
  viban add "Fix login error" "Users cannot login after password reset" P1 bug
135
140
 
141
+ # Add an issue with file attachments
142
+ viban add "Refactor auth" "Simplify login flow" P2 refactor src/auth.ts src/login.ts
143
+
136
144
  # List all issues
137
145
  viban list
138
146
 
139
147
  # Assign first backlog issue to current session
140
148
  viban assign
141
149
 
150
+ # Change priority of issue #3
151
+ viban priority 3 P1
152
+
142
153
  # Mark issue #5 as done
143
154
  viban done 5
144
155
 
@@ -148,48 +159,55 @@ viban get 3
148
159
 
149
160
  ### Claude Code Integration
150
161
 
151
- viban provides commands for automated issue management in Claude Code:
152
-
153
- #### `/viban:assign` - Auto-resolve next issue
162
+ viban provides skills and commands for automated issue management in Claude Code:
154
163
 
155
- Automatically picks the highest priority backlog issue and executes the full resolution workflow:
156
-
157
- 1. Fetches top backlog issue
158
- 2. Assigns to current session
159
- 3. Analyzes and implements the fix
160
- 4. Marks as review/done upon completion
161
-
162
- **Use cases:**
163
- - Autonomous issue resolution
164
- - Parallel agent workflows
165
- - Pre-prioritized backlog processing
166
-
167
- #### `/viban:task` - Create structured issue
164
+ #### `/viban:add` - Register structured issue
168
165
 
169
166
  Analyzes a problem and creates a properly structured viban issue:
170
167
 
171
- 1. Prompts for problem description
172
- 2. Analyzes symptoms, root cause, expected behavior
173
- 3. Creates issue with proper title, description, priority, type
168
+ 1. Clarifies the problem if vague
169
+ 2. Infers priority and type from description
170
+ 3. Registers with proper title, description, priority, type
171
+ 4. Optionally enters plan mode to design a solution
174
172
 
175
173
  **Use cases:**
176
174
  - Bug reporting
177
175
  - Feature requests
178
176
  - Converting free-form descriptions to structured issues
179
177
 
180
- #### `/viban:sync` - Sync with external tracker
178
+ #### `/viban:assign` - Assign next backlog issue
179
+
180
+ Picks the highest priority backlog issue and assigns it to the current session:
181
+
182
+ 1. Assigns top backlog issue
183
+ 2. Evaluates description clarity
184
+ 3. If unclear, interviews user and enriches the issue description
185
+
186
+ This command is **assignment only** - it does not start implementation. Use your project's workflow (`.viban/workflow.md`) to define what happens next.
187
+
188
+ #### `/viban:parallel-assign` - Parallel resolution with worktrees
181
189
 
182
- Two-way sync between your viban board and an external issue tracker (currently GitHub Issues):
190
+ Resolves multiple backlog issues simultaneously using isolated git worktrees:
183
191
 
184
- 1. Checks sync configuration (or initializes on first run)
185
- 2. Shows a dry-run preview of changes
186
- 3. Asks for confirmation before syncing
187
- 4. Reports sync results
192
+ 1. Assigns N issues (default: 3, max: 5) and creates worktrees
193
+ 2. Spawns one opus agent per issue in its own worktree
194
+ 3. Each agent analyzes, implements, commits, and creates a PR
195
+ 4. Coordinator collects results, runs tests, and cleans up
188
196
 
189
197
  **Use cases:**
190
- - Importing GitHub Issues into your local board
191
- - Keeping remote issues in sync with local status changes
192
- - Team collaboration where some members use GitHub and others use viban
198
+ - Batch processing a backlog
199
+ - Parallel agent workflows with zero interference
200
+ - Rapid issue throughput
201
+
202
+ #### `/viban:setup` - Install & configure
203
+
204
+ Installs all dependencies and optionally configures a project workflow:
205
+
206
+ 1. Detects OS and installs missing dependencies (zsh, gum, jq)
207
+ 2. Installs/updates viban CLI via npm
208
+ 3. Auto-detects project conventions (build/test, commit style, branch naming)
209
+ 4. Interviews for workflow preferences (pipeline depth, issue numbering)
210
+ 5. Generates `.viban/workflow.md` for `/viban:assign` to follow
193
211
 
194
212
  ## External Tracker Sync
195
213
 
@@ -208,7 +226,7 @@ viban sync --dry-run
208
226
  viban sync
209
227
  ```
210
228
 
211
- > If using Claude Code, run `/viban:sync` for a guided experience with dry-run preview and confirmation.
229
+ > **Tip:** Use `viban sync --dry-run` first to preview changes before syncing.
212
230
 
213
231
  ### How It Works
214
232
 
@@ -290,8 +308,6 @@ backlog → in_progress → review → done
290
308
  | **feat** | New feature or enhancement |
291
309
  | **refactor** | Code restructuring |
292
310
  | **chore** | Maintenance tasks |
293
- | **docs** | Documentation updates |
294
- | **test** | Test additions/fixes |
295
311
 
296
312
  ## Data Structure
297
313
 
@@ -332,34 +348,47 @@ This prevents duplicate work and enables parallel agent workflows.
332
348
  ```
333
349
  claude-plugin-viban/
334
350
  ├── .claude-plugin/
335
- │ └── plugin.json # Plugin metadata
351
+ │ └── plugin.json # Plugin metadata
336
352
  ├── .github/
337
353
  │ └── workflows/
338
- │ ├── ci.yml # CI testing
339
- │ └── release.yml # NPM publishing
354
+ │ ├── ci.yml # CI testing
355
+ │ └── release.yml # NPM publishing
340
356
  ├── bin/
341
- │ └── viban # Main TUI/CLI script
342
- ├── docs/
343
- │ └── CLAUDE.md # Claude Code integration guide
357
+ │ └── viban # Main TUI/CLI script
344
358
  ├── commands/
345
- └── sync.md # /viban:sync command
359
+ ├── add.md # /viban:add command
360
+ │ ├── assign.md # /viban:assign command
361
+ │ ├── parallel-assign.md # /viban:parallel-assign command
362
+ │ └── setup.md # /viban:setup command
363
+ ├── docs/
364
+ │ ├── CLAUDE.md # Claude Code integration guide
365
+ │ └── release.md # Release workflow
346
366
  ├── scripts/
347
- │ ├── check-deps.sh # Dependency checker
348
- │ ├── sync.sh # Core sync engine (provider-agnostic)
367
+ │ ├── check-deps.sh # Dependency checker
368
+ │ ├── generate-release-notes.sh # Release notes generator
369
+ │ ├── sync.sh # Core sync engine (provider-agnostic)
370
+ │ ├── sync_create.sh # Sync initialization
349
371
  │ ├── providers/
350
- │ │ └── github.sh # GitHub Issues provider
351
- │ └── tui_coprocess.py # Persistent Python coprocess for TUI rendering
372
+ │ │ └── github.sh # GitHub Issues provider
373
+ │ └── tui_coprocess.py # Persistent Python coprocess for TUI rendering
352
374
  ├── skills/
353
- │ ├── assign/SKILL.md # /viban:assign skill
354
- │ ├── setup/SKILL.md # /viban:setup skill
355
- │ ├── sync/SKILL.md # /viban:sync skill
356
- │ └── task/SKILL.md # /viban:task skill
375
+ │ ├── add/SKILL.md # /viban:add skill
376
+ │ ├── assign/SKILL.md # /viban:assign skill
377
+ │ ├── parallel-assign/SKILL.md # /viban:parallel-assign skill
378
+ │ └── setup/SKILL.md # /viban:setup skill
357
379
  ├── tests/
358
- │ ├── run_all.zsh # Test runner
359
- └── test_sync.zsh # Sync engine tests
360
- ├── LICENSE # MIT License
361
- ├── package.json # NPM package config
362
- └── README.md # This file
380
+ │ ├── run_all.zsh # Test runner
381
+ ├── test_cmd_add.zsh # Add command tests
382
+ ├── test_coprocess.zsh # Python coprocess tests
383
+ ├── test_install.zsh # Installation tests
384
+ │ ├── test_layout.zsh # TUI layout tests
385
+ │ ├── test_pad_width.zsh # Unicode width tests
386
+ │ ├── test_sort_order.zsh # Sort order tests
387
+ │ ├── test_sync.zsh # Sync engine tests
388
+ │ └── test_sync_auto.zsh # Auto-sync tests
389
+ ├── LICENSE # MIT License
390
+ ├── package.json # NPM package config
391
+ └── README.md # This file
363
392
  ```
364
393
 
365
394
  ## Development
@@ -370,29 +399,16 @@ claude-plugin-viban/
370
399
  # Install dependencies
371
400
  brew install gum jq
372
401
 
373
- # Make executable
374
- chmod +x bin/viban scripts/check-deps.sh
375
-
376
- # Run tests
377
- ./bin/viban help
378
-
379
- # Test in a git repo
380
- cd /path/to/git/repo
381
- viban add "Test issue" "Test description" P2 feat
382
- viban list
402
+ # Run the full test suite (8 suites, 39 tests)
403
+ zsh tests/run_all.zsh
383
404
  ```
384
405
 
385
406
  ### Publishing
386
407
 
387
- ```bash
388
- # Update version in package.json
389
- npm version patch # or minor, major
408
+ See [docs/release.md](docs/release.md) for the full release workflow.
390
409
 
391
- # Create and push tag
392
- git tag v1.0.1
393
- git push origin v1.0.1
394
-
395
- # GitHub Actions will automatically publish to npm
410
+ ```bash
411
+ # GitHub Actions will automatically publish to npm on tag push
396
412
  ```
397
413
 
398
414
  ## Contributing
package/commands/add.md CHANGED
@@ -64,12 +64,20 @@ Issue #{id} registered
64
64
 
65
65
  ## Step 6: Suggest Plan Mode
66
66
 
67
- **Skip** for trivial issues (typo, one-liner config, simple copy edit).
68
- **Recommend** for everything else. Use AskUserQuestion:
67
+ **Skip** unless the issue clearly needs upfront design. Most issues don't.
69
68
 
70
- - header: "Next step", question: "Want to start planning the solution now?"
69
+ Only suggest plan mode when:
70
+ - The issue spans multiple subsystems or requires architectural decisions
71
+ - The description is too vague to act on without investigation
72
+ - P0 issues where a wrong fix could make things worse
73
+
74
+ **Do NOT suggest** for: single-file fixes, straightforward bugs, feature additions with clear scope, chores, refactors with obvious targets.
75
+
76
+ When suggesting, use AskUserQuestion:
77
+
78
+ - header: "Next step", question: "This looks complex — want to plan before working on it?"
71
79
  - options:
72
- - "Plan now (Recommended)" — Enter plan mode to analyze and design a solution
80
+ - "Plan now" — Enter plan mode to analyze and design a solution
73
81
  - "Later" — Just register, work on it later
74
82
 
75
83
  **"Plan now"**: `EnterPlanMode` → after approval, save to `.viban/plans/{issue-id}.md`:
@@ -89,11 +97,14 @@ Report: `Plan saved to .viban/plans/{issue-id}.md — /viban:assign will auto-lo
89
97
 
90
98
  **"Later"**: end skill.
91
99
 
92
- > **Bias towards planning.** When in doubt, suggest plan mode.
100
+ > **Bias towards skipping.** When in doubt, just register and finish.
93
101
 
94
102
  ## Rules
95
103
 
104
+ - **NEVER edit, create, or modify any source code files** — this skill registers issues only
105
+ - **NEVER start implementation** — even after plan mode, just save the plan and stop
96
106
  - No codebase exploration — assignee does that in `/viban:assign`
97
- - No solution proposals — symptoms only
107
+ - No solution proposals in the issue — symptoms only
98
108
  - Check duplicates first: `viban list`
99
109
  - P0 is system-down only
110
+ - After Step 6 completes (plan saved or skipped), the skill is **done**. Do not continue.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-plugin-viban",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Terminal Kanban TUI for AI-human collaborative issue tracking",
5
5
  "main": "bin/viban",
6
6
  "bin": {
@@ -65,12 +65,20 @@ Issue #{id} registered
65
65
 
66
66
  ## Step 6: Suggest Plan Mode
67
67
 
68
- **Skip** for trivial issues (typo, one-liner config, simple copy edit).
69
- **Recommend** for everything else. Use AskUserQuestion:
68
+ **Skip** unless the issue clearly needs upfront design. Most issues don't.
70
69
 
71
- - header: "Next step", question: "Want to start planning the solution now?"
70
+ Only suggest plan mode when:
71
+ - The issue spans multiple subsystems or requires architectural decisions
72
+ - The description is too vague to act on without investigation
73
+ - P0 issues where a wrong fix could make things worse
74
+
75
+ **Do NOT suggest** for: single-file fixes, straightforward bugs, feature additions with clear scope, chores, refactors with obvious targets.
76
+
77
+ When suggesting, use AskUserQuestion:
78
+
79
+ - header: "Next step", question: "This looks complex — want to plan before working on it?"
72
80
  - options:
73
- - "Plan now (Recommended)" — Enter plan mode to analyze and design a solution
81
+ - "Plan now" — Enter plan mode to analyze and design a solution
74
82
  - "Later" — Just register, work on it later
75
83
 
76
84
  **"Plan now"**: `EnterPlanMode` → after approval, save to `.viban/plans/{issue-id}.md`:
@@ -90,11 +98,14 @@ Report: `Plan saved to .viban/plans/{issue-id}.md — /viban:assign will auto-lo
90
98
 
91
99
  **"Later"**: end skill.
92
100
 
93
- > **Bias towards planning.** When in doubt, suggest plan mode.
101
+ > **Bias towards skipping.** When in doubt, just register and finish.
94
102
 
95
103
  ## Rules
96
104
 
105
+ - **NEVER edit, create, or modify any source code files** — this skill registers issues only
106
+ - **NEVER start implementation** — even after plan mode, just save the plan and stop
97
107
  - No codebase exploration — assignee does that in `/viban:assign`
98
- - No solution proposals — symptoms only
108
+ - No solution proposals in the issue — symptoms only
99
109
  - Check duplicates first: `viban list`
100
110
  - P0 is system-down only
111
+ - After Step 6 completes (plan saved or skipped), the skill is **done**. Do not continue.