@hasna/todos 0.9.21 → 0.9.22
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 +112 -76
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -163,20 +163,20 @@ Or start manually via stdio:
|
|
|
163
163
|
todos-mcp
|
|
164
164
|
```
|
|
165
165
|
|
|
166
|
-
### MCP Tools (
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
166
|
+
### MCP Tools (40)
|
|
167
|
+
|
|
168
|
+
**Tasks:** `create_task`, `list_tasks`, `get_task`, `update_task`, `delete_task`, `start_task`, `complete_task`, `lock_task`, `unlock_task`, `approve_task`
|
|
169
|
+
**Dependencies:** `add_dependency`, `remove_dependency`
|
|
170
|
+
**Comments:** `add_comment`
|
|
171
|
+
**Projects:** `create_project`, `list_projects`
|
|
172
|
+
**Plans:** `create_plan`, `list_plans`, `get_plan`, `update_plan`, `delete_plan`
|
|
173
|
+
**Agents:** `register_agent`, `list_agents`, `get_agent`
|
|
174
|
+
**Task Lists:** `create_task_list`, `list_task_lists`, `get_task_list`, `update_task_list`, `delete_task_list`
|
|
175
|
+
**Search:** `search_tasks`
|
|
176
|
+
**Sync:** `sync`
|
|
177
|
+
**Audit:** `get_task_history`, `get_recent_activity`
|
|
178
|
+
**Webhooks:** `create_webhook`, `list_webhooks`, `delete_webhook`
|
|
179
|
+
**Templates:** `create_template`, `list_templates`, `create_task_from_template`, `delete_template`
|
|
180
180
|
|
|
181
181
|
### MCP Resources
|
|
182
182
|
|
|
@@ -208,28 +208,66 @@ The dashboard auto-refreshes every 30 seconds, supports dark mode, and includes
|
|
|
208
208
|
|
|
209
209
|
## REST API
|
|
210
210
|
|
|
211
|
-
|
|
211
|
+
Start the server with `todos serve` or `todos-serve`. Default port: 19427.
|
|
212
|
+
|
|
213
|
+
### Tasks
|
|
212
214
|
|
|
213
215
|
| Method | Endpoint | Description |
|
|
214
216
|
|--------|----------|-------------|
|
|
215
|
-
| GET | `/api/
|
|
216
|
-
|
|
|
217
|
-
| POST | `/api/tasks` | Create a task |
|
|
217
|
+
| GET | `/api/tasks` | List tasks. Query: `?status=`, `?project_id=`, `?limit=` |
|
|
218
|
+
| POST | `/api/tasks` | Create task. Body: `{ title, description?, priority?, project_id?, estimated_minutes?, requires_approval? }` |
|
|
218
219
|
| GET | `/api/tasks/:id` | Get task details |
|
|
219
|
-
| PATCH | `/api/tasks/:id` | Update
|
|
220
|
-
| DELETE | `/api/tasks/:id` | Delete
|
|
221
|
-
| POST | `/api/tasks/:id/start` | Start
|
|
222
|
-
| POST | `/api/tasks/:id/complete` | Complete
|
|
223
|
-
|
|
|
224
|
-
|
|
|
225
|
-
| GET | `/api/tasks/export?format=
|
|
226
|
-
| GET | `/api/
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
|
231
|
-
|
|
232
|
-
|
|
|
220
|
+
| PATCH | `/api/tasks/:id` | Update task. Body: `{ title?, status?, priority?, description?, assigned_to?, tags?, due_at?, estimated_minutes?, requires_approval?, approved_by? }` |
|
|
221
|
+
| DELETE | `/api/tasks/:id` | Delete task |
|
|
222
|
+
| POST | `/api/tasks/:id/start` | Start task (sets in_progress, locks) |
|
|
223
|
+
| POST | `/api/tasks/:id/complete` | Complete task |
|
|
224
|
+
| GET | `/api/tasks/:id/history` | Get task audit log |
|
|
225
|
+
| POST | `/api/tasks/bulk` | Bulk ops. Body: `{ ids: [...], action: "start" | "complete" | "delete" }` |
|
|
226
|
+
| GET | `/api/tasks/export?format=csv` | Export as CSV |
|
|
227
|
+
| GET | `/api/tasks/export?format=json` | Export as JSON |
|
|
228
|
+
|
|
229
|
+
### Projects
|
|
230
|
+
|
|
231
|
+
| Method | Endpoint | Description |
|
|
232
|
+
|--------|----------|-------------|
|
|
233
|
+
| GET | `/api/projects` | List all projects |
|
|
234
|
+
| POST | `/api/projects` | Create project. Body: `{ name, path, description? }` |
|
|
235
|
+
| DELETE | `/api/projects/:id` | Delete project |
|
|
236
|
+
| POST | `/api/projects/bulk` | Bulk delete. Body: `{ ids: [...], action: "delete" }` |
|
|
237
|
+
|
|
238
|
+
### Plans
|
|
239
|
+
|
|
240
|
+
| Method | Endpoint | Description |
|
|
241
|
+
|--------|----------|-------------|
|
|
242
|
+
| GET | `/api/plans` | List plans. Query: `?project_id=` |
|
|
243
|
+
| POST | `/api/plans` | Create plan. Body: `{ name, description?, project_id?, task_list_id?, agent_id?, status? }` |
|
|
244
|
+
| GET | `/api/plans/:id` | Get plan with its tasks |
|
|
245
|
+
| PATCH | `/api/plans/:id` | Update plan |
|
|
246
|
+
| DELETE | `/api/plans/:id` | Delete plan |
|
|
247
|
+
| POST | `/api/plans/bulk` | Bulk delete |
|
|
248
|
+
|
|
249
|
+
### Agents
|
|
250
|
+
|
|
251
|
+
| Method | Endpoint | Description |
|
|
252
|
+
|--------|----------|-------------|
|
|
253
|
+
| GET | `/api/agents` | List all agents |
|
|
254
|
+
| POST | `/api/agents` | Register agent. Body: `{ name, description?, role? }` |
|
|
255
|
+
| PATCH | `/api/agents/:id` | Update agent. Body: `{ name?, description?, role? }` |
|
|
256
|
+
| DELETE | `/api/agents/:id` | Delete agent |
|
|
257
|
+
| POST | `/api/agents/bulk` | Bulk delete |
|
|
258
|
+
|
|
259
|
+
### Webhooks, Templates, Activity
|
|
260
|
+
|
|
261
|
+
| Method | Endpoint | Description |
|
|
262
|
+
|--------|----------|-------------|
|
|
263
|
+
| GET | `/api/webhooks` | List webhooks |
|
|
264
|
+
| POST | `/api/webhooks` | Create webhook. Body: `{ url, events?, secret? }` |
|
|
265
|
+
| DELETE | `/api/webhooks/:id` | Delete webhook |
|
|
266
|
+
| GET | `/api/templates` | List task templates |
|
|
267
|
+
| POST | `/api/templates` | Create template. Body: `{ name, title_pattern, description?, priority?, tags? }` |
|
|
268
|
+
| DELETE | `/api/templates/:id` | Delete template |
|
|
269
|
+
| GET | `/api/activity` | Recent audit log. Query: `?limit=50` |
|
|
270
|
+
| GET | `/api/stats` | Dashboard statistics |
|
|
233
271
|
|
|
234
272
|
## Sync
|
|
235
273
|
|
|
@@ -274,50 +312,48 @@ Claude uses native Claude Code task lists. Other agents use JSON files under `~/
|
|
|
274
312
|
}
|
|
275
313
|
```
|
|
276
314
|
|
|
277
|
-
## CLI
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
All
|
|
319
|
-
|
|
320
|
-
Partial IDs work everywhere — use the first 8+ characters of any UUID.
|
|
315
|
+
## CLI Reference
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
# Task management
|
|
319
|
+
todos add "title" [-d desc] [-p priority] [--tags t1,t2] [--plan id] [--estimated 30] [--approval]
|
|
320
|
+
todos list [-s status] [-p priority] [--assigned agent] [--project-name name] [--agent-name name] [--sort field] [-a]
|
|
321
|
+
todos show <id> # Full task details with relations
|
|
322
|
+
todos update <id> [--title t] [-s status] [-p priority] [--tags t1,t2] [--estimated 30]
|
|
323
|
+
todos done <id> # Complete a task
|
|
324
|
+
todos start <id> # Claim, lock, and start
|
|
325
|
+
todos delete <id>
|
|
326
|
+
todos approve <id> # Approve a task requiring approval
|
|
327
|
+
todos history <id> # Show task audit log
|
|
328
|
+
todos search <query>
|
|
329
|
+
todos bulk <done|start|delete> <id1> <id2> ...
|
|
330
|
+
todos comment <id> <text>
|
|
331
|
+
todos deps <id> --add <dep_id> # Manage dependencies
|
|
332
|
+
|
|
333
|
+
# Plans
|
|
334
|
+
todos plans [--add name] [--show id] [--delete id] [--complete id]
|
|
335
|
+
|
|
336
|
+
# Templates
|
|
337
|
+
todos templates [--add name --title pattern] [--delete id] [--use id]
|
|
338
|
+
|
|
339
|
+
# Projects & Agents
|
|
340
|
+
todos projects [--add name --path /path]
|
|
341
|
+
todos agents
|
|
342
|
+
todos init <name> # Register an agent
|
|
343
|
+
todos lists # Manage task lists
|
|
344
|
+
|
|
345
|
+
# Utilities
|
|
346
|
+
todos count [--json] # Quick stats
|
|
347
|
+
todos watch [-s status] [-i 5] # Live-updating task list
|
|
348
|
+
todos config [--get key] [--set key=value]
|
|
349
|
+
todos export [--format csv|json]
|
|
350
|
+
todos sync [--task-list id] # Sync with Claude Code
|
|
351
|
+
todos serve [--port 19427] # Start web dashboard
|
|
352
|
+
todos interactive # Launch TUI
|
|
353
|
+
todos upgrade # Update to latest version
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
All output supports `--json` for machine-readable format.
|
|
321
357
|
|
|
322
358
|
## Library Usage
|
|
323
359
|
|