@pi-archimedes/todo 2.5.1 → 2.6.2

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.
Files changed (2) hide show
  1. package/README.md +34 -51
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -1,90 +1,73 @@
1
1
  # @pi-archimedes/todo
2
2
 
3
- Todo list management with auto-clear and live subagent visibility for the [Pi coding agent](https://github.com/earendil-works/pi).
3
+ **Keep the plan in view.**
4
4
 
5
- Track complex multi-step tasks structured in a todo list with automatic clearing on completion and live side-by-side visibility into subagent tasks. Having an active progress display keeps long tasks on track and gives both you and the model clear visibility into completed steps and next actions.
6
-
7
- ## What you get
8
-
9
- - **`manage_todo_list` tool** — structured todo tracking with `read` and `write` operations
10
- - **Auto-clear** — when all todos are completed, the list clears itself after a brief 2-second delay
11
- - **Multi-column widget** — main agent todos on the left, each subagent's todos in their own column to the right
12
- - **Live subagent visibility** — subagent todos stream through the core bus so you can see what they're working on
13
- - **`/todos` command** — toggle the widget or clear todos (`/todos clear`)
14
- - **Session persistence** — todos survive `/reload` via session branch reconstruction
15
-
16
- ## Screenshots
17
-
18
- ### Multiple todos with progress tracking
19
-
20
- Widget showing three todos with completion status — completed items dimmed with strikethrough, the item currently being worked on highlighted:
21
-
22
- ![todos multiple todos](../../docs/images/todos-multiple-todos.png)
23
-
24
- ### Main agent + subagent side by side
25
-
26
- Main agent todos (left) alongside a subagent's todos (right), separated by a divider. Subagent column auto-removes when the subagent finishes:
27
-
28
- ![todos and subagent](../../docs/images/todos-and-subagent.png)
5
+ A live task board in the terminal: your agent's plan in the main column, and a named column for each subagent running alongside — so what's asked, what's in flight, and what's finished never leaves the screen. When everything is done, the board clears itself.
29
6
 
30
7
  ## Install
31
8
 
9
+ Standalone:
10
+
32
11
  ```bash
33
12
  pi install npm:@pi-archimedes/todo
34
13
  ```
35
14
 
36
- Or install full meta package:
15
+ Or the full suite instead:
37
16
 
38
17
  ```bash
39
18
  pi install npm:pi-archimedes
40
19
  ```
41
20
 
42
- ## Usage
21
+ New to Pi? Pi itself is a one-time global install and needs Node.js ≥ 22.19.0:
22
+
23
+ ```bash
24
+ npm install -g --ignore-scripts @earendil-works/pi-coding-agent
25
+ ```
26
+
27
+ After installing Pi, choose one installation command above, then `cd` into your project and run `pi`. Inside the session, `/login` signs you in and `/model` picks a model — the [setup section](https://github.com/danielcherubini/pi-archimedes#setup) covers the first run. `/reload` works two ways here: it picks the extension up, **and** it restores the todo list, which survives `/reload` through session state reconstruction.
43
28
 
44
- ### As a tool
29
+ <div align="center">
30
+ <img src="https://raw.githubusercontent.com/danielcherubini/pi-archimedes/main/docs/images/todos-and-subagent.png" width="750" alt="Main agent and subagent todos side by side">
31
+ </div>
45
32
 
46
- The `manage_todo_list` tool accepts two operations:
33
+ ## The `manage_todo_list` tool
47
34
 
48
- **Read current todos:**
35
+ Two operations, `write` and `read`:
49
36
 
50
37
  ```jsonc
51
- {
52
- "operation": "read"
53
- }
38
+ { "operation": "read" }
54
39
  ```
55
40
 
56
- **Write (replace) the todo list:**
57
-
58
41
  ```jsonc
59
42
  {
60
43
  "operation": "write",
61
44
  "todoList": [
62
- { "content": "Parse config files", "description": "Read and validate all config files", "status": "in_progress" },
63
- { "content": "Build state manager", "description": "Implement TodoStateManager class", "status": "pending" },
64
- { "content": "Wire up widget", "description": "Connect widget to bus events", "status": "pending" }
45
+ { "content": "Parse config files", "description": "Read and validate settings", "status": "completed" },
46
+ { "content": "Build state manager", "description": "Implement reactive store", "status": "in_progress" },
47
+ { "content": "Connect UI widget", "description": "Bind to core bus events", "status": "pending" }
65
48
  ]
66
49
  }
67
50
  ```
68
51
 
69
- ### As a command
52
+ **Writes replace the whole list.** There is no partial update: every `write` must carry the complete list — existing items included — or they are replaced and gone.
53
+
54
+ States are `pending`, `in_progress`, and `completed`. Finished items render struck through; the current one stays highlighted.
70
55
 
71
- - `/todos` — toggle the todo widget visibility
72
- - `/todos clear` — clear all todos immediately
56
+ <p align="center">
57
+ <img src="https://raw.githubusercontent.com/danielcherubini/pi-archimedes/main/docs/images/todos-multiple-todos.png" width="600" alt="Multiple todos tracking progress">
58
+ </p>
73
59
 
74
- ## Todo statuses
60
+ ## Commands
75
61
 
76
- | Status | Icon | Description |
77
- |--------|------|-------------|
78
- | `pending` | ○ | Not yet begun |
79
- | `in_progress` | ◉ | Currently being worked on |
80
- | `completed` | ✓ | Fully finished |
62
+ - `/todos` — refreshes the todo widget and reports its status (e.g. `3/7 todos completed.`). It is **not** a visibility toggle; the board shows while there is content.
63
+ - `/todos clear` — clears the list.
81
64
 
82
65
  ## Auto-clear
83
66
 
84
- When all todos in the list are marked as `completed`, the widget shows the all-done state for 2 seconds, then auto-clears. No need to manually run `/todos clear`.
67
+ When every task reaches `completed`, the widget shows a brief confirmation, then clears itself after 2 seconds to give the screen back.
85
68
 
86
- ## Integration
69
+ ## Part of the suite
87
70
 
88
- When installed via `pi-archimedes` (the meta package), subagent todo events flow through `@pi-archimedes/core/bus` and appear as separate columns in the widget. Each subagent gets its own column labeled with its agent name. The column auto-removes when the subagent finishes.
71
+ With subagents running alongside in the [full suite](https://github.com/danielcherubini/pi-archimedes), each child gets its own named column to the right of yours — it appears on the child's first non-empty todo update over core's bus (empty updates are ignored; it does not appear when the worker merely starts), and it is removed when the child exits. The 2-second auto-clear is local to whatever list completed — a child clearing its own list does not dismiss the column in your session. On/off is managed by the suite: toggle via `/plugins` (`archimedes.todo.enabled`, default on).
89
72
 
90
- ← Back to [pi-archimedes](../../README.md)
73
+ ← [Back to pi-archimedes](https://github.com/danielcherubini/pi-archimedes)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-archimedes/todo",
3
- "version": "2.5.1",
3
+ "version": "2.6.2",
4
4
  "type": "module",
5
5
  "keywords": [
6
6
  "pi-package"
@@ -15,7 +15,7 @@
15
15
  "./prepare-args": "./src/prepare-args.ts"
16
16
  },
17
17
  "dependencies": {
18
- "@pi-archimedes/core": "2.5.1"
18
+ "@pi-archimedes/core": "2.6.2"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@earendil-works/pi-ai": ">=0.1.0",
@@ -23,9 +23,9 @@
23
23
  "@earendil-works/pi-tui": ">=0.1.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@earendil-works/pi-ai": "^0.84.4",
27
- "@earendil-works/pi-coding-agent": "^0.84.4",
28
- "@earendil-works/pi-tui": "^0.84.4",
26
+ "@earendil-works/pi-ai": "^0.85.1",
27
+ "@earendil-works/pi-coding-agent": "^0.85.1",
28
+ "@earendil-works/pi-tui": "^0.85.1",
29
29
  "typescript": "^6.0.0"
30
30
  },
31
31
  "pi": {