@staff0rd/assist 0.363.0 → 0.365.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 +4 -1
- package/claude/commands/bug.md +18 -1
- package/claude/commands/draft.md +15 -2
- package/claude/commands/refine.md +3 -1
- package/claude/commands/subtask.md +6 -0
- package/dist/commands/sessions/web/bundle.js +76 -76
- package/dist/index.js +234 -120
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -167,7 +167,8 @@ The first backlog command in a repository that still has a local `.assist/backlo
|
|
|
167
167
|
- `assist config set <key> <value>` - Set a config value (e.g. commit.push true)
|
|
168
168
|
- `assist config get <key>` - Get a config value
|
|
169
169
|
- `assist config list` - List all config values
|
|
170
|
-
- `prs.slack` - The Slack channel (e.g. `#example`) that `/prs-slack` posts pull requests to via the Slack MCP connector
|
|
170
|
+
- `prs.slack` - The Slack channel (e.g. `#example`) that `/prs-slack` posts pull requests to via the Slack MCP connector (optional; can be omitted when only `prs.required` is set)
|
|
171
|
+
- `prs.required` - When `true` (default `false`), `assist backlog run` auto-branches a story that has no recorded branch at run start, so a new story never inherits the previous story's branch
|
|
171
172
|
- `assist verify` - Run all verify:\* commands in parallel (from run configs in assist.yml and scripts in package.json)
|
|
172
173
|
- `assist verify all` - Run all checks, ignoring diff-based filters
|
|
173
174
|
- `assist verify --measure` - After the run, print a summary table of each command's status and duration (slowest first) plus a wall-clock total
|
|
@@ -304,6 +305,8 @@ When `branch.prefix` is set (e.g. `sw`), `assist branch <slug>` prepends `<prefi
|
|
|
304
305
|
|
|
305
306
|
`assist branch` resolves the base branch live from the remote (`git ls-remote --symref origin HEAD`), so it never depends on a stale or unset local `origin/HEAD`. If the remote advertises no default it falls back to `main`. Set `branch.defaultBranch` (e.g. `develop`) to override the base branch outright.
|
|
306
307
|
|
|
308
|
+
When `prs.required` is `true`, `assist backlog run` checks at run start whether a branch has been recorded against the story; if none has, it uses the same branch-creation code as `assist branch` to cut a fresh branch off `origin/<default>` (name derived from the story's title, plus its Jira key when associated) and records it against the story. A story that already has a recorded branch is left untouched, so resumes and later phases never re-branch. With the key unset or `false`, run behaviour is unchanged.
|
|
309
|
+
|
|
307
310
|
## netcap browser extension
|
|
308
311
|
|
|
309
312
|
`assist netcap` only runs the receiver; the browser side is a raw Manifest V3 extension (no build step) under `netcap-extension/`. A MAIN-world content script patches `fetch`/`XMLHttpRequest` to capture `{url, method, status, requestBody, responseBody, timestamp}`, relays each entry to the background service worker (`window.postMessage` → `chrome.runtime.sendMessage`), and the background worker POSTs it to the receiver. The XHR patch reads the response across every `responseType` (`json`, `blob`, `arraybuffer`, `document`, not just `text`) — LinkedIn's voyager GraphQL calls use `responseType: "json"`, which exposes no `responseText`, so reading `responseText` alone captured those bodies empty. Forwarding happens in the background context, so the page's CSP (`connect-src`) never blocks it — the limitation that killed the earlier console-paste approach.
|
package/claude/commands/bug.md
CHANGED
|
@@ -38,6 +38,21 @@ Show the user the bug report:
|
|
|
38
38
|
|
|
39
39
|
Do NOT generate a plan — the implementer will determine how to fix it.
|
|
40
40
|
|
|
41
|
+
### Writing the description
|
|
42
|
+
|
|
43
|
+
The description renders as markdown in both the terminal (`assist backlog show`) and the web UI, so author it as structured markdown — never a single run-on prose paragraph. Use bold section labels or `##` headings, a numbered list for the repro steps, and short paragraphs for Expected/Actual:
|
|
44
|
+
|
|
45
|
+
```markdown
|
|
46
|
+
**Repro:**
|
|
47
|
+
|
|
48
|
+
1. Step one
|
|
49
|
+
2. Step two
|
|
50
|
+
|
|
51
|
+
**Expected:** what should happen.
|
|
52
|
+
|
|
53
|
+
**Actual:** what happens instead.
|
|
54
|
+
```
|
|
55
|
+
|
|
41
56
|
## Step 4: Iterate
|
|
42
57
|
|
|
43
58
|
Ask the user if they want to change anything. Iterate until they confirm.
|
|
@@ -47,9 +62,11 @@ Ask the user if they want to change anything. Iterate until they confirm.
|
|
|
47
62
|
Once confirmed, add the item via CLI and capture the id it prints:
|
|
48
63
|
|
|
49
64
|
```
|
|
50
|
-
assist backlog add --name "Bug title" --type bug --desc "**Repro:**\n1. ...\n\n**Expected:** ...\n\n**Actual:** ..." --ac "criterion 1" --ac "criterion 2" 2>&1
|
|
65
|
+
assist backlog add --name "Bug title" --type bug --desc "$(printf '**Repro:**\n\n1. ...\n2. ...\n\n**Expected:** ...\n\n**Actual:** ...')" --ac "criterion 1" --ac "criterion 2" 2>&1
|
|
51
66
|
```
|
|
52
67
|
|
|
68
|
+
Pass the description as real markdown with line breaks preserved (use `printf` or a quoted heredoc so the `\n` sequences become actual newlines, not literal `\n` characters).
|
|
69
|
+
|
|
53
70
|
Note the created item id from the output — you'll pass it to the done signal below.
|
|
54
71
|
|
|
55
72
|
Then show the user the item was created and suggest they can run `assist backlog run <id>` to start implementation.
|
package/claude/commands/draft.md
CHANGED
|
@@ -28,11 +28,22 @@ Once you have enough context, propose a complete backlog item. Show it to the us
|
|
|
28
28
|
|
|
29
29
|
**Name:** (concise title)
|
|
30
30
|
**Type:** story or bug
|
|
31
|
-
**Description:**
|
|
31
|
+
**Description:** (structured markdown — see below)
|
|
32
32
|
**Acceptance Criteria:**
|
|
33
33
|
|
|
34
34
|
- (specific, testable criteria)
|
|
35
35
|
|
|
36
|
+
### Writing the description
|
|
37
|
+
|
|
38
|
+
Descriptions render as markdown in both the terminal (`assist backlog show`) and the web UI, so author them as structured markdown — never a single run-on prose paragraph:
|
|
39
|
+
|
|
40
|
+
- Use short paragraphs (1-3 sentences each), separated by blank lines.
|
|
41
|
+
- Use `##` headings to break longer descriptions into sections (e.g. Background, Goal, Notes).
|
|
42
|
+
- Use bullet lists for enumerations and `-`/`1.` lists where they read more clearly than prose.
|
|
43
|
+
- Use **bold**, `inline code`, and other inline markdown for emphasis and identifiers.
|
|
44
|
+
|
|
45
|
+
Keep it scannable. A short item can be a couple of tight paragraphs; a larger one should use headings and lists.
|
|
46
|
+
|
|
36
47
|
**Plan:**
|
|
37
48
|
|
|
38
49
|
- Phase 1: (name) — tasks...
|
|
@@ -81,9 +92,11 @@ Once confirmed, create the item and its phases via CLI commands.
|
|
|
81
92
|
First, add the item and capture the id it prints:
|
|
82
93
|
|
|
83
94
|
```
|
|
84
|
-
assist backlog add --name "Item name" --type story --desc "
|
|
95
|
+
assist backlog add --name "Item name" --type story --desc "$(printf '## Background\n\nShort paragraph.\n\n## Goal\n\n- Bullet one\n- Bullet two')" --ac "criterion 1" --ac "criterion 2" 2>&1
|
|
85
96
|
```
|
|
86
97
|
|
|
98
|
+
Pass the description as real markdown with line breaks preserved (use `printf` or a quoted heredoc so `\n` becomes actual newlines, not the literal `\n` characters).
|
|
99
|
+
|
|
87
100
|
Note the created item id from the output — you'll pass it to the done signal below.
|
|
88
101
|
|
|
89
102
|
Then add each phase:
|
|
@@ -37,13 +37,15 @@ Based on the user's input, apply changes using the appropriate commands. Always
|
|
|
37
37
|
|
|
38
38
|
```
|
|
39
39
|
assist backlog update-field <id> --name "New name"
|
|
40
|
-
assist backlog update-field <id> --desc "
|
|
40
|
+
assist backlog update-field <id> --desc "$(printf '## Section\n\nShort paragraph.\n\n- Bullet one\n- Bullet two')"
|
|
41
41
|
assist backlog update-field <id> --type story
|
|
42
42
|
assist backlog update-field <id> --ac "criterion 1" --ac "criterion 2"
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
Note: `--ac` replaces all acceptance criteria, so include the full list (both existing and new).
|
|
46
46
|
|
|
47
|
+
Descriptions render as markdown in both the terminal (`assist backlog show`) and the web UI, so author them as structured markdown — short paragraphs, `##` headings for longer descriptions, and bullet lists rather than one run-on prose paragraph. Pass the value as real markdown with line breaks preserved (use `printf` or a quoted heredoc so `\n` becomes actual newlines, not literal `\n` characters).
|
|
48
|
+
|
|
47
49
|
**To modify a plan phase** (phase is 0-indexed):
|
|
48
50
|
|
|
49
51
|
```
|
|
@@ -21,4 +21,10 @@ assist backlog add-subtask <id> --title '<sub-task text>' 2>&1
|
|
|
21
21
|
|
|
22
22
|
Use single quotes around the title to avoid shell escaping issues. The sub-task is created with status `todo`.
|
|
23
23
|
|
|
24
|
+
If the sub-task needs more than a title — extra context, steps, or acceptance detail — pass a `--desc` as well. Sub-task descriptions render as markdown in both the terminal (`assist backlog show`) and the web UI, so author them as structured markdown (short paragraphs, bullet lists, optional `##` headings), never a single run-on prose paragraph. Preserve line breaks by building the value with `printf` (or a quoted heredoc) so `\n` becomes real newlines:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
assist backlog add-subtask <id> --title '<sub-task text>' --desc "$(printf '## Context\n\nShort paragraph.\n\n- Point one\n- Point two')" 2>&1
|
|
28
|
+
```
|
|
29
|
+
|
|
24
30
|
Display the command output so the user can see the result. If the command reports an error (item not found, or a missing title), relay it to the user.
|