claude-code-kanban 1.9.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.
- package/LICENSE +21 -0
- package/README.md +144 -0
- package/package.json +45 -0
- package/public/index.html +3130 -0
- package/server.js +527 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025
|
|
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,144 @@
|
|
|
1
|
+
# Claude Task Viewer
|
|
2
|
+
|
|
3
|
+
A real-time Kanban board for **observing** Claude Code tasks. See what Claude is working on, track dependencies between tasks, and manage task cleanup and priority.
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## Why Use This?
|
|
10
|
+
|
|
11
|
+
When Claude Code breaks down complex work into tasks, you get visibility into its thinking — but only in the terminal. Claude Task Viewer gives you a persistent, visual dashboard to:
|
|
12
|
+
|
|
13
|
+
- **See the big picture** — All your sessions and tasks in one place
|
|
14
|
+
- **Know what's happening now** — Live Updates show exactly what Claude is doing across all sessions
|
|
15
|
+
- **Understand task dependencies** — See which tasks are blocked and what's holding them up
|
|
16
|
+
- **Clean up completed work** — Delete tasks when no longer needed (with dependency checking)
|
|
17
|
+
|
|
18
|
+
## Key Features
|
|
19
|
+
|
|
20
|
+
### Observation-Focused Design
|
|
21
|
+
Claude Code controls task state — the viewer shows you what's happening:
|
|
22
|
+
- **Real-time status** — See tasks move through Pending → In Progress → Completed as Claude works
|
|
23
|
+
- **Active session detection** — Indicators show which sessions have in-progress tasks
|
|
24
|
+
- **Task dependencies** — Visualise blockedBy/blocks relationships to understand the critical path
|
|
25
|
+
- **Live activity feed** — Real-time stream of all in-progress tasks across every session
|
|
26
|
+
|
|
27
|
+
### Cleanup Operations
|
|
28
|
+
- **Delete tasks** — Remove tasks with the delete button or press `D` (includes safety checks for dependencies)
|
|
29
|
+
- **Bulk delete** — Delete all tasks in a session at once
|
|
30
|
+
|
|
31
|
+
### Session Management
|
|
32
|
+
View and organize your Claude Code sessions:
|
|
33
|
+
- **Session discovery** — Automatically finds all sessions in `~/.claude/tasks/` and `~/.claude/projects/`
|
|
34
|
+
- **View project paths** — See the full filesystem path for each project
|
|
35
|
+
- **Fuzzy search** — Search across session names, task descriptions, and project paths with instant filtering
|
|
36
|
+
- **Session limits** — Filter to show only active sessions or a specific number of recent sessions
|
|
37
|
+
|
|
38
|
+
### Keyboard Shortcuts
|
|
39
|
+
- `?` — Show help with all keyboard shortcuts
|
|
40
|
+
- `D` — Delete the currently selected task (with confirmation and dependency checking)
|
|
41
|
+
- `Esc` — Close detail panel or modals
|
|
42
|
+
|
|
43
|
+
## Installation
|
|
44
|
+
|
|
45
|
+
### Quick start
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npx claude-task-viewer
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Open http://localhost:3456
|
|
52
|
+
|
|
53
|
+
### From source
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
git clone https://github.com/L1AD/claude-task-viewer.git
|
|
57
|
+
cd claude-task-viewer
|
|
58
|
+
npm install
|
|
59
|
+
npm start
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## How It Works
|
|
63
|
+
|
|
64
|
+
Claude Code stores tasks in `~/.claude/tasks/`. Each session has its own folder:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
~/.claude/tasks/
|
|
68
|
+
└── {session-uuid}/
|
|
69
|
+
├── 1.json
|
|
70
|
+
├── 2.json
|
|
71
|
+
└── ...
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
The viewer watches this directory and pushes updates via Server-Sent Events. Changes appear instantly — no polling, no refresh needed.
|
|
75
|
+
|
|
76
|
+
## Task Structure
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"id": "1",
|
|
81
|
+
"subject": "Implement user authentication",
|
|
82
|
+
"description": "Add JWT-based auth with refresh tokens",
|
|
83
|
+
"activeForm": "Setting up auth middleware",
|
|
84
|
+
"status": "in_progress",
|
|
85
|
+
"blocks": ["2", "3"],
|
|
86
|
+
"blockedBy": []
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
- `activeForm` — What Claude is doing right now (shown in Live Updates)
|
|
91
|
+
- `blocks` / `blockedBy` — Task dependency relationships
|
|
92
|
+
|
|
93
|
+
## Configuration
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Custom port
|
|
97
|
+
PORT=8080 npx claude-task-viewer
|
|
98
|
+
|
|
99
|
+
# Open browser automatically
|
|
100
|
+
npx claude-task-viewer --open
|
|
101
|
+
|
|
102
|
+
# Use a different Claude config directory (for multiple accounts)
|
|
103
|
+
npx claude-task-viewer --dir=~/.claude-work
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## API
|
|
107
|
+
|
|
108
|
+
| Endpoint | Method | Description |
|
|
109
|
+
|----------|--------|-------------|
|
|
110
|
+
| `/api/sessions` | GET | List all sessions with task counts |
|
|
111
|
+
| `/api/sessions/:id` | GET | Get all tasks for a session |
|
|
112
|
+
| `/api/tasks/all` | GET | Get all tasks across all sessions |
|
|
113
|
+
| `/api/tasks/:session/:task` | DELETE | Delete a task (checks dependencies) |
|
|
114
|
+
| `/api/tasks/:session/:task/note` | POST | Add a note to a task |
|
|
115
|
+
| `/api/events` | GET | SSE stream for live updates |
|
|
116
|
+
|
|
117
|
+
## Design Philosophy
|
|
118
|
+
|
|
119
|
+
**Observation over Control**: Claude Code owns task state. The task viewer's job is to show you what Claude is doing, not to direct it. This keeps the viewer in sync with reality and prevents confusion about whether a task's status reflects what Claude is actually doing or just human intent.
|
|
120
|
+
|
|
121
|
+
**Limited interaction:** You can delete tasks and add notes, but task status, subject, and description reflect Claude's actual work and can only be changed by Claude Code itself.
|
|
122
|
+
|
|
123
|
+
## Roadmap
|
|
124
|
+
|
|
125
|
+
### ✅ Completed
|
|
126
|
+
- **Real-time observation** — Live updates feed showing what Claude is doing across all sessions
|
|
127
|
+
- **Task dependencies** — Visualise blockedBy/blocks relationships
|
|
128
|
+
- **Task deletion** — Delete tasks with dependency checking
|
|
129
|
+
- **Keyboard shortcuts** — ?, D, Esc for quick actions
|
|
130
|
+
- **Session discovery** — Automatic detection of all Claude Code sessions
|
|
131
|
+
- **Search** — Search across sessions and tasks
|
|
132
|
+
|
|
133
|
+
### 🚧 Planned
|
|
134
|
+
- **Enhanced search & filter** — Filter by status, dependencies, date ranges
|
|
135
|
+
- **Session grouping** — Group sessions by project or time period
|
|
136
|
+
- **Task timeline** — See when tasks were created and completed
|
|
137
|
+
- **Export** — Export session data for analysis or reporting
|
|
138
|
+
- **Desktop notifications** — Optional notifications when tasks complete
|
|
139
|
+
|
|
140
|
+
[Open an issue](https://github.com/L1AD/claude-task-viewer/issues) with ideas or feedback.
|
|
141
|
+
|
|
142
|
+
## License
|
|
143
|
+
|
|
144
|
+
MIT
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "claude-code-kanban",
|
|
3
|
+
"version": "1.9.0",
|
|
4
|
+
"description": "A web-based Kanban board for viewing Claude Code tasks with agent teams support",
|
|
5
|
+
"main": "server.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"claude-task-viewer": "./server.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"start": "node server.js",
|
|
11
|
+
"dev": "node server.js --open"
|
|
12
|
+
},
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "git+https://github.com/NikiforovAll/claude-task-viewer.git"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"claude",
|
|
19
|
+
"claude-code",
|
|
20
|
+
"anthropic",
|
|
21
|
+
"tasks",
|
|
22
|
+
"todo",
|
|
23
|
+
"kanban",
|
|
24
|
+
"viewer",
|
|
25
|
+
"agent-teams"
|
|
26
|
+
],
|
|
27
|
+
"author": "NikiforovAll",
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"bugs": {
|
|
30
|
+
"url": "https://github.com/NikiforovAll/claude-task-viewer/issues"
|
|
31
|
+
},
|
|
32
|
+
"homepage": "https://github.com/NikiforovAll/claude-task-viewer#readme",
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"chokidar": "^3.5.3",
|
|
35
|
+
"express": "^4.18.2",
|
|
36
|
+
"open": "^10.0.0"
|
|
37
|
+
},
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=18.0.0"
|
|
40
|
+
},
|
|
41
|
+
"files": [
|
|
42
|
+
"server.js",
|
|
43
|
+
"public/**/*"
|
|
44
|
+
]
|
|
45
|
+
}
|