@hatchway/cli 0.51.0 → 0.51.3
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.
|
@@ -1,44 +1,66 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: todo-workflow
|
|
3
|
-
description: "Step-by-step task tracking
|
|
3
|
+
description: "Step-by-step task tracking via the TODO_WRITE marker. Use when executing any multi-step task, follow-up request, or build workflow."
|
|
4
4
|
user-invocable: false
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Todo Workflow
|
|
8
8
|
|
|
9
|
-
The Hatchway UI
|
|
9
|
+
The Hatchway UI shows build progress as a checklist. You drive that checklist by
|
|
10
|
+
emitting a **`TODO_WRITE:` marker** in your normal assistant text — **not** by
|
|
11
|
+
calling a tool. Do **not** use `TodoWrite`, `TaskCreate`, `TaskUpdate`, or
|
|
12
|
+
`TaskList` for progress tracking — the UI does not render those, and they are
|
|
13
|
+
unreliable in this environment. The UI renders progress **only** from the
|
|
14
|
+
`TODO_WRITE:` marker. If you never emit it, the user sees nothing happening.
|
|
10
15
|
|
|
11
|
-
##
|
|
16
|
+
## The marker
|
|
12
17
|
|
|
13
|
-
|
|
18
|
+
Write a line that begins with `TODO_WRITE:` followed by one JSON object holding
|
|
19
|
+
the **full** todo list (always include every item with its current status):
|
|
14
20
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
4. Write one sentence about what you did
|
|
19
|
-
5. Move to the next todo
|
|
21
|
+
```
|
|
22
|
+
TODO_WRITE: {"todos":[{"content":"Short task name","status":"in_progress","activeForm":"Doing the task"}]}
|
|
23
|
+
```
|
|
20
24
|
|
|
21
|
-
|
|
25
|
+
Rules:
|
|
26
|
+
- `status` is exactly one of: `"pending"`, `"in_progress"`, `"completed"`.
|
|
27
|
+
- Always emit the **complete** list every time — not just the item that changed.
|
|
28
|
+
- Put the marker on its own line. It is stripped from what the user sees, so it
|
|
29
|
+
is safe to emit often.
|
|
30
|
+
- It is plain text you write — you do not call any tool to produce it.
|
|
22
31
|
|
|
23
|
-
##
|
|
32
|
+
## Workflow
|
|
33
|
+
|
|
34
|
+
1. As soon as you understand the task, emit the full plan: the first item
|
|
35
|
+
`in_progress`, the rest `pending`.
|
|
36
|
+
2. Do the work for the `in_progress` item.
|
|
37
|
+
3. Emit the marker again with that item `completed` and the next `in_progress`.
|
|
38
|
+
4. Repeat until every item is `completed`.
|
|
24
39
|
|
|
25
|
-
|
|
40
|
+
Update after every single item — never batch multiple completions into one marker.
|
|
26
41
|
|
|
27
42
|
## Example
|
|
28
43
|
|
|
29
44
|
Task: "Add a dark mode toggle"
|
|
30
45
|
|
|
31
46
|
```
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
Added ThemeProvider with light/dark state and localStorage persistence.
|
|
36
|
-
TodoWrite → [{content: "Add toggle component to header", status: "in_progress"}, ...]
|
|
37
|
-
→ Create DarkModeToggle.tsx, add to Header
|
|
38
|
-
TodoWrite → [{content: "Add toggle component to header", status: "completed"}, ...]
|
|
39
|
-
Added moon/sun icon toggle to the header nav bar.
|
|
47
|
+
TODO_WRITE: {"todos":[{"content":"Add theme context","status":"in_progress","activeForm":"Adding theme context"},{"content":"Add toggle to header","status":"pending","activeForm":"Adding toggle to header"}]}
|
|
48
|
+
```
|
|
49
|
+
(create ThemeContext.tsx)
|
|
40
50
|
```
|
|
51
|
+
TODO_WRITE: {"todos":[{"content":"Add theme context","status":"completed","activeForm":"Adding theme context"},{"content":"Add toggle to header","status":"in_progress","activeForm":"Adding toggle to header"}]}
|
|
52
|
+
```
|
|
53
|
+
(create DarkModeToggle.tsx, add to Header)
|
|
54
|
+
```
|
|
55
|
+
TODO_WRITE: {"todos":[{"content":"Add theme context","status":"completed","activeForm":"Adding theme context"},{"content":"Add toggle to header","status":"completed","activeForm":"Adding toggle to header"}]}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Follow-ups
|
|
59
|
+
|
|
60
|
+
Even simple follow-up requests get at least one todo. Emit it `in_progress`, do
|
|
61
|
+
the work, then emit it `completed`.
|
|
41
62
|
|
|
42
63
|
## Autonomous Execution
|
|
43
64
|
|
|
44
|
-
Keep working until 100% complete. Do not pause to ask "Should I continue?" unless
|
|
65
|
+
Keep working until 100% complete. Do not pause to ask "Should I continue?" unless
|
|
66
|
+
you need information only the user can provide or encounter an unrecoverable error.
|