kanban-lite 1.0.5 → 1.0.7

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.
Files changed (48) hide show
  1. package/.kanban/backlog/1-test1.md +30 -0
  2. package/.kanban.json +42 -0
  3. package/README.md +48 -0
  4. package/dist/cli.js +1171 -964
  5. package/dist/extension.js +1301 -1147
  6. package/dist/mcp-server.js +383 -50
  7. package/dist/standalone-webview/{icons-BRNYvs1k.js → icons-BUWXsIxt.js} +44 -34
  8. package/dist/standalone-webview/icons-BUWXsIxt.js.map +1 -0
  9. package/dist/standalone-webview/index.js +39 -39
  10. package/dist/standalone-webview/index.js.map +1 -1
  11. package/dist/{webview/react-vendor-OgWxJ5nb.js → standalone-webview/react-vendor-DD6VaYq_.js} +2 -2
  12. package/dist/standalone-webview/react-vendor-DD6VaYq_.js.map +1 -0
  13. package/dist/standalone-webview/style.css +1 -1
  14. package/dist/standalone.js +986 -564
  15. package/dist/webview/{icons-BRNYvs1k.js → icons-BUWXsIxt.js} +44 -34
  16. package/dist/webview/icons-BUWXsIxt.js.map +1 -0
  17. package/dist/webview/index.js +48 -48
  18. package/dist/webview/index.js.map +1 -1
  19. package/dist/{standalone-webview/react-vendor-OgWxJ5nb.js → webview/react-vendor-DD6VaYq_.js} +2 -2
  20. package/dist/webview/react-vendor-DD6VaYq_.js.map +1 -0
  21. package/dist/webview/style.css +1 -1
  22. package/package.json +2 -2
  23. package/src/cli/index.ts +126 -0
  24. package/src/extension/KanbanPanel.ts +198 -378
  25. package/src/extension/SidebarViewProvider.ts +14 -57
  26. package/src/extension/index.ts +6 -52
  27. package/src/mcp-server/index.ts +171 -0
  28. package/src/sdk/KanbanSDK.ts +146 -50
  29. package/src/sdk/__tests__/KanbanSDK.test.ts +105 -27
  30. package/src/sdk/__tests__/parser.test.ts +169 -1
  31. package/src/sdk/fileUtils.ts +6 -0
  32. package/src/sdk/index.ts +5 -2
  33. package/src/sdk/parser.ts +57 -3
  34. package/src/shared/config.ts +3 -2
  35. package/src/shared/types.ts +12 -1
  36. package/src/standalone/server.ts +288 -334
  37. package/src/standalone/webhooks.ts +3 -0
  38. package/src/webview/App.tsx +22 -1
  39. package/src/webview/assets/main.css +105 -0
  40. package/src/webview/components/CommentsSection.tsx +242 -0
  41. package/src/webview/components/FeatureEditor.tsx +10 -2
  42. package/src/webview/components/MarkdownEditor.tsx +50 -5
  43. package/dist/standalone-webview/icons-BRNYvs1k.js.map +0 -1
  44. package/dist/standalone-webview/react-vendor-OgWxJ5nb.js.map +0 -1
  45. package/dist/webview/icons-BRNYvs1k.js.map +0 -1
  46. package/dist/webview/react-vendor-OgWxJ5nb.js.map +0 -1
  47. package/src/extension/featureFileUtils.ts +0 -82
  48. package/src/standalone/fileUtils.ts +0 -70
@@ -0,0 +1,30 @@
1
+ ---
2
+ id: "1"
3
+ status: "backlog"
4
+ priority: "medium"
5
+ assignee: null
6
+ dueDate: null
7
+ created: "2026-02-21T22:15:35.146Z"
8
+ modified: "2026-02-22T02:19:31.446Z"
9
+ completedAt: null
10
+ labels: []
11
+ attachments: []
12
+ order: "a0"
13
+ ---
14
+ # test1
15
+
16
+ ---
17
+ comment: true
18
+ id: "c1"
19
+ author: "test"
20
+ created: "2026-02-21T22:27:48.359Z"
21
+ ---
22
+ ljdslfjdl
23
+
24
+ ---
25
+ comment: true
26
+ id: "c2"
27
+ author: "zzz"
28
+ created: "2026-02-22T02:19:31.446Z"
29
+ ---
30
+ aa **bb**
package/.kanban.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "featuresDirectory": ".kanban",
3
+ "defaultPriority": "medium",
4
+ "defaultStatus": "backlog",
5
+ "columns": [
6
+ {
7
+ "id": "backlog",
8
+ "name": "Backlog",
9
+ "color": "#6b7280"
10
+ },
11
+ {
12
+ "id": "todo",
13
+ "name": "To Do",
14
+ "color": "#3b82f6"
15
+ },
16
+ {
17
+ "id": "in-progress",
18
+ "name": "In Progress",
19
+ "color": "#f59e0b"
20
+ },
21
+ {
22
+ "id": "review",
23
+ "name": "Review",
24
+ "color": "#8b5cf6"
25
+ },
26
+ {
27
+ "id": "done",
28
+ "name": "Done",
29
+ "color": "#22c55e"
30
+ }
31
+ ],
32
+ "aiAgent": "claude",
33
+ "nextCardId": 2,
34
+ "showPriorityBadges": true,
35
+ "showAssignee": true,
36
+ "showDueDate": true,
37
+ "showLabels": true,
38
+ "showBuildWithAI": true,
39
+ "showFileName": false,
40
+ "compactMode": false,
41
+ "markdownEditorMode": false
42
+ }
package/README.md CHANGED
@@ -57,6 +57,7 @@ kl add --title "My first task" --priority high
57
57
  - **Due dates**: Smart formatting (Overdue, Today, Tomorrow, "5d", etc.)
58
58
  - **Labels**: Tag features with multiple labels
59
59
  - **Attachments**: Attach files to cards
60
+ - **Comments**: Add discussion threads to cards (stored in the same markdown file)
60
61
  - **Auto-generated IDs**: Based on title and timestamp (e.g., `implement-dark-mode-2026-01-29`)
61
62
  - **Timestamps**: Created and modified dates tracked automatically
62
63
 
@@ -109,6 +110,13 @@ kl attach implement-search # List attachments
109
110
  kl attach add implement-search ./screenshot.png # Attach a file
110
111
  kl attach remove implement-search screenshot.png # Remove attachment
111
112
 
113
+ # Comments
114
+ kl comment implement-search # List comments
115
+ kl comment add implement-search --author alice \
116
+ --body "Looks good, needs tests" # Add a comment
117
+ kl comment edit implement-search c1 --body "Updated" # Edit a comment
118
+ kl comment remove implement-search c1 # Remove a comment
119
+
112
120
  # Manage columns
113
121
  kl columns # List columns
114
122
  kl columns add --id testing --name Testing # Add column
@@ -204,6 +212,15 @@ All responses follow the format `{ "ok": true, "data": ... }` or `{ "ok": false,
204
212
  |--------|----------|-------------|
205
213
  | `GET` | `/api/workspace` | Get workspace root path |
206
214
 
215
+ #### Comments
216
+
217
+ | Method | Endpoint | Description |
218
+ |--------|----------|-------------|
219
+ | `GET` | `/api/tasks/:id/comments` | List comments on a task |
220
+ | `POST` | `/api/tasks/:id/comments` | Add a comment (`{ author, content }`) |
221
+ | `PUT` | `/api/tasks/:id/comments/:commentId` | Update a comment (`{ content }`) |
222
+ | `DELETE` | `/api/tasks/:id/comments/:commentId` | Delete a comment |
223
+
207
224
  #### Attachments
208
225
 
209
226
  | Method | Endpoint | Description |
@@ -232,6 +249,9 @@ Register webhooks to receive HTTP POST notifications when tasks or columns chang
232
249
  | `task.updated` | Task properties are changed |
233
250
  | `task.moved` | Task is moved to a different column |
234
251
  | `task.deleted` | A task is deleted |
252
+ | `comment.created` | A comment is added to a task |
253
+ | `comment.updated` | A comment is edited |
254
+ | `comment.deleted` | A comment is removed |
235
255
  | `column.created` | A new column is added |
236
256
  | `column.updated` | Column name or color is changed |
237
257
  | `column.deleted` | A column is removed |
@@ -307,6 +327,10 @@ kanban-mcp --dir .kanban
307
327
  | `list_attachments` | List attachments on a card |
308
328
  | `add_attachment` | Attach a file to a card (copies to card directory) |
309
329
  | `remove_attachment` | Remove an attachment reference from a card |
330
+ | `list_comments` | List comments on a card |
331
+ | `add_comment` | Add a comment to a card |
332
+ | `update_comment` | Edit a comment's content |
333
+ | `delete_comment` | Remove a comment from a card |
310
334
  | `list_columns` | List all board columns |
311
335
  | `add_column` | Add a new column to the board |
312
336
  | `update_column` | Update a column's name or color |
@@ -347,6 +371,12 @@ await sdk.updateCard('card-id', { assignee: 'alice' })
347
371
  // Delete
348
372
  await sdk.deleteCard('card-id')
349
373
 
374
+ // Comments
375
+ await sdk.addComment('card-id', 'alice', 'Looks good!')
376
+ await sdk.updateComment('card-id', 'c1', 'Updated comment')
377
+ await sdk.deleteComment('card-id', 'c1')
378
+ const comments = await sdk.listComments('card-id')
379
+
350
380
  // Attachments
351
381
  await sdk.addAttachment('card-id', '/path/to/file.png')
352
382
  await sdk.removeAttachment('card-id', 'file.png')
@@ -379,8 +409,26 @@ order: 0
379
409
  # Implement dark mode toggle
380
410
 
381
411
  Add a toggle in settings to switch between light and dark themes...
412
+
413
+ ---
414
+ comment: true
415
+ id: "c1"
416
+ author: "alice"
417
+ created: "2026-01-25T15:00:00.000Z"
418
+ ---
419
+ Should we support system preference detection too?
420
+
421
+ ---
422
+ comment: true
423
+ id: "c2"
424
+ author: "john"
425
+ created: "2026-01-25T15:30:00.000Z"
426
+ ---
427
+ Yes, good idea. I'll add that as a follow-up.
382
428
  ```
383
429
 
430
+ Comments are stored as additional YAML documents in the same file, keeping everything in one place and version-controllable.
431
+
384
432
  ## Configuration
385
433
 
386
434
  Board configuration is stored in `.kanban.json` at your project root: