claudeboard 2.16.0 → 3.1.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/README.md CHANGED
@@ -1,128 +1,124 @@
1
- # ClaudeBoard 🤖
1
+ # ClaudeBoard v3
2
2
 
3
- **Autonomous coding dashboard for Claude Code.**
4
- Turn a PRD into tasks → let Claude work autonomously → watch progress in real time.
3
+ Visual orchestrator for Claude Code agent teams. Run and manage multiple Claude Code agents from a single browser-based kanban dashboard.
5
4
 
6
- ---
5
+ ## What it does
7
6
 
8
- ## How it works
7
+ ClaudeBoard launches a local web server and opens a dashboard where you can:
8
+ - Chat with an Orchestrator agent that interviews you, generates a PRD, and breaks work into tasks
9
+ - Watch tasks move through a Kanban board (Backlog → In Progress → Verifying → Done / Error)
10
+ - Stream live agent output in a built-in terminal drawer
11
+ - Receive webhook notifications when tasks complete or fail
12
+
13
+ ## Requirements
14
+
15
+ - Node.js >= 18
16
+ - Claude CLI installed and logged in (`claude --version` should work)
17
+
18
+ ## Installation
19
+
20
+ Run without installing:
9
21
 
10
22
  ```
11
- claudeboard init → Configure project + Supabase
12
- claudeboard import-prd → Parse PRD → create tasks automatically
13
- claudeboard start → Launch dashboard on localhost
14
- → Give Claude Code the AGENT.md file
15
- → Claude works autonomously 24/7
23
+ npx claudeboard
16
24
  ```
17
25
 
18
- ---
19
-
20
- ## Install
26
+ Or install globally:
21
27
 
22
- ```bash
28
+ ```
23
29
  npm install -g claudeboard
30
+ claudeboard
24
31
  ```
25
32
 
26
- ---
33
+ ## Usage
27
34
 
28
- ## Setup (one time per project)
29
-
30
- ### 1. Init
31
- ```bash
32
- cd your-project
33
- claudeboard init
34
35
  ```
35
- You'll be asked for:
36
- - Project name
37
- - Supabase URL
38
- - Supabase anon key
39
- - Port (default 3131)
40
-
41
- ### 2. Run SQL in Supabase
42
- Open `claudeboard-setup.sql` and run it in your Supabase SQL Editor.
43
- This creates the tables `cb_epics`, `cb_tasks`, `cb_logs` with Realtime enabled.
44
-
45
- ### 3. Import your PRD
46
- ```bash
47
- claudeboard import-prd ./PRD.md
36
+ claudeboard [options]
48
37
  ```
49
- Claude parses your PRD and creates structured tasks grouped by epic automatically.
50
38
 
51
- ### 4. Start the dashboard
52
- ```bash
53
- claudeboard start
54
- ```
55
- Opens `http://localhost:3131` in your browser.
39
+ ### CLI Flags
56
40
 
57
- ---
41
+ | Flag | Default | Description |
42
+ |------|---------|-------------|
43
+ | `--port <number>` | `3000` | Port to run the dashboard server on |
44
+ | `--open <bool>` | `true` | Automatically open the dashboard in your browser |
45
+ | `--webhook <url>` | — | Webhook URL (must be `https://`) to POST agent lifecycle events to |
46
+ | `--max-agents <number>` | `3` | Maximum number of agents allowed to run concurrently |
58
47
 
59
- ## Running Claude Code autonomously
48
+ ### Examples
60
49
 
61
- ```bash
62
- claude --context AGENT.md
63
50
  ```
51
+ # Start on default port, auto-open browser
52
+ claudeboard
64
53
 
65
- The `AGENT.md` file (auto-generated by `claudeboard init`) tells Claude to:
66
- 1. Fetch the next pending task from the API
67
- 2. Start it → mark as `in_progress`
68
- 3. Do the work (write code, run tests, fix errors)
69
- 4. Log progress in real time
70
- 5. Mark as `done` or `error`
71
- 6. Repeat until all tasks are complete
54
+ # Use a custom port without auto-opening
55
+ claudeboard --port 4000 --open false
72
56
 
73
- ---
57
+ # Limit to 5 concurrent agents and send events to a webhook
58
+ claudeboard --max-agents 5 --webhook https://example.com/hooks/claudeboard
59
+ ```
74
60
 
75
- ## Dashboard features
61
+ ## How it works
76
62
 
77
- - **Kanban view**tasks grouped by epic with status colors
78
- - **Live activity log** every action Claude takes
79
- - **Progress bar** overall completion %
80
- - **Add tasks** add new tasks manually (Claude picks them up automatically)
81
- - **Task detail** click any task to see its full log
82
- - **Real-time**WebSocket updates, no refresh needed
63
+ 1. Start ClaudeBoarda local Express server starts and the dashboard opens in your browser.
64
+ 2. The Orchestrator agent greets you and asks what you want to build.
65
+ 3. After 2–3 exchanges it generates a PRD and populates the Kanban board with tasks.
66
+ 4. Claude Code sub-agents are spawned automatically (respecting `--max-agents`).
67
+ 5. Each agent's output streams live to the task card in the dashboard.
68
+ 6. A Verifier agent checks each completed task approved tasks move to Done; failed tasks spawn a Fix task.
83
69
 
84
- ---
70
+ ## Project data
85
71
 
86
- ## API (used by Claude Code)
72
+ ClaudeBoard stores all state in `.claudeboard/` inside your working directory:
87
73
 
88
- | Method | Endpoint | Description |
89
- |--------|----------|-------------|
90
- | GET | `/api/board` | Full board state |
91
- | GET | `/api/tasks/next` | Next pending task |
92
- | POST | `/api/tasks/:id/start` | Mark task as in_progress |
93
- | POST | `/api/tasks/:id/log` | Add a log entry |
94
- | POST | `/api/tasks/:id/complete` | Mark task as done |
95
- | POST | `/api/tasks/:id/fail` | Mark task as error |
96
- | POST | `/api/tasks` | Add a new task |
97
- | GET | `/api/tasks/:id/logs` | Get logs for a task |
74
+ | File | Contents |
75
+ |------|----------|
76
+ | `.claudeboard/tasks.json` | Task list and status |
77
+ | `.claudeboard/prd.md` | Generated PRD |
78
+ | `.claudeboard/agents.json` | Active agent registry |
79
+ | `.claudeboard/config.json` | Board configuration (webhook URL, etc.) |
98
80
 
99
- ---
81
+ **Add `.claudeboard/` to your `.gitignore`** — it may contain webhook URLs and agent output that should not be committed.
100
82
 
101
- ## Remote access
83
+ ## Security
102
84
 
103
- To monitor from another computer:
85
+ ClaudeBoard is designed to be safe to run on a shared development machine.
104
86
 
105
- ```bash
106
- # On the notebook running claudeboard:
107
- # Install Tailscale: https://tailscale.com
108
- tailscale up
87
+ ### Localhost-only server
109
88
 
110
- # Then from your main computer:
111
- # Visit http://<notebook-tailscale-ip>:3131
112
- ```
89
+ The server **only** binds to `127.0.0.1` (loopback). It is never reachable from the network or other machines on the same LAN.
113
90
 
114
- Or with SSH tunnel:
115
- ```bash
116
- ssh -L 3131:localhost:3131 user@notebook-ip
117
- # Then open http://localhost:3131 locally
118
- ```
91
+ ### No external data transmission
92
+
93
+ ClaudeBoard sends **no data to any external service**. The only outbound network calls are:
94
+
95
+ - Calls to the `claude` CLI (uses your existing local session — no API key required)
96
+ - Optional webhook `POST` requests to a URL **you** configure with `--webhook`
97
+
98
+ Webhook URLs must be `https://` and calls time out after 5 seconds.
99
+
100
+ ### Subprocess safety
101
+
102
+ All `claude` CLI invocations use `spawn()` with an explicit argument array (`shell: false`). Prompts are delivered via stdin, not command-line arguments, so they never appear in process listings and there is no shell-injection risk regardless of what the user types.
103
+
104
+ ### Input sanitization & rate limiting
105
+
106
+ - User chat messages are stripped of null bytes and capped at 10,000 characters before reaching the CLI.
107
+ - WebSocket connections are rate-limited to 10 messages per second per client.
108
+ - Task IDs are validated against a strict alphanumeric pattern before any file or process operations.
109
+
110
+ ### Agent output cap
111
+
112
+ Agent output stored to disk is capped at **1 MB per task** to prevent runaway processes from filling the disk.
113
+
114
+ ### Session-based auth
115
+
116
+ Access to the dashboard requires access to `127.0.0.1` (i.e., you must be logged in to the machine). There is no additional authentication layer — treat it like any other local dev tool.
117
+
118
+ ### Reporting vulnerabilities
119
119
 
120
- ---
120
+ Please open a GitHub issue with the `[SECURITY]` tag. Do **not** include exploit details in a public issue — reach out privately first.
121
121
 
122
- ## Stack
122
+ ## License
123
123
 
124
- - **CLI**: Node.js + Commander + Enquirer
125
- - **Server**: Express + WebSockets
126
- - **Database**: Supabase (Postgres + Realtime)
127
- - **Dashboard**: Vanilla HTML/CSS/JS (no build step)
128
- - **AI parsing**: Claude claude-sonnet-4-20250514 for PRD analysis
124
+ MIT