@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 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.
@@ -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.
@@ -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:** 1-3 sentences
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 "Description text" --ac "criterion 1" --ac "criterion 2" 2>&1
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 "New description"
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.