claude-plugin-viban 1.0.0

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,21 @@
1
+ {
2
+ "name": "viban",
3
+ "version": "1.0.0",
4
+ "description": "Terminal Kanban TUI for AI-human collaborative issue tracking",
5
+ "author": {
6
+ "name": "happy-nut"
7
+ },
8
+ "repository": "https://github.com/happy-nut/claude-plugin-viban",
9
+ "homepage": "https://github.com/happy-nut/claude-plugin-viban",
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "claude-code",
13
+ "plugin",
14
+ "kanban",
15
+ "tui",
16
+ "issue-tracking",
17
+ "viban"
18
+ ],
19
+ "skills": "./skills/",
20
+ "commands": "./commands/"
21
+ }
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 happynut
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,361 @@
1
+ # viban
2
+
3
+ **Vi**sual Kan**ban** - Terminal-based Kanban board TUI for AI-human collaborative issue tracking.
4
+
5
+ [![CI](https://github.com/happy-nut/claude-plugin-viban/actions/workflows/ci.yml/badge.svg)](https://github.com/happy-nut/claude-plugin-viban/actions/workflows/ci.yml)
6
+ [![npm version](https://badge.fury.io/js/%40happy-nut%2Fclaude-plugin-viban.svg)](https://www.npmjs.com/package/@happy-nut/claude-plugin-viban)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+
9
+ ## Features
10
+
11
+ - **3-Column Kanban Board**: `backlog` → `in_progress` → `review` → `done`
12
+ - **Priority Levels**: P0 (critical) to P3 (low priority)
13
+ - **Type Tags**: bug, feat, chore, refactor, docs, test
14
+ - **TUI Navigation**: Interactive terminal UI with gum
15
+ - **Parallel Sessions**: Multiple Claude Code sessions can work simultaneously
16
+ - **Session Assignment**: Prevents duplicate work across parallel agents
17
+ - **Claude Code Integration**: Built-in skills for automated issue resolution
18
+
19
+ ## Requirements
20
+
21
+ - zsh
22
+ - [gum](https://github.com/charmbracelet/gum) - `brew install gum`
23
+ - [jq](https://jqlang.github.io/jq/) - `brew install jq`
24
+
25
+ ## Installation
26
+
27
+ ### Via npm (Recommended)
28
+
29
+ ```bash
30
+ npm install -g claude-plugin-viban
31
+ ```
32
+
33
+ After installation, `viban` command is automatically available in your terminal.
34
+
35
+ **Verify installation:**
36
+ ```bash
37
+ viban help
38
+ ```
39
+
40
+ ### Shell Setup (if viban command not found)
41
+
42
+ If `viban` is not found after npm install, add npm global bin to your PATH:
43
+
44
+ **For zsh (macOS default):**
45
+ ```bash
46
+ # Add to ~/.zshrc
47
+ export PATH="$PATH:$(npm config get prefix)/bin"
48
+
49
+ # Reload
50
+ source ~/.zshrc
51
+ ```
52
+
53
+ **For bash:**
54
+ ```bash
55
+ # Add to ~/.bashrc
56
+ export PATH="$PATH:$(npm config get prefix)/bin"
57
+
58
+ # Reload
59
+ source ~/.bashrc
60
+ ```
61
+
62
+ ### Manual Installation
63
+
64
+ ```bash
65
+ git clone https://github.com/happy-nut/claude-plugin-viban.git
66
+ cd claude-plugin-viban
67
+ chmod +x bin/viban scripts/check-deps.sh
68
+
69
+ # Option 1: Symlink to /usr/local/bin
70
+ ln -s "$(pwd)/bin/viban" /usr/local/bin/viban
71
+
72
+ # Option 2: Add to PATH
73
+ echo 'export PATH="$PATH:'$(pwd)'/bin"' >> ~/.zshrc
74
+ source ~/.zshrc
75
+ ```
76
+
77
+ ### Claude Code Plugin
78
+
79
+ To use viban skills in Claude Code:
80
+
81
+ ```bash
82
+ # Add as plugin marketplace
83
+ /plugin marketplace add https://github.com/happy-nut/claude-plugin-viban
84
+
85
+ # Install the plugin
86
+ /plugin install viban
87
+
88
+ # Now you can use:
89
+ /viban:assign
90
+ /viban:todo
91
+ ```
92
+
93
+ ## Usage
94
+
95
+ ### TUI (Interactive Mode)
96
+
97
+ ```bash
98
+ viban # Launch TUI
99
+ ```
100
+
101
+ **Navigation:**
102
+
103
+ | Level | Screen | Controls |
104
+ |-------|--------|----------|
105
+ | 1 | Column List | ↑↓ select, Enter to enter |
106
+ | 2 | Card List | ↑↓ select, Enter for details, `a` to add |
107
+ | 3 | Card Details | Change status, delete |
108
+
109
+ **TUI Features:**
110
+ - Navigate between backlog, in_progress, review, done columns
111
+ - View issue cards with priority and type badges
112
+ - Create new issues with rich descriptions
113
+ - Move issues between statuses
114
+ - Delete issues
115
+
116
+ ### CLI Commands
117
+
118
+ ```bash
119
+ viban list # Display kanban board
120
+ viban add "Title" "Description" P2 feat # Create new issue
121
+ viban assign [session-id] # Assign top backlog issue
122
+ viban review [id] # Move issue to review
123
+ viban done <id> # Mark issue as done
124
+ viban get <id> # Get issue details (JSON)
125
+ viban help # Show help message
126
+ ```
127
+
128
+ **Examples:**
129
+
130
+ ```bash
131
+ # Add a high-priority bug
132
+ viban add "Fix login error" "Users cannot login after password reset" P1 bug
133
+
134
+ # List all issues
135
+ viban list
136
+
137
+ # Assign first backlog issue to current session
138
+ viban assign
139
+
140
+ # Mark issue #5 as done
141
+ viban done 5
142
+
143
+ # Get issue details as JSON
144
+ viban get 3
145
+ ```
146
+
147
+ ### Claude Code Integration
148
+
149
+ viban provides two skills for automated issue management in Claude Code:
150
+
151
+ #### `/viban:assign` - Auto-resolve next issue
152
+
153
+ Automatically picks the highest priority backlog issue and executes the full resolution workflow:
154
+
155
+ 1. Fetches top backlog issue
156
+ 2. Assigns to current session
157
+ 3. Analyzes and implements the fix
158
+ 4. Marks as review/done upon completion
159
+
160
+ **Use cases:**
161
+ - Autonomous issue resolution
162
+ - Parallel agent workflows
163
+ - Pre-prioritized backlog processing
164
+
165
+ #### `/viban:todo` - Create structured issue
166
+
167
+ Analyzes a problem and creates a properly structured viban issue:
168
+
169
+ 1. Prompts for problem description
170
+ 2. Analyzes symptoms, root cause, expected behavior
171
+ 3. Creates issue with proper title, description, priority, type
172
+
173
+ **Use cases:**
174
+ - Bug reporting
175
+ - Feature requests
176
+ - Converting free-form descriptions to structured issues
177
+
178
+ ## Configuration
179
+
180
+ ### Data Location (viban.json)
181
+
182
+ viban stores issues in `viban.json` with the following priority:
183
+
184
+ | Priority | Location | When Used |
185
+ |----------|----------|-----------|
186
+ | 1 | `$VIBAN_DATA_DIR` | Explicit override via environment variable |
187
+ | 2 | `.git/` (git common dir) | In a git repository (shared across worktrees) |
188
+ | 3 | `.viban/` | Non-git directories (fallback) |
189
+
190
+ **Why Git Common Dir?**
191
+ - Shared across git worktrees (parallel work sessions)
192
+ - Survives branch switches
193
+ - Single source of truth for the repository
194
+
195
+ **For Non-Git Projects:**
196
+ ```bash
197
+ # viban will automatically create .viban/viban.json in current directory
198
+ cd /path/to/non-git-project
199
+ viban add "First issue" "Description" P2 feat
200
+ # Creates: /path/to/non-git-project/.viban/viban.json
201
+ ```
202
+
203
+ **Custom Data Directory:**
204
+ ```bash
205
+ export VIBAN_DATA_DIR="/path/to/shared/data"
206
+ viban list # Uses /path/to/shared/data/viban.json
207
+ ```
208
+
209
+ ### Auto-Initialization
210
+
211
+ viban automatically initializes when first used:
212
+ - Creates data directory if not exists
213
+ - Creates `viban.json` with empty issue list
214
+ - No manual setup required
215
+
216
+ ### Issue Status Flow
217
+
218
+ ```
219
+ backlog → in_progress → review → done
220
+ ↑ ↑
221
+ (assign) (complete)
222
+ ```
223
+
224
+ ### Priority Levels
225
+
226
+ | Priority | Description |
227
+ |----------|-------------|
228
+ | **P0** | Critical - blocks all work |
229
+ | **P1** | High - must do soon |
230
+ | **P2** | Medium - normal priority |
231
+ | **P3** | Low - nice to have |
232
+
233
+ ### Type Tags
234
+
235
+ | Type | Use Case |
236
+ |------|----------|
237
+ | **bug** | Fixing broken functionality |
238
+ | **feat** | New feature or enhancement |
239
+ | **refactor** | Code restructuring |
240
+ | **chore** | Maintenance tasks |
241
+ | **docs** | Documentation updates |
242
+ | **test** | Test additions/fixes |
243
+
244
+ ## Data Structure
245
+
246
+ Issues are stored in `viban.json`:
247
+
248
+ ```json
249
+ {
250
+ "version": 1,
251
+ "issues": [
252
+ {
253
+ "id": 1,
254
+ "title": "Fix authentication bug",
255
+ "description": "Users cannot login after password reset",
256
+ "status": "in_progress",
257
+ "priority": "P1",
258
+ "type": "bug",
259
+ "assigned_to": "session-abc123",
260
+ "created_at": "2025-01-23T10:00:00Z",
261
+ "updated_at": "2025-01-23T14:30:00Z"
262
+ }
263
+ ]
264
+ }
265
+ ```
266
+
267
+ ## Parallel Session Handling
268
+
269
+ Multiple Claude Code sessions can work simultaneously:
270
+
271
+ 1. Each session calls `/viban:assign`
272
+ 2. Session ID is recorded in `assigned_to` field
273
+ 3. Other sessions skip already-assigned issues
274
+ 4. Completion moves issue to `review` or `done`
275
+
276
+ This prevents duplicate work and enables parallel agent workflows.
277
+
278
+ ## File Structure
279
+
280
+ ```
281
+ claude-plugin-viban/
282
+ ├── .claude-plugin/
283
+ │ └── plugin.json # Plugin metadata
284
+ ├── .github/
285
+ │ └── workflows/
286
+ │ ├── ci.yml # CI testing
287
+ │ └── release.yml # NPM publishing
288
+ ├── bin/
289
+ │ └── viban # Main TUI/CLI script
290
+ ├── commands/ # Claude Code commands (deprecated)
291
+ ├── docs/
292
+ │ └── CLAUDE.md # Claude Code integration guide
293
+ ├── scripts/
294
+ │ └── check-deps.sh # Dependency checker
295
+ ├── skills/
296
+ │ ├── assign/ # /viban:assign skill
297
+ │ └── todo/ # /viban:todo skill
298
+ ├── LICENSE # MIT License
299
+ ├── package.json # NPM package config
300
+ └── README.md # This file
301
+ ```
302
+
303
+ ## Development
304
+
305
+ ### Running Tests
306
+
307
+ ```bash
308
+ # Install dependencies
309
+ brew install gum jq
310
+
311
+ # Make executable
312
+ chmod +x bin/viban scripts/check-deps.sh
313
+
314
+ # Run tests
315
+ ./bin/viban help
316
+
317
+ # Test in a git repo
318
+ cd /path/to/git/repo
319
+ viban add "Test issue" "Test description" P2 feat
320
+ viban list
321
+ ```
322
+
323
+ ### Publishing
324
+
325
+ ```bash
326
+ # Update version in package.json
327
+ npm version patch # or minor, major
328
+
329
+ # Create and push tag
330
+ git tag v1.0.1
331
+ git push origin v1.0.1
332
+
333
+ # GitHub Actions will automatically publish to npm
334
+ ```
335
+
336
+ ## Contributing
337
+
338
+ Contributions are welcome! Please:
339
+
340
+ 1. Fork the repository
341
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
342
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
343
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
344
+ 5. Open a Pull Request
345
+
346
+ ## License
347
+
348
+ MIT License - see [LICENSE](LICENSE) file for details.
349
+
350
+ ## Author
351
+
352
+ **happy-nut**
353
+
354
+ - GitHub: [@happy-nut](https://github.com/happy-nut)
355
+ - Repository: [claude-plugin-viban](https://github.com/happy-nut/claude-plugin-viban)
356
+
357
+ ## Links
358
+
359
+ - [npm package](https://www.npmjs.com/package/@happy-nut/claude-plugin-viban)
360
+ - [Documentation](https://github.com/happy-nut/claude-plugin-viban/tree/main/docs)
361
+ - [Issues](https://github.com/happy-nut/claude-plugin-viban/issues)