@staff0rd/assist 0.446.0 → 0.448.0
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 +2 -2
- package/claude/commands/draft.md +33 -12
- package/dist/commands/sessions/web/bundle.js +343 -343
- package/dist/index.js +66 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -130,8 +130,8 @@ Backlog item ids are written and displayed in an `a`-prefixed form (e.g. item 55
|
|
|
130
130
|
- `assist backlog [--dir <path>]` - Open the backlog tab in the web dashboard (same as `backlog web`). `--dir` overrides the directory used to resolve the current repository's git origin
|
|
131
131
|
- `assist backlog list [--status <type>] [-a, --all] [--all-repos] [-v]` - List backlog items with status icons (alias: `ls`). Defaults to the current repository's todo/in-progress items; `--all` includes done/wontdo, `--all-repos` lists items across all repositories. Also available as the top-level shortcut `assist list` / `assist ls` with the same flags
|
|
132
132
|
- `assist backlog add` - Add a new backlog item interactively (prompts for type: story/bug)
|
|
133
|
-
- `assist backlog add --name <n> --type <t> --desc <d> --ac <criterion...>` - Add a backlog item from CLI options
|
|
134
|
-
- `assist backlog propose --json <file|->` - Review a complete agent-authored backlog item before it is created, from a JSON payload read from a file or stdin (`name`, `type`, `description`, `acceptanceCriteria`). In a web session it slides the rendered item into the preview pane and blocks: approval writes the item (
|
|
133
|
+
- `assist backlog add --name <n> --type <t> --desc <d> --ac <criterion...>` - Add a backlog item from CLI options
|
|
134
|
+
- `assist backlog propose --json <file|->` - Review a complete agent-authored backlog item before it is created, from a JSON payload read from a file or stdin (`name`, `type`, `description`, `acceptanceCriteria`, and `phases` of `{ name, tasks, manualChecks }`). In a web session it slides the rendered item — plan included — into the preview pane and blocks: approval writes the item and every phase in order (plus any configured sub-tasks, and a bug's default `Fix` phase when no phases were given) and prints its id, while rejection exits non-zero with the reviewer's reason and each inline comment so the caller can revise and re-propose. Outside a web session it prints the rendered item and creates it. Used by `/draft` and `/bug`; the payload is strict, so an unknown key is an error. See [docs/backlog-item-preview.md](docs/backlog-item-preview.md)
|
|
135
135
|
- `assist backlog add-phase <id> <name> --task <t...> [--manual-check <c...>] [--position <pos>]` - Add a phase (appends by default; `--position` inserts at a 1-indexed position)
|
|
136
136
|
- `assist backlog add-subtask <id> --title <t> [--desc <d>]` - Add a sub-task (status `todo`) to a backlog item. Sub-tasks listed under the `subtasks` key (each `title` and optional `description`) in `assist.yml` and `~/.assist.yml` are auto-applied to every newly created item (stories and bugs); the global and project lists are combined
|
|
137
137
|
- `assist backlog edit-subtask <id> <idx> [--title <t>] [--desc <d>] [--status <s>]` - Edit a sub-task by its 1-based index from `backlog show`; updates any combination of title, description, and status (omitted fields are left unchanged). `--desc` supports Markdown and `\n` line breaks (pass `--desc ""` to clear it); `--status` must be one of `todo`, `in-progress`, `done`
|
package/claude/commands/draft.md
CHANGED
|
@@ -24,7 +24,16 @@ Ask one question at a time. Wait for the user's response before asking the next.
|
|
|
24
24
|
|
|
25
25
|
## Step 3: Propose the item
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Where the review happens depends on whether this is a web session — check it once:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
echo "${ASSIST_SESSION:-0}"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
- **`1` (web session):** do NOT print the item in the terminal. Skip straight to Step 5 — `assist backlog propose` slides the whole item, plan included, into the web UI preview pane, where the user approves it, rejects it, or leaves inline comments on specific lines. That pane is the review gate.
|
|
34
|
+
- **anything else:** show the user the item in chat as below, iterate (Step 4), then save.
|
|
35
|
+
|
|
36
|
+
Either way you compose the same content, so draft it before you call `propose`:
|
|
28
37
|
|
|
29
38
|
**Name:** (concise title)
|
|
30
39
|
**Type:** story or bug
|
|
@@ -83,27 +92,39 @@ Most phases should NOT have manual checks. Only add `manualChecks` to a phase wh
|
|
|
83
92
|
|
|
84
93
|
## Step 4: Iterate
|
|
85
94
|
|
|
86
|
-
|
|
95
|
+
In a web session, skip this step — the preview pane handles it.
|
|
87
96
|
|
|
88
|
-
|
|
97
|
+
Otherwise, ask the user if they want to change anything. Iterate until they confirm.
|
|
89
98
|
|
|
90
|
-
|
|
99
|
+
## Step 5: Save
|
|
91
100
|
|
|
92
|
-
|
|
101
|
+
Propose the item and capture the id it prints. Use `propose`, not `assist backlog add` plus `add-phase` — `propose` is the reviewed path for an agent-authored item, and it writes the item and every phase on a single approval:
|
|
93
102
|
|
|
94
103
|
```
|
|
95
|
-
|
|
104
|
+
cat <<'JSON' | assist backlog propose --json - 2>&1
|
|
105
|
+
{
|
|
106
|
+
"name": "Item name",
|
|
107
|
+
"type": "story",
|
|
108
|
+
"description": "## Background\n\nShort paragraph.\n\n## Goal\n\n- Bullet one\n- Bullet two",
|
|
109
|
+
"acceptanceCriteria": ["criterion 1", "criterion 2"],
|
|
110
|
+
"phases": [
|
|
111
|
+
{ "name": "Phase one name", "tasks": ["Task 1", "Task 2"] },
|
|
112
|
+
{ "name": "Phase two name", "tasks": ["Task 1"], "manualChecks": ["optional check"] }
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
JSON
|
|
96
116
|
```
|
|
97
117
|
|
|
98
|
-
|
|
118
|
+
The payload is strict JSON — an unknown key is an error. `\n` inside the `description` string is a JSON escape and becomes a real newline, which is what the markdown rendering needs. Each phase needs at least one task; omit `manualChecks` for the phases that don't need any (most of them).
|
|
99
119
|
|
|
100
|
-
|
|
120
|
+
In a web session this blocks until the user decides in the preview pane:
|
|
101
121
|
|
|
102
|
-
|
|
122
|
+
- **Approved** — the item and all of its phases are created, and the item id is printed.
|
|
123
|
+
- **Rejected** — the command exits non-zero and prints the reason plus every inline comment with the excerpt it was left on. Do not retry verbatim: address each comment — including ones about the plan — then call `propose` again with the revised payload. Repeat until it is approved.
|
|
103
124
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
125
|
+
Outside a web session the rendered item is printed and created straight away.
|
|
126
|
+
|
|
127
|
+
Note the created item id from the output — you'll pass it to the done signal below.
|
|
107
128
|
|
|
108
129
|
### Associate an external tracker
|
|
109
130
|
|