@gamflaz/opencode-todolist 1.0.5 → 1.0.6
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 +32 -31
- package/dist/icons/{convert.js → svg-icon.js} +1 -1
- package/dist/tui/todo-panel.js +742 -0
- package/package.json +1 -1
- package/dist/icons/capabilities.d.ts +0 -9
- package/dist/icons/capabilities.js +0 -15
- package/dist/icons/convert.d.ts +0 -7
- package/dist/icons/icons.d.ts +0 -4
- package/dist/icons/icons.js +0 -14
- package/dist/icons/svg-icon.jsx +0 -37
- package/dist/schema/status.schema.d.ts +0 -16
- package/dist/schema/status.schema.js +0 -14
- package/dist/schema/store.schema.d.ts +0 -19
- package/dist/schema/store.schema.js +0 -20
- package/dist/schema/todo.schema.d.ts +0 -281
- package/dist/schema/todo.schema.js +0 -112
- package/dist/skills/skill.d.ts +0 -24
- package/dist/skills/skill.js +0 -153
- package/dist/store/errors.d.ts +0 -3
- package/dist/store/errors.js +0 -6
- package/dist/store/store.d.ts +0 -145
- package/dist/store/store.js +0 -445
- package/dist/todo/display.d.ts +0 -21
- package/dist/todo/display.js +0 -53
- package/dist/todo/hint.d.ts +0 -16
- package/dist/todo/hint.js +0 -187
- package/dist/todo/todo.d.ts +0 -63
- package/dist/todo/todo.js +0 -188
- package/dist/todo/update.d.ts +0 -35
- package/dist/todo/update.js +0 -140
- package/dist/tui/todo-panel.jsx +0 -503
- package/dist/tui.jsx +0 -20
package/README.md
CHANGED
|
@@ -24,11 +24,27 @@ bun install
|
|
|
24
24
|
bun run build
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
+
Or add it directly through the OpenCode CLI:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
opencode plugin add @gamflaz/opencode-todolist
|
|
31
|
+
```
|
|
32
|
+
|
|
27
33
|
OpenCode loads local plugins from the plugins directory, but it does not install
|
|
28
34
|
their dependencies, so `bun install` is required before use.
|
|
29
35
|
|
|
30
36
|
## Tool: `manage_todo_list`
|
|
31
37
|
|
|
38
|
+
#### Operation fields
|
|
39
|
+
|
|
40
|
+
| Operation | Required fields | Optional fields |
|
|
41
|
+
| --------- | ------------------------------- | ------------------------------ |
|
|
42
|
+
| `read` | `operation` | None |
|
|
43
|
+
| `write` | `operation`, `todos` | None; use `todos: []` to clear |
|
|
44
|
+
| `update` | `operation`, `id`, `status` | `content`, `priority`, `note` |
|
|
45
|
+
|
|
46
|
+
For `update`, send `null` for `priority` or `note` to remove the existing value.
|
|
47
|
+
|
|
32
48
|
### Read
|
|
33
49
|
|
|
34
50
|
```json
|
|
@@ -77,6 +93,21 @@ Clear the current list:
|
|
|
77
93
|
{ "operation": "write", "todos": [] }
|
|
78
94
|
```
|
|
79
95
|
|
|
96
|
+
### Fields
|
|
97
|
+
|
|
98
|
+
#### Todo item fields
|
|
99
|
+
|
|
100
|
+
| Field | Type | Required | Description |
|
|
101
|
+
| ---------- | --------------------------------- | --------------- | ------------------------------------------------------------------------- |
|
|
102
|
+
| `id` | number | Yes | Root: positive integer. Child: `<root>.<n>`, such as `1.1`. |
|
|
103
|
+
| `content` | string | Yes | Task summary. |
|
|
104
|
+
| `status` | enum | Yes | `pending`, `in_progress`, `completed`, `cancelled`, or `error`. |
|
|
105
|
+
| `priority` | `high` \| `medium` \| `low` | No | Optional priority label. |
|
|
106
|
+
| `note` | string | No | Technical context or evidence. |
|
|
107
|
+
| `children` | array of child items | No, root only | Up to 9 subtasks. Child items cannot contain more children. |
|
|
108
|
+
|
|
109
|
+
Root IDs must be unique. A child ID must start with its parent root ID.
|
|
110
|
+
|
|
80
111
|
### Update
|
|
81
112
|
|
|
82
113
|
`update` changes one existing root or subtask. Send only the fields that change;
|
|
@@ -91,7 +122,7 @@ Clear the current list:
|
|
|
91
122
|
}
|
|
92
123
|
```
|
|
93
124
|
|
|
94
|
-
|
|
125
|
+
### Fields
|
|
95
126
|
|
|
96
127
|
| Field | Required | Notes |
|
|
97
128
|
| ---------- | -------- | ------------------------------------------------------------ |
|
|
@@ -101,36 +132,6 @@ Field values:
|
|
|
101
132
|
| `note` | No | Technical context or evidence. Pass `null` to remove. |
|
|
102
133
|
| `priority` | No | `high`, `medium`, or `low`. Pass `null` to remove. |
|
|
103
134
|
|
|
104
|
-
## Rules
|
|
105
|
-
|
|
106
|
-
1. **One root at a time, in order.** Root `2` cannot start while root `1` is
|
|
107
|
-
still open. Finish or cancel root `1` first.
|
|
108
|
-
2. **One active subtask per root.** Starting a second `in_progress` subtask is
|
|
109
|
-
rejected until the first one finishes or is cancelled.
|
|
110
|
-
3. **Forward-only progress.** `in_progress` never returns to `pending`, and
|
|
111
|
-
`completed` or `cancelled` items are locked.
|
|
112
|
-
4. **Error exception.** A root that reports `error` may be fixed early, but only
|
|
113
|
-
that root and its own subtasks; every other root still waits its turn.
|
|
114
|
-
5. **Evidence in `note`.** Record what was verified before marking an item
|
|
115
|
-
`completed`.
|
|
116
|
-
|
|
117
|
-
Every response reports progress, the next step, and any status transitions, for
|
|
118
|
-
example:
|
|
119
|
-
|
|
120
|
-
```text
|
|
121
|
-
Todos (2/4) updated. Next: 2 "Write tests". Continue immediately.
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
## TUI widget
|
|
125
|
-
|
|
126
|
-
The widget sits above the session composer:
|
|
127
|
-
|
|
128
|
-
- Collapsed view shows the progress count and the active item.
|
|
129
|
-
- Expand it to see every task; long lists scroll.
|
|
130
|
-
- `↻ Continue` asks the session to resume the next open item with a short
|
|
131
|
-
summary of what remains.
|
|
132
|
-
- `✕` clears the list.
|
|
133
|
-
|
|
134
135
|
## Skills
|
|
135
136
|
|
|
136
137
|
`skills/todolist` and `skills/continue-todolist` ship with the plugin and are
|
|
@@ -11,7 +11,7 @@ import { usePlugin } from "@opencode/plugin/tui";
|
|
|
11
11
|
import { rgbToHex } from "@opentui/core";
|
|
12
12
|
import { Resvg } from "@resvg/resvg-js";
|
|
13
13
|
import { createMemo, createSignal, onCleanup, Show } from "solid-js";
|
|
14
|
-
import { supportsImageRendering } from "./capabilities";
|
|
14
|
+
import { supportsImageRendering } from "./image-capabilities";
|
|
15
15
|
export function SvgIcon(props) {
|
|
16
16
|
const {
|
|
17
17
|
source: _,
|