ai-agent-board 0.2.8 → 0.2.10
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 +92 -80
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**A visual dashboard for managing autonomous AI coding agents.**
|
|
6
6
|
|
|
7
|
-
Kanban board • Real-time
|
|
7
|
+
Kanban board • Real-time chat • Diff review • One-click PRs
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/ai-agent-board)
|
|
10
10
|
[](https://opensource.org/licenses/MIT)
|
|
@@ -17,16 +17,18 @@ Kanban board • Real-time logs • Diff review • One-click PRs
|
|
|
17
17
|
|
|
18
18
|
## What is agent-board?
|
|
19
19
|
|
|
20
|
-
`agent-board` is a local web dashboard that lets you **create tasks**, **assign them to AI coding agents**, and **monitor everything** from a Kanban-style interface — real-time execution logs, code diffs, and automatic PR creation
|
|
20
|
+
`agent-board` is a local web dashboard that lets you **create tasks**, **assign them to AI coding agents**, and **monitor everything** from a Kanban-style interface — real-time execution logs, live chat with the agent, code diffs, and automatic PR creation.
|
|
21
21
|
|
|
22
|
-
It
|
|
22
|
+
It auto-detects the coding CLIs you already have installed:
|
|
23
23
|
|
|
24
|
-
| Agent |
|
|
25
|
-
|
|
26
|
-
| **Claude Code** | `claude` |
|
|
27
|
-
| **Codex** | `codex` |
|
|
28
|
-
| **
|
|
29
|
-
| **
|
|
24
|
+
| Agent | Command | Notes |
|
|
25
|
+
|-------|---------|-------|
|
|
26
|
+
| **Claude Code** | `claude` | Requires Anthropic API key or CLI login |
|
|
27
|
+
| **Codex** | `codex` | Requires OpenAI API key or CLI login |
|
|
28
|
+
| **Gemini** | `gemini` | Requires Google API key or CLI login |
|
|
29
|
+
| **OpenRouter** | _(API)_ | Use any model via OpenRouter API key |
|
|
30
|
+
|
|
31
|
+
> No CLI installed? Use **OpenRouter** to access 100+ models through the API without any CLI setup.
|
|
30
32
|
|
|
31
33
|
## Quick Start
|
|
32
34
|
|
|
@@ -36,14 +38,14 @@ npx ai-agent-board
|
|
|
36
38
|
|
|
37
39
|
That's it. The dashboard opens automatically in your browser. No configuration files, no Docker, no database setup.
|
|
38
40
|
|
|
39
|
-
> **Requirements:** Node.js >= 18. At least one supported AI coding CLI installed
|
|
41
|
+
> **Requirements:** Node.js >= 18. At least one supported AI coding CLI installed, or an OpenRouter API key.
|
|
40
42
|
|
|
41
43
|
### CLI Options
|
|
42
44
|
|
|
43
45
|
```
|
|
44
46
|
npx ai-agent-board [options]
|
|
45
47
|
|
|
46
|
-
--port <number> Server port (default:
|
|
48
|
+
--port <number> Server port (default: 51767)
|
|
47
49
|
--no-open Don't open browser automatically
|
|
48
50
|
--clear-cache Delete cached binary and re-download
|
|
49
51
|
--version, -v Show version
|
|
@@ -54,37 +56,45 @@ npx ai-agent-board [options]
|
|
|
54
56
|
|
|
55
57
|
### Kanban Board
|
|
56
58
|
|
|
57
|
-
Manage tasks across stages: **To Do**
|
|
59
|
+
Manage tasks across stages: **To Do** → **In Progress** → **In Review** → **Done**. Each task card shows its current status, assigned agent, and progress at a glance.
|
|
58
60
|
|
|
59
|
-
###
|
|
61
|
+
### Task Workflow
|
|
60
62
|
|
|
61
|
-
|
|
63
|
+
Describe what you need, and the agent handles the rest:
|
|
62
64
|
|
|
63
65
|
```
|
|
64
|
-
You describe a task
|
|
65
|
-
in natural language ───▶
|
|
66
|
-
│
|
|
67
|
-
▼
|
|
68
|
-
Review diff & merge
|
|
66
|
+
You describe a task Agent works in an You review the Approve & create
|
|
67
|
+
in natural language ───▶ isolated worktree ───▶ code changes ───▶ a Pull Request
|
|
69
68
|
```
|
|
70
69
|
|
|
71
|
-
1. **Create task**
|
|
72
|
-
2. **
|
|
73
|
-
3. **
|
|
74
|
-
4. **
|
|
75
|
-
5. **Review & merge** — inspect the diff, then create a PR
|
|
70
|
+
1. **Create task** — describe what you need in plain language
|
|
71
|
+
2. **Agent codes** — the AI agent works in an isolated git worktree, with full context of your repo's stack and conventions
|
|
72
|
+
3. **Chat in real-time** — send feedback, redirect the approach, or approve the agent's plan mid-execution
|
|
73
|
+
4. **Review & merge** — inspect the diff, then create a PR directly from the dashboard
|
|
76
74
|
|
|
77
|
-
### Real-time
|
|
75
|
+
### Real-time Chat
|
|
78
76
|
|
|
79
|
-
|
|
77
|
+
Chat with the agent while it works. Send feedback, ask questions, or redirect its approach — all streamed live via SSE. The agent can present an implementation plan for your approval before writing any code.
|
|
80
78
|
|
|
81
79
|
### Diff Viewer
|
|
82
80
|
|
|
83
81
|
Review all code changes before they go anywhere. Inline diff viewer shows exactly what the agent modified, added, or removed.
|
|
84
82
|
|
|
85
|
-
###
|
|
83
|
+
### Git Integration
|
|
84
|
+
|
|
85
|
+
- **GitHub** — create PRs, review comments, request changes, and track merge status
|
|
86
|
+
- **GitLab** — connect via Personal Access Token
|
|
87
|
+
- **Merge conflict resolution** — open VS Code directly at the worktree to resolve conflicts
|
|
88
|
+
|
|
89
|
+
### Repository Management
|
|
90
|
+
|
|
91
|
+
- Scan your filesystem to discover local git repositories
|
|
92
|
+
- Auto-detect tech stack and conventions per repo
|
|
93
|
+
- Track learned patterns across tasks for smarter specs
|
|
94
|
+
|
|
95
|
+
### Credential Management
|
|
86
96
|
|
|
87
|
-
|
|
97
|
+
API keys and tokens are stored locally with encryption. Connect your providers from the Settings page — no `.env` files needed.
|
|
88
98
|
|
|
89
99
|
### Dark Mode
|
|
90
100
|
|
|
@@ -94,51 +104,51 @@ Full light and dark theme support. Automatically follows your system preference.
|
|
|
94
104
|
|
|
95
105
|
`agent-board` runs a lightweight local server that:
|
|
96
106
|
|
|
97
|
-
1. **Detects** which AI coding CLIs you have installed (Claude Code, Codex,
|
|
98
|
-
2. **
|
|
99
|
-
3. **Streams** real-time output to the browser via SSE
|
|
100
|
-
4. **
|
|
101
|
-
5. **Creates** Pull Requests via the GitHub API when you approve changes
|
|
107
|
+
1. **Detects** which AI coding CLIs you have installed (Claude Code, Codex, Gemini) or uses your OpenRouter API key
|
|
108
|
+
2. **Assigns** a coding agent to work on your task in an isolated git worktree
|
|
109
|
+
3. **Streams** real-time output, chat messages, and tool activity to the browser via SSE
|
|
110
|
+
4. **Isolates** code changes in git worktrees — your main branch is never at risk
|
|
111
|
+
5. **Creates** Pull Requests via the GitHub/GitLab API when you approve changes
|
|
102
112
|
|
|
103
|
-
All data is stored in a local SQLite database. Nothing leaves your machine except the API calls your AI coding CLIs already make and the
|
|
113
|
+
All data is stored in a local SQLite database. Nothing leaves your machine except the API calls your AI coding CLIs already make and the git provider API calls for PR creation.
|
|
104
114
|
|
|
105
115
|
## Task Lifecycle
|
|
106
116
|
|
|
107
117
|
| Status | Description | Board Column |
|
|
108
118
|
|--------|-------------|:------------:|
|
|
109
|
-
| `draft` | Task created,
|
|
110
|
-
| `
|
|
111
|
-
| `
|
|
112
|
-
| `
|
|
113
|
-
| `
|
|
114
|
-
| `
|
|
115
|
-
| `
|
|
116
|
-
| `
|
|
117
|
-
| `failed` | Error during execution |
|
|
119
|
+
| `draft` | Task created, not yet started | To Do |
|
|
120
|
+
| `coding` | Agent working on implementation | In Progress |
|
|
121
|
+
| `plan_review` | Agent proposed a plan, waiting for your approval | In Progress |
|
|
122
|
+
| `review` | Changes ready for review / PR created | In Review |
|
|
123
|
+
| `merge_conflicts` | Merge conflicts detected, needs resolution | In Review |
|
|
124
|
+
| `changes_requested` | You requested changes on the PR | In Review |
|
|
125
|
+
| `done` | PR merged, task complete | Done |
|
|
126
|
+
| `canceled` | Canceled by user or PR closed | — |
|
|
127
|
+
| `failed` | Error during execution | — |
|
|
118
128
|
|
|
119
129
|
## Architecture
|
|
120
130
|
|
|
121
131
|
```
|
|
122
|
-
|
|
123
|
-
│
|
|
124
|
-
│
|
|
125
|
-
│ ┌──────────────┐
|
|
126
|
-
│ │ Dashboard │ │
|
|
127
|
-
│ │ React
|
|
128
|
-
│ │ Vite 7
|
|
129
|
-
│ │ TanStack
|
|
130
|
-
│ │ Tailwind 4
|
|
131
|
-
│ └──────────────┘
|
|
132
|
-
│
|
|
133
|
-
│
|
|
134
|
-
│
|
|
135
|
-
│
|
|
136
|
-
│
|
|
137
|
-
│
|
|
138
|
-
│
|
|
139
|
-
│
|
|
140
|
-
│
|
|
141
|
-
|
|
132
|
+
┌──────────────────────────────────────────────────────────┐
|
|
133
|
+
│ ai-agent-board │
|
|
134
|
+
│ │
|
|
135
|
+
│ ┌──────────────┐ ┌───────────────┐ ┌───────────────┐ │
|
|
136
|
+
│ │ Dashboard │ │ Server │ │ Shared │ │
|
|
137
|
+
│ │ React 19 │◄─┤ Express API │ │ Zod Schemas │ │
|
|
138
|
+
│ │ Vite 7 │ │ Bun runtime │ │ TypeScript │ │
|
|
139
|
+
│ │ TanStack │ │ SQLite WASM │ │ Types │ │
|
|
140
|
+
│ │ Tailwind 4 │ │ SSE + Chat │ │ │ │
|
|
141
|
+
│ └──────────────┘ └───────┬───────┘ └───────────────┘ │
|
|
142
|
+
│ │ │
|
|
143
|
+
│ ┌────────────┴────────────┐ │
|
|
144
|
+
│ │ Agent Orchestrator │ │
|
|
145
|
+
│ │ Task ──▶ AI Agent │ │
|
|
146
|
+
│ └────────────┬────────────┘ │
|
|
147
|
+
│ │ │
|
|
148
|
+
│ ┌───────────┬───┴───┬────────────┐ │
|
|
149
|
+
│ ▼ ▼ ▼ ▼ │
|
|
150
|
+
│ claude codex gemini OpenRouter │
|
|
151
|
+
└──────────────────────────────────────────────────────────┘
|
|
142
152
|
```
|
|
143
153
|
|
|
144
154
|
### Tech Stack
|
|
@@ -148,14 +158,14 @@ All data is stored in a local SQLite database. Nothing leaves your machine excep
|
|
|
148
158
|
| **Frontend** | React 19, Vite 7, TypeScript, Tailwind CSS 4, shadcn/ui, TanStack Router & Query, Zustand |
|
|
149
159
|
| **Backend** | Express, Bun, TypeScript, sql.js (SQLite via WASM), SSE |
|
|
150
160
|
| **Shared** | Zod schemas, TypeScript types, npm workspaces |
|
|
151
|
-
| **CLI** | Lightweight npx wrapper, platform-specific binary distribution |
|
|
161
|
+
| **CLI** | Lightweight npx wrapper, platform-specific binary distribution via Cloudflare R2 |
|
|
152
162
|
|
|
153
163
|
### Key Design Decisions
|
|
154
164
|
|
|
155
|
-
- **SSE over WebSockets**
|
|
156
|
-
- **SQLite (WASM)**
|
|
157
|
-
- **Git worktrees**
|
|
158
|
-
- **npx distribution**
|
|
165
|
+
- **SSE over WebSockets** — unidirectional streaming is sufficient for logs and chat; simpler, works with any proxy, and browsers auto-reconnect
|
|
166
|
+
- **SQLite (WASM)** — zero-config embedded database, no external server needed, cross-platform via WebAssembly
|
|
167
|
+
- **Git worktrees** — agent works in isolated worktrees so your main branch is never at risk
|
|
168
|
+
- **npx distribution** — single command to run, binary auto-downloaded and cached per platform
|
|
159
169
|
|
|
160
170
|
## Development
|
|
161
171
|
|
|
@@ -168,33 +178,35 @@ npm install
|
|
|
168
178
|
# Run in development mode (server + dashboard)
|
|
169
179
|
npm run dev
|
|
170
180
|
|
|
171
|
-
# Build all packages
|
|
181
|
+
# Build all packages (shared → server → dashboard)
|
|
172
182
|
npm run build
|
|
173
183
|
|
|
174
184
|
# Build specific packages
|
|
175
185
|
npm run build:shared
|
|
176
186
|
npm run build:server
|
|
177
187
|
npm run build:dashboard
|
|
188
|
+
|
|
189
|
+
# Build standalone binaries
|
|
190
|
+
npm run build:binary:linux-x64
|
|
191
|
+
npm run build:binary:macos-x64
|
|
192
|
+
npm run build:binary:macos-arm64
|
|
193
|
+
npm run build:binary:win-x64
|
|
178
194
|
```
|
|
179
195
|
|
|
180
|
-
The dashboard runs on **port 3003**
|
|
196
|
+
The dashboard dev server runs on **port 3003** and the backend on **port 51767**. Vite proxies `/api` requests to the server automatically.
|
|
181
197
|
|
|
182
198
|
### Environment Variables
|
|
183
199
|
|
|
184
|
-
|
|
200
|
+
Most configuration is handled through the **Settings** page in the dashboard. Environment variables are optional and mainly useful for development:
|
|
185
201
|
|
|
186
202
|
```env
|
|
187
|
-
#
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
# Optional: for GitHub PR creation
|
|
191
|
-
GITHUB_TOKEN=ghp_...
|
|
192
|
-
|
|
193
|
-
# Optional: server configuration
|
|
194
|
-
PORT=3000
|
|
195
|
-
DATABASE_PATH=./data/dash-agent.db
|
|
203
|
+
PORT=51767 # Server port (default: 51767)
|
|
204
|
+
DATABASE_PATH=./data/agent-board.db # SQLite database path
|
|
205
|
+
LOG_LEVEL=info # debug | info | warn | error
|
|
196
206
|
```
|
|
197
207
|
|
|
208
|
+
AI keys and git tokens are managed through the dashboard UI with encrypted local storage — no `.env` file needed for normal usage.
|
|
209
|
+
|
|
198
210
|
## Contributing
|
|
199
211
|
|
|
200
212
|
Contributions are welcome. Please open an issue first to discuss what you'd like to change.
|