@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 CHANGED
@@ -1,5 +1,9 @@
1
1
  # @hasna/todos
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/@hasna/todos)](https://www.npmjs.com/package/@hasna/todos)
4
+ [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)
5
+ [![Tests](https://img.shields.io/badge/tests-295%20passing-brightgreen)]()
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.1.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.1.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.15",
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
- "author": "hasna",
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",