@hasna/todos 0.9.15 → 0.9.16
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 +50 -2
- package/dist/cli/index.js +1 -1
- package/dist/mcp/index.js +1 -1
- package/package.json +16 -4
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# @hasna/todos
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@hasna/todos)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
[]()
|
|
6
|
+
|
|
3
7
|
Universal task management for AI coding agents. CLI + MCP server + library, all sharing a single SQLite database.
|
|
4
8
|
|
|
5
9
|
## Features
|
|
@@ -183,6 +187,50 @@ todos-mcp
|
|
|
183
187
|
| `todos://agents` | All registered agents |
|
|
184
188
|
| `todos://task-lists` | All task lists |
|
|
185
189
|
|
|
190
|
+
## Web Dashboard
|
|
191
|
+
|
|
192
|
+
Start the web dashboard to manage tasks visually:
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
todos serve
|
|
196
|
+
# or
|
|
197
|
+
todos-serve --port 19427
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Features:
|
|
201
|
+
- **Dashboard** — stats cards, completion rate, recent activity
|
|
202
|
+
- **Tasks** — data table with search, filters, sorting, pagination, kanban board view
|
|
203
|
+
- **Projects** — project management with task breakdown
|
|
204
|
+
- **Agents** — agent monitoring with completion rates, online status, role management
|
|
205
|
+
- **Help** — keyboard shortcuts, CLI reference, MCP configuration
|
|
206
|
+
|
|
207
|
+
The dashboard auto-refreshes every 30 seconds, supports dark mode, and includes keyboard shortcuts (`/` search, `n` new task, `0-4` navigate pages).
|
|
208
|
+
|
|
209
|
+
## REST API
|
|
210
|
+
|
|
211
|
+
When running `todos serve`, the following REST API is available:
|
|
212
|
+
|
|
213
|
+
| Method | Endpoint | Description |
|
|
214
|
+
|--------|----------|-------------|
|
|
215
|
+
| GET | `/api/stats` | Dashboard statistics |
|
|
216
|
+
| GET | `/api/tasks` | List tasks (supports `?status=`, `?project_id=`, `?limit=`) |
|
|
217
|
+
| POST | `/api/tasks` | Create a task |
|
|
218
|
+
| GET | `/api/tasks/:id` | Get task details |
|
|
219
|
+
| PATCH | `/api/tasks/:id` | Update a task |
|
|
220
|
+
| DELETE | `/api/tasks/:id` | Delete a task |
|
|
221
|
+
| POST | `/api/tasks/:id/start` | Start a task |
|
|
222
|
+
| POST | `/api/tasks/:id/complete` | Complete a task |
|
|
223
|
+
| POST | `/api/tasks/bulk` | Bulk operations (start, complete, delete) |
|
|
224
|
+
| GET | `/api/tasks/export?format=csv` | Export tasks as CSV |
|
|
225
|
+
| GET | `/api/tasks/export?format=json` | Export tasks as JSON |
|
|
226
|
+
| GET | `/api/projects` | List projects |
|
|
227
|
+
| POST | `/api/projects` | Create a project |
|
|
228
|
+
| DELETE | `/api/projects/:id` | Delete a project |
|
|
229
|
+
| GET | `/api/agents` | List agents |
|
|
230
|
+
| POST | `/api/agents` | Register an agent |
|
|
231
|
+
| PATCH | `/api/agents/:id` | Update an agent |
|
|
232
|
+
| DELETE | `/api/agents/:id` | Delete an agent |
|
|
233
|
+
|
|
186
234
|
## Sync
|
|
187
235
|
|
|
188
236
|
Bidirectional sync with agent-specific task lists.
|
|
@@ -338,8 +386,8 @@ SQLite with automatic location detection:
|
|
|
338
386
|
## Development
|
|
339
387
|
|
|
340
388
|
```bash
|
|
341
|
-
git clone https://github.com/hasna/todos.git
|
|
342
|
-
cd todos
|
|
389
|
+
git clone https://github.com/hasna/open-todos.git
|
|
390
|
+
cd open-todos
|
|
343
391
|
bun install
|
|
344
392
|
bun test # Run 172 tests
|
|
345
393
|
bun run typecheck # TypeScript checking
|
package/dist/cli/index.js
CHANGED
|
@@ -7965,7 +7965,7 @@ var init_mcp = __esm(() => {
|
|
|
7965
7965
|
init_types();
|
|
7966
7966
|
server = new McpServer({
|
|
7967
7967
|
name: "todos",
|
|
7968
|
-
version: "0.
|
|
7968
|
+
version: "0.9.15"
|
|
7969
7969
|
});
|
|
7970
7970
|
server.tool("create_task", "Create a new task", {
|
|
7971
7971
|
title: exports_external.string().describe("Task title"),
|
package/dist/mcp/index.js
CHANGED
|
@@ -5670,7 +5670,7 @@ function syncWithAgents(agents, taskListIdByAgent, projectId, direction = "both"
|
|
|
5670
5670
|
// src/mcp/index.ts
|
|
5671
5671
|
var server = new McpServer({
|
|
5672
5672
|
name: "todos",
|
|
5673
|
-
version: "0.
|
|
5673
|
+
version: "0.9.15"
|
|
5674
5674
|
});
|
|
5675
5675
|
function formatError(error) {
|
|
5676
5676
|
if (error instanceof VersionConflictError)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hasna/todos",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.16",
|
|
4
4
|
"description": "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -25,7 +25,6 @@
|
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "cd dashboard && bun run build && cd .. && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk --external @modelcontextprotocol/sdk && bun build src/mcp/index.ts --outdir dist/mcp --target bun --external @modelcontextprotocol/sdk && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/index.ts --outdir dist --target bun && tsc --emitDeclarationOnly --outDir dist",
|
|
27
27
|
"build:dashboard": "cd dashboard && bun run build",
|
|
28
|
-
"postinstall": "cd dashboard && bun install",
|
|
29
28
|
"typecheck": "tsc --noEmit",
|
|
30
29
|
"test": "bun test",
|
|
31
30
|
"dev:cli": "bun run src/cli/index.tsx",
|
|
@@ -45,10 +44,23 @@
|
|
|
45
44
|
"cli",
|
|
46
45
|
"dashboard"
|
|
47
46
|
],
|
|
48
|
-
"
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public"
|
|
49
|
+
},
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "https://github.com/hasna/open-todos.git"
|
|
53
|
+
},
|
|
54
|
+
"homepage": "https://github.com/hasna/open-todos",
|
|
55
|
+
"bugs": {
|
|
56
|
+
"url": "https://github.com/hasna/open-todos/issues"
|
|
57
|
+
},
|
|
58
|
+
"engines": {
|
|
59
|
+
"bun": ">=1.0.0"
|
|
60
|
+
},
|
|
61
|
+
"author": "Andrei Hasna <andrei@hasna.com>",
|
|
49
62
|
"license": "Apache-2.0",
|
|
50
63
|
"dependencies": {
|
|
51
|
-
"@hasna/todos": "^0.9.11",
|
|
52
64
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
53
65
|
"chalk": "^5.4.1",
|
|
54
66
|
"commander": "^13.1.0",
|