kanban-lite 1.0.13 → 1.0.16
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/README.md +75 -13
- package/dist/cli.js +1027 -286
- package/dist/extension.js +915 -249
- package/dist/mcp-server.js +767 -35
- package/dist/sdk/index.cjs +636 -7
- package/dist/sdk/index.mjs +635 -7
- package/dist/sdk/sdk/KanbanSDK.d.ts +608 -2
- package/dist/sdk/sdk/fileUtils.d.ts +49 -0
- package/dist/sdk/sdk/index.d.ts +2 -1
- package/dist/sdk/sdk/parser.d.ts +23 -0
- package/dist/sdk/sdk/types.d.ts +61 -1
- package/dist/sdk/shared/config.d.ts +176 -6
- package/dist/sdk/shared/types.d.ts +173 -13
- package/dist/standalone-webview/icons-BUWXsIxt.js.map +1 -1
- package/dist/standalone-webview/index.js +38 -38
- package/dist/standalone-webview/index.js.map +1 -1
- package/dist/standalone-webview/react-vendor-DD6VaYq_.js.map +1 -1
- package/dist/standalone-webview/style.css +1 -1
- package/dist/standalone.js +595 -1
- package/dist/webview/icons-BUWXsIxt.js.map +1 -1
- package/dist/webview/index.js +38 -38
- package/dist/webview/index.js.map +1 -1
- package/dist/webview/react-vendor-DD6VaYq_.js.map +1 -1
- package/dist/webview/style.css +1 -1
- package/docs/api.md +635 -0
- package/docs/plans/2026-02-24-move-card-to-board-design.md +433 -0
- package/docs/sdk.md +1251 -380
- package/docs/webhooks.md +489 -0
- package/package.json +7 -1
- package/scripts/generate-api-docs.ts +665 -0
- package/scripts/generate-sdk-docs.ts +249 -0
- package/scripts/generate-webhooks-docs.ts +485 -0
- package/src/cli/index.ts +101 -4
- package/src/extension/KanbanPanel.ts +21 -0
- package/src/mcp-server/index.ts +37 -4
- package/src/sdk/KanbanSDK.ts +647 -4
- package/src/sdk/fileUtils.ts +49 -0
- package/src/sdk/index.ts +2 -1
- package/src/sdk/parser.ts +23 -0
- package/src/sdk/types.ts +84 -1
- package/src/shared/config.ts +177 -9
- package/src/shared/types.ts +165 -13
- package/src/standalone/__tests__/webhooks.test.ts +10 -14
- package/src/standalone/server.ts +34 -22
- package/src/standalone/webhooks.ts +134 -39
- package/src/webview/App.tsx +12 -0
- package/src/webview/components/FeatureEditor.tsx +122 -20
package/README.md
CHANGED
|
@@ -37,7 +37,8 @@ kl add --title "My first task" --priority high
|
|
|
37
37
|
|
|
38
38
|
### Web UI
|
|
39
39
|
|
|
40
|
-
- **
|
|
40
|
+
- **Multi-board support**: Create multiple boards with independent columns and settings
|
|
41
|
+
- **5-column workflow**: Backlog, To Do, In Progress, Review, Done (fully customizable per board)
|
|
41
42
|
- **Drag-and-drop**: Move cards between columns and reorder within columns
|
|
42
43
|
- **Split-view editor**: Board on left, inline markdown editor on right
|
|
43
44
|
- **Layout toggle**: Switch between horizontal and vertical board layouts
|
|
@@ -117,6 +118,18 @@ kl comment add implement-search --author alice \
|
|
|
117
118
|
kl comment edit implement-search c1 --body "Updated" # Edit a comment
|
|
118
119
|
kl comment remove implement-search c1 # Remove a comment
|
|
119
120
|
|
|
121
|
+
# Boards
|
|
122
|
+
kl boards # List boards
|
|
123
|
+
kl boards add --id bugs --name "Bug Tracker" # Create a board
|
|
124
|
+
kl boards show bugs # Show board details
|
|
125
|
+
kl boards remove bugs # Remove an empty board
|
|
126
|
+
kl boards default bugs # Set default board
|
|
127
|
+
kl transfer card-42 --from default --to bugs # Transfer card between boards
|
|
128
|
+
|
|
129
|
+
# Target a specific board (works with most commands)
|
|
130
|
+
kl list --board bugs # List cards in a board
|
|
131
|
+
kl add --title "Login bug" --board bugs # Create card in a board
|
|
132
|
+
|
|
120
133
|
# Manage columns
|
|
121
134
|
kl columns # List columns
|
|
122
135
|
kl columns add --id testing --name Testing # Add column
|
|
@@ -143,9 +156,15 @@ kl serve --port 8080 --no-browser # Custom port, no auto-o
|
|
|
143
156
|
|
|
144
157
|
# Initialize features directory
|
|
145
158
|
kl init
|
|
159
|
+
|
|
160
|
+
# Other
|
|
161
|
+
kl version # Print version
|
|
162
|
+
kl help # Show help
|
|
163
|
+
kl help sdk # Show SDK documentation
|
|
164
|
+
kl help api # Show REST API documentation
|
|
146
165
|
```
|
|
147
166
|
|
|
148
|
-
Use `--json` for machine-readable output. Use `--dir <path>` to specify a custom features directory.
|
|
167
|
+
Use `--json` for machine-readable output. Use `--dir <path>` to specify a custom features directory. Use `--board <id>` to target a specific board.
|
|
149
168
|
|
|
150
169
|
## Standalone Server
|
|
151
170
|
|
|
@@ -171,6 +190,18 @@ The server provides:
|
|
|
171
190
|
|
|
172
191
|
All responses follow the format `{ "ok": true, "data": ... }` or `{ "ok": false, "error": "message" }`. CORS is enabled for all origins.
|
|
173
192
|
|
|
193
|
+
> See the [full REST API documentation](docs/api.md) for detailed endpoint reference, request/response examples, and board-scoped routes.
|
|
194
|
+
|
|
195
|
+
#### Boards
|
|
196
|
+
|
|
197
|
+
| Method | Endpoint | Description |
|
|
198
|
+
|--------|----------|-------------|
|
|
199
|
+
| `GET` | `/api/boards` | List all boards |
|
|
200
|
+
| `POST` | `/api/boards` | Create a board |
|
|
201
|
+
| `GET` | `/api/boards/:boardId` | Get board configuration |
|
|
202
|
+
| `PUT` | `/api/boards/:boardId` | Update board configuration |
|
|
203
|
+
| `DELETE` | `/api/boards/:boardId` | Delete an empty board |
|
|
204
|
+
|
|
174
205
|
#### Tasks
|
|
175
206
|
|
|
176
207
|
| Method | Endpoint | Description |
|
|
@@ -182,6 +213,14 @@ All responses follow the format `{ "ok": true, "data": ... }` or `{ "ok": false,
|
|
|
182
213
|
| `PATCH` | `/api/tasks/:id/move` | Move task to column/position |
|
|
183
214
|
| `DELETE` | `/api/tasks/:id` | Delete a task |
|
|
184
215
|
|
|
216
|
+
Board-scoped equivalents are available at `/api/boards/:boardId/tasks/...`.
|
|
217
|
+
|
|
218
|
+
#### Transfer
|
|
219
|
+
|
|
220
|
+
| Method | Endpoint | Description |
|
|
221
|
+
|--------|----------|-------------|
|
|
222
|
+
| `POST` | `/api/boards/:boardId/tasks/:id/transfer` | Transfer a task to another board |
|
|
223
|
+
|
|
185
224
|
#### Columns
|
|
186
225
|
|
|
187
226
|
| Method | Endpoint | Description |
|
|
@@ -318,6 +357,11 @@ kanban-mcp --dir .kanban
|
|
|
318
357
|
|
|
319
358
|
| Tool | Description |
|
|
320
359
|
|------|-------------|
|
|
360
|
+
| `list_boards` | List all boards in the workspace |
|
|
361
|
+
| `create_board` | Create a new board with optional custom columns |
|
|
362
|
+
| `get_board` | Get board configuration and details |
|
|
363
|
+
| `delete_board` | Delete an empty board |
|
|
364
|
+
| `transfer_card` | Move a card from one board to another |
|
|
321
365
|
| `list_cards` | List/filter cards by status, priority, assignee, or label |
|
|
322
366
|
| `get_card` | Get full details of a card (supports partial ID matching) |
|
|
323
367
|
| `create_card` | Create a new card with title, body, status, priority, etc. |
|
|
@@ -342,6 +386,8 @@ kanban-mcp --dir .kanban
|
|
|
342
386
|
| `remove_webhook` | Remove a webhook |
|
|
343
387
|
| `get_workspace_info` | Get workspace root path and features directory |
|
|
344
388
|
|
|
389
|
+
All card, column, comment, and attachment tools accept an optional `boardId` parameter to target a specific board.
|
|
390
|
+
|
|
345
391
|
## SDK
|
|
346
392
|
|
|
347
393
|
Use the kanban SDK programmatically in your own tools. The `KanbanSDK` class is the single source of truth — the CLI, MCP server, VSCode extension, and standalone server all delegate to it.
|
|
@@ -351,7 +397,13 @@ import { KanbanSDK } from 'kanban-lite/sdk'
|
|
|
351
397
|
|
|
352
398
|
const sdk = new KanbanSDK('/path/to/.kanban')
|
|
353
399
|
|
|
354
|
-
//
|
|
400
|
+
// Boards
|
|
401
|
+
const boards = sdk.listBoards()
|
|
402
|
+
sdk.createBoard('bugs', 'Bug Tracker', { description: 'Track production bugs' })
|
|
403
|
+
await sdk.transferCard('42', 'default', 'bugs')
|
|
404
|
+
await sdk.deleteBoard('bugs')
|
|
405
|
+
|
|
406
|
+
// Cards (all accept optional boardId as last argument)
|
|
355
407
|
const cards = await sdk.listCards()
|
|
356
408
|
const card = await sdk.createCard({ content: '# My Task', status: 'todo', priority: 'high' })
|
|
357
409
|
await sdk.moveCard(card.id, 'in-progress')
|
|
@@ -382,7 +434,7 @@ See the [full SDK documentation](docs/sdk.md) for detailed API reference, types,
|
|
|
382
434
|
|
|
383
435
|
## Data Storage
|
|
384
436
|
|
|
385
|
-
Cards are stored as markdown files with YAML frontmatter in `.kanban
|
|
437
|
+
Cards are stored as markdown files with YAML frontmatter in `.kanban/boards/<boardId>/` within your project:
|
|
386
438
|
|
|
387
439
|
```markdown
|
|
388
440
|
---
|
|
@@ -422,17 +474,27 @@ Comments are stored as additional YAML documents in the same file, keeping every
|
|
|
422
474
|
|
|
423
475
|
## Configuration
|
|
424
476
|
|
|
425
|
-
Board configuration is stored in `.kanban.json` at your project root:
|
|
477
|
+
Board configuration is stored in `.kanban.json` at your project root. It supports multiple boards, each with their own columns and settings:
|
|
426
478
|
|
|
427
479
|
```json
|
|
428
480
|
{
|
|
429
|
-
"
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
481
|
+
"version": 2,
|
|
482
|
+
"defaultBoard": "default",
|
|
483
|
+
"boards": {
|
|
484
|
+
"default": {
|
|
485
|
+
"name": "Default Board",
|
|
486
|
+
"columns": [
|
|
487
|
+
{ "id": "backlog", "name": "Backlog", "color": "#6b7280" },
|
|
488
|
+
{ "id": "todo", "name": "To Do", "color": "#3b82f6" },
|
|
489
|
+
{ "id": "in-progress", "name": "In Progress", "color": "#f59e0b" },
|
|
490
|
+
{ "id": "review", "name": "Review", "color": "#8b5cf6" },
|
|
491
|
+
{ "id": "done", "name": "Done", "color": "#22c55e" }
|
|
492
|
+
],
|
|
493
|
+
"nextCardId": 1,
|
|
494
|
+
"defaultStatus": "backlog",
|
|
495
|
+
"defaultPriority": "medium"
|
|
496
|
+
}
|
|
497
|
+
},
|
|
436
498
|
"showPriorityBadges": true,
|
|
437
499
|
"showAssignee": true,
|
|
438
500
|
"showDueDate": true,
|
|
@@ -441,7 +503,7 @@ Board configuration is stored in `.kanban.json` at your project root:
|
|
|
441
503
|
}
|
|
442
504
|
```
|
|
443
505
|
|
|
444
|
-
Columns are fully customizable — add, remove, rename, or recolor them from the web UI, CLI, or REST API.
|
|
506
|
+
Columns are fully customizable per board — add, remove, rename, or recolor them from the web UI, CLI, or REST API.
|
|
445
507
|
|
|
446
508
|
## AI Agent Integration
|
|
447
509
|
- **Claude Code**: Default, Plan, Auto-edit, and Full Auto modes
|