@cwim/kanban 1.1.0 → 1.1.2
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 +80 -13
- package/dashboard/dist/index.html +1 -1
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ CWIM Kanban is a complementary package to CWIM (Context Window Intelligence Mana
|
|
|
9
9
|
- **MCP Server** — Exposes Kanban operations as Claude Code tools (`task_create`, `task_move`, `task_list`, etc.)
|
|
10
10
|
- **Web Dashboard** — A clean, dark-themed Kanban board served locally at `http://localhost:3456`
|
|
11
11
|
- **CLI** — Full command-line interface for managing tasks outside of Claude
|
|
12
|
-
- **Local JSON Storage** —
|
|
12
|
+
- **Local JSON Storage** — Per-session task storage in `~/.kanban/sessions/`, no cloud or database needed
|
|
13
13
|
|
|
14
14
|
As Claude works through complex multi-step tasks, it can create cards, move them across columns, and you watch progress unfold in real time on the board.
|
|
15
15
|
|
|
@@ -50,11 +50,41 @@ Once connected, Claude can use these tools during your sessions:
|
|
|
50
50
|
| `task_update` | Edit task title, description, tags |
|
|
51
51
|
| `task_move` | Move a task to another column |
|
|
52
52
|
| `task_delete` | Remove a task |
|
|
53
|
-
| `task_list` | List all tasks (optionally filtered) |
|
|
53
|
+
| `task_list` | List all tasks in current session (optionally filtered) |
|
|
54
54
|
| `task_get` | Show details of a specific task |
|
|
55
|
+
| `session_list` | List all available sessions |
|
|
56
|
+
| `session_switch` | Switch to a different session |
|
|
55
57
|
|
|
56
58
|
Claude will automatically detect the tools and use them to track progress on complex tasks. Tasks created via MCP are tagged with source "claude" so you can distinguish them from manually created ones.
|
|
57
59
|
|
|
60
|
+
## Session Management
|
|
61
|
+
|
|
62
|
+
CWIM Kanban supports **full session isolation** — each Claude Code project gets its own Kanban board:
|
|
63
|
+
|
|
64
|
+
- Sessions are auto-detected from `~/.claude/projects/`
|
|
65
|
+
- Each session has isolated task storage
|
|
66
|
+
- Switch between sessions via dashboard dropdown, CLI, or MCP
|
|
67
|
+
- "Independent Mode" available when no Claude session is active
|
|
68
|
+
|
|
69
|
+
### Switching Sessions
|
|
70
|
+
|
|
71
|
+
**Dashboard:** Click the session name in the header center to open the dropdown selector.
|
|
72
|
+
|
|
73
|
+
**CLI:**
|
|
74
|
+
```bash
|
|
75
|
+
# List all available sessions
|
|
76
|
+
kanban sessions
|
|
77
|
+
|
|
78
|
+
# Switch to a different session
|
|
79
|
+
kanban switch my-project
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**MCP:**
|
|
83
|
+
```
|
|
84
|
+
session_list # Show available sessions
|
|
85
|
+
session_switch # Change active session
|
|
86
|
+
```
|
|
87
|
+
|
|
58
88
|
## CLI Commands
|
|
59
89
|
|
|
60
90
|
### `kanban` (default) — Launch Dashboard
|
|
@@ -77,6 +107,20 @@ kanban --no-open
|
|
|
77
107
|
kanban mcp
|
|
78
108
|
```
|
|
79
109
|
|
|
110
|
+
### `kanban sessions` — List Sessions
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Show all available sessions with active indicator
|
|
114
|
+
kanban sessions
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### `kanban switch` — Change Session
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Switch to a specific session
|
|
121
|
+
kanban switch my-project
|
|
122
|
+
```
|
|
123
|
+
|
|
80
124
|
### `kanban add` — Create Task
|
|
81
125
|
|
|
82
126
|
```bash
|
|
@@ -93,7 +137,7 @@ kanban add "Write tests" -s in-progress
|
|
|
93
137
|
### `kanban list` — List Tasks
|
|
94
138
|
|
|
95
139
|
```bash
|
|
96
|
-
# All tasks
|
|
140
|
+
# All tasks in current session
|
|
97
141
|
kanban list
|
|
98
142
|
|
|
99
143
|
# Filter by status
|
|
@@ -139,7 +183,7 @@ kanban remove tf-abc123
|
|
|
139
183
|
### `kanban init` — Initialize Storage
|
|
140
184
|
|
|
141
185
|
```bash
|
|
142
|
-
# Creates ~/.kanban/ directory
|
|
186
|
+
# Creates ~/.kanban/ directory structure
|
|
143
187
|
kanban init
|
|
144
188
|
```
|
|
145
189
|
|
|
@@ -148,7 +192,8 @@ kanban init
|
|
|
148
192
|
- **Real-time updates** — Board refreshes every 2 seconds, showing changes as Claude moves tasks
|
|
149
193
|
- **4 columns** — To Do, In Progress, Done, Blocked
|
|
150
194
|
- **Visual indicators** — Color-coded borders, pulsing LIVE badge, flash animation on task moves
|
|
151
|
-
- **Session
|
|
195
|
+
- **Session switching** — Dropdown in header to browse and switch between Claude projects
|
|
196
|
+
- **Session isolation** — Each project has its own independent task board
|
|
152
197
|
- **Tag support** — Tasks show tags as badges for quick categorization
|
|
153
198
|
- **Source tracking** — Distinguishes between Claude-created and manually-created tasks
|
|
154
199
|
- **Keyboard shortcuts** — `r` to refresh, `1-4` to filter columns
|
|
@@ -156,7 +201,21 @@ kanban init
|
|
|
156
201
|
|
|
157
202
|
## Data Storage
|
|
158
203
|
|
|
159
|
-
All data is stored locally in `~/.kanban/tasks.json`:
|
|
204
|
+
All data is stored locally in `~/.kanban/sessions/{session-name}/tasks.json`:
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
~/.kanban/
|
|
208
|
+
├── sessions/
|
|
209
|
+
│ ├── my-project/
|
|
210
|
+
│ │ └── tasks.json
|
|
211
|
+
│ ├── another-project/
|
|
212
|
+
│ │ └── tasks.json
|
|
213
|
+
│ └── independent/
|
|
214
|
+
│ └── tasks.json
|
|
215
|
+
└── active-session.json
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Each session's tasks.json:
|
|
160
219
|
|
|
161
220
|
```json
|
|
162
221
|
{
|
|
@@ -183,7 +242,7 @@ All data is stored locally in `~/.kanban/tasks.json`:
|
|
|
183
242
|
|
|
184
243
|
- **Local-first** — No cloud services, no accounts, no network required
|
|
185
244
|
- **Human-readable** — JSON format you can edit directly if needed
|
|
186
|
-
- **Session-aware** —
|
|
245
|
+
- **Session-aware** — Each Claude Code project gets its own isolated board
|
|
187
246
|
- **Portable** — Back up or version-control your `~/.kanban/` directory
|
|
188
247
|
|
|
189
248
|
## Programmatic API
|
|
@@ -191,9 +250,9 @@ All data is stored locally in `~/.kanban/tasks.json`:
|
|
|
191
250
|
Core functions are exported for custom integrations:
|
|
192
251
|
|
|
193
252
|
```typescript
|
|
194
|
-
import { createTask, listTasks, moveTask, getAllData } from '@cwim/kanban';
|
|
253
|
+
import { createTask, listTasks, moveTask, getAllData, listAllSessions, setActiveSession } from '@cwim/kanban';
|
|
195
254
|
|
|
196
|
-
// Create a task
|
|
255
|
+
// Create a task in current session
|
|
197
256
|
const task = await createTask({
|
|
198
257
|
title: 'My task',
|
|
199
258
|
description: 'Optional details',
|
|
@@ -202,7 +261,13 @@ const task = await createTask({
|
|
|
202
261
|
source: 'manual'
|
|
203
262
|
});
|
|
204
263
|
|
|
205
|
-
//
|
|
264
|
+
// List all available sessions
|
|
265
|
+
const sessions = await listAllSessions();
|
|
266
|
+
|
|
267
|
+
// Switch active session
|
|
268
|
+
await setActiveSession('my-project');
|
|
269
|
+
|
|
270
|
+
// Get all data for current session
|
|
206
271
|
const data = await getAllData();
|
|
207
272
|
console.log(data.tasks);
|
|
208
273
|
```
|
|
@@ -212,15 +277,17 @@ See `src/index.ts` for all available exports.
|
|
|
212
277
|
## Architecture
|
|
213
278
|
|
|
214
279
|
```
|
|
215
|
-
Claude Code → MCP Server (stdio) → tasks.json ← HTTP Server ← Dashboard UI
|
|
280
|
+
Claude Code → MCP Server (stdio) → session tasks.json ← HTTP Server ← Dashboard UI
|
|
216
281
|
↑ ↑
|
|
217
282
|
task_create, move, etc. polling /api/tasks
|
|
283
|
+
+ /api/sessions
|
|
218
284
|
```
|
|
219
285
|
|
|
220
286
|
- **MCP Server** and **HTTP Server** are separate processes
|
|
221
|
-
- They communicate through
|
|
222
|
-
- The dashboard polls `/api/tasks` every 2 seconds
|
|
287
|
+
- They communicate through per-session JSON files, not sockets or IPC
|
|
288
|
+
- The dashboard polls `/api/tasks` and `/api/sessions` every 2 seconds
|
|
223
289
|
- All mutations go through the MCP tools or CLI commands
|
|
290
|
+
- Session switching is persisted in `~/.kanban/active-session.json`
|
|
224
291
|
|
|
225
292
|
## Requirements
|
|
226
293
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
-
<title>
|
|
6
|
+
<title>Kanban</title>
|
|
7
7
|
<script type="module" crossorigin src="/assets/index-BjmAGTF2.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-CfRsoq4J.css">
|
|
9
9
|
</head>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cwim/kanban",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Minimal Kanban task tracking with MCP integration for Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -32,6 +32,9 @@
|
|
|
32
32
|
"cwim"
|
|
33
33
|
],
|
|
34
34
|
"author": "Chiheb Nabil",
|
|
35
|
+
"repository": {
|
|
36
|
+
"url": "https://github.com/cwimhq/kanban.git"
|
|
37
|
+
},
|
|
35
38
|
"license": "MIT",
|
|
36
39
|
"dependencies": {
|
|
37
40
|
"@modelcontextprotocol/sdk": "^1.29.0",
|