@staff0rd/assist 0.479.0 → 0.479.1
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 +228 -193
- package/dist/commands/sessions/web/bundle.js +372 -372
- package/dist/index.js +64 -28
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -41,33 +41,33 @@ After installation, the `assist` command will be available globally. You can als
|
|
|
41
41
|
## Claude Commands
|
|
42
42
|
|
|
43
43
|
- `/add-command` - Add a new run command to assist.yml
|
|
44
|
-
- `/branch <description> [--jira KEY]` - Create a branch off the fresh remote default
|
|
44
|
+
- `/branch <description> [--jira KEY]` - Create a branch off the fresh remote default, deriving a kebab-case slug from the description
|
|
45
45
|
- `/bug` - File a bug with reproduction steps, expected and actual behavior
|
|
46
46
|
- `/comment` - Add pending review comments to the current PR
|
|
47
47
|
- `/commit` - Commit only relevant files from the session
|
|
48
48
|
- `/devlog` - Generate devlog entry for the next unversioned day
|
|
49
49
|
- `/draft` - Draft a new backlog item with LLM-assisted questioning
|
|
50
|
-
- `/forward-comments` - Split a coarse PR comment
|
|
51
|
-
- `/handover` - Write a session handover note for the next conversation
|
|
52
|
-
- `/pr` - Raise a PR with a concise description, then watch CI in the background
|
|
50
|
+
- `/forward-comments` - Split a coarse PR comment into per-line review comments, attributed to the original reviewer
|
|
51
|
+
- `/handover` - Write a session handover note for the next conversation
|
|
52
|
+
- `/pr` - Raise a PR with a concise description, then watch CI in the background
|
|
53
53
|
- `/prs-slack <number>` - Post a PR's title and URL to the Slack channel configured in `prs.slack`
|
|
54
54
|
- `/refactor` - Run refactoring checks for code quality
|
|
55
55
|
- `/prompts` - Analyze denied tool calls and suggest settings changes to auto-allow recurring prompts
|
|
56
|
-
- `/recall` - Recall the most recent handover note for this repo
|
|
56
|
+
- `/recall` - Recall the most recent handover note for this repo
|
|
57
57
|
- `/refine` - Refine an existing backlog item through conversation
|
|
58
58
|
- `/restructure` - Analyze and restructure tightly-coupled files
|
|
59
59
|
- `/review-pr-comments` - Process PR review comments one by one
|
|
60
|
-
- `/jira [action] [KEY] [args]` -
|
|
61
|
-
- `/github [action] [ref] [args]` -
|
|
62
|
-
- `/journal` - Append a journal entry summarising recent work
|
|
63
|
-
- `/next [id]` - Signal completion and chain into the next backlog item
|
|
60
|
+
- `/jira [action] [KEY] [args]` - Jira actions: `view`, `associate`, `update`, `started`, `done`, `help`. `[KEY]` is optional — it resolves from the session's backlog item
|
|
61
|
+
- `/github [action] [ref] [args]` - GitHub issue actions: `view`, `associate`, `update`, `started`, `done`, `help`. `[ref]` is optional — it resolves from the session's backlog item
|
|
62
|
+
- `/journal` - Append a journal entry summarising recent work
|
|
63
|
+
- `/next [id]` - Signal completion and chain into the next backlog item
|
|
64
64
|
- `/standup` - Summarise recent journal entries as a standup update
|
|
65
|
-
- `/subtask <text>` - Add a sub-task to the
|
|
66
|
-
- `/strip-code-comments` -
|
|
65
|
+
- `/subtask <text>` - Add a sub-task to the session's current backlog item
|
|
66
|
+
- `/strip-code-comments` - Strip redundant comments from tracked source files
|
|
67
67
|
- `/sync` - Sync commands and settings to ~/.claude
|
|
68
|
-
- `/design <prompt>` -
|
|
68
|
+
- `/design <prompt>` - Apply the vendored design system prompt to a design task
|
|
69
69
|
- `/test-cover` - Incrementally increase test coverage by identifying and testing uncovered files
|
|
70
|
-
- `/test-review` - Review existing tests for quality, coverage gaps, and
|
|
70
|
+
- `/test-review` - Review existing tests for quality, coverage gaps, and conventions
|
|
71
71
|
- `/inspect` - Run .NET code inspections on changed files
|
|
72
72
|
- `/screenshot` - Capture a screenshot of a running application window
|
|
73
73
|
- `/raven` - Query and manage RavenDB connections and collections
|
|
@@ -84,282 +84,317 @@ After installation, the `assist` command will be available globally. You can als
|
|
|
84
84
|
|
|
85
85
|
## CLI Commands
|
|
86
86
|
|
|
87
|
+
Every command supports `--help` for full detail on its flags and behaviour.
|
|
88
|
+
|
|
89
|
+
### Database
|
|
90
|
+
|
|
91
|
+
- `assist backup [-o, --out <dir>]` - Dump the entire backlog database to `<dir>/backup-<timestamp>.dump` (default `~/.assist/backups`, or `backup.dir`)
|
|
92
|
+
- `assist backup schedule --every <duration>` - Install or update a crontab block running `assist backup` on a cadence (e.g. `5m`, `6h`)
|
|
93
|
+
- `assist backup schedule status` - Print the active backup cadence and cron expression
|
|
94
|
+
- `assist backup schedule remove` - Remove the backup schedule block from the crontab
|
|
95
|
+
- `assist db migrate` - Apply pending backlog database migrations in order
|
|
96
|
+
- `assist db status` - Report whether the database is in sync with the build's bundled migrations
|
|
97
|
+
|
|
98
|
+
### Git and GitHub
|
|
99
|
+
|
|
100
|
+
- `assist sync` - Copy commands, settings, `CLAUDE.md` and design assets to `~/.claude` (plus `~/.codex` and `~/.pi` when those CLIs are on PATH)
|
|
87
101
|
- `assist activity [--since <date>]` - Chart GitHub commit activity per day (defaults to last 30 days)
|
|
88
|
-
- `assist backup [-o, --out <dir>]` - Write a dump of the entire backlog database to `<dir>/backup-<timestamp>.dump` (default dir `~/.assist/backups`, overridable via the `backup.dir` config key or `--out`) and record the dump's path and byte size in the backups table; on failure no row is recorded and the command exits with an error
|
|
89
|
-
- `assist backup schedule --every <duration>` - Install or update a marked crontab block that runs `assist backup` on a recurring cadence (e.g. `5m` → `*/5 * * * *`, `6h` → `0 */6 * * *`), appending output to `<backup.dir>/cron.log`; re-running with a new duration replaces the block without duplicating it. Durations cron cannot represent evenly (sub-minute, or non-divisor intervals like `90m`) are rejected
|
|
90
|
-
- `assist backup schedule status` - Print the active backup cadence and cron expression, or report that none is set
|
|
91
|
-
- `assist backup schedule remove` - Remove the marked backup schedule block from the crontab, leaving all other crontab lines intact (reports if none is set)
|
|
92
|
-
- `assist db migrate` - Apply pending backlog database migrations in order, recording each in the `applied_migrations` table; a no-op when the database is already up to date. Run this after installing a build that ships new migrations
|
|
93
|
-
- `assist db status` - Report whether the database is in sync with the build's bundled migrations, behind (run `assist db migrate`), or ahead (update assist)
|
|
94
|
-
- `assist init` - Initialize project with VS Code and verify configurations
|
|
95
|
-
- `assist new vite` - Initialize a new Vite React TypeScript project
|
|
96
|
-
- `assist new cli` - Initialize a new tsup CLI project
|
|
97
|
-
- `assist sync` - Copy command files to `~/.claude/commands`, sync `settings.json` and `CLAUDE.md`, and install the design assets — `claude/system-prompt.md` to `~/.claude/system-prompt.md` and `claude/skills/*` into `~/.claude/skills` (existing files in that directory are preserved). When the `codex` CLI is detected on PATH, additionally installs each command as a Codex skill at `~/.codex/skills/<name>/SKILL.md`, `CLAUDE.md` as `~/.codex/AGENTS.md`, and registers the `assist codex-hook` auto-approval hook (`PreToolUse` for `Bash`, plus `PermissionRequest`) in a managed block in `~/.codex/config.toml`, leaving the `~/.claude` copy untouched. When the `pi` CLI is detected on PATH, additionally installs each command as a pi prompt template (native slash-command) at `~/.pi/agent/prompts/<name>.md`, `CLAUDE.md` as `~/.pi/agent/AGENTS.md`, and installs the assist pi extensions at `~/.pi/agent/extensions/assist-*.ts` — the `assist pi-hook` permission gate (reconciling pi's run-everything default with the shared allowlist) and the status driver (pushing running/waiting to the sessions daemon via `assist sessions set-status`) — leaving the `~/.claude` and `~/.codex` copies untouched
|
|
98
102
|
- `assist commit status` - Show git status and diff
|
|
99
|
-
- `assist commit <message>` - Commit staged changes with validation
|
|
100
103
|
- `assist commit <message> [files...]` - Stage files and create a git commit with validation
|
|
101
|
-
- `assist branch <slug> [--jira <key>] [--from <ref>]` - Create and switch to a new branch off the fresh remote default
|
|
102
|
-
- `assist watch wait [--interval <
|
|
104
|
+
- `assist branch <slug> [--jira <key>] [--from <ref>]` - Create and switch to a new branch off the fresh remote default (or `--from <ref>`); name is `[<prefix>/][<JIRA>-]<slug>`, long slugs shortened by LLM
|
|
105
|
+
- `assist watch wait [--interval <d>] [--timeout <d>] [--pull]` - Block until the current branch's upstream gains commits, then exit. Exit codes: `0` moved (and cleanly pulled with `--pull`), `2` timed out, `3` pull was not a fast-forward, `1` cannot wait, `130` interrupted
|
|
103
106
|
- `assist prs` - List pull requests for the current repository
|
|
104
|
-
- `assist prs raise --title <
|
|
105
|
-
- `assist prs edit [--title <
|
|
107
|
+
- `assist prs raise --title <t> --what <w> --why <y> [--how <h>] [--resolves <key>] [--force]` - Raise a PR, assembling the body from What/Why/How. In a web session the draft is previewed for approve/reject (with inline comments and pasted screenshots, hosted via the [`gh-image`](https://github.com/drogers0/gh-image) gh extension) before the PR is created
|
|
108
|
+
- `assist prs edit [--title <t>] [--what <w>] [--why <y>] [--how <h>] [--resolves <key>]` - Update only the supplied sections of the current PR's body
|
|
106
109
|
- `assist prs list-comments` - List all comments on the current branch's pull request
|
|
107
110
|
- `assist prs fixed <comment-id> <sha>` - Reply with commit link and resolve thread
|
|
108
111
|
- `assist prs wontfix <comment-id> <reason>` - Reply with reason and resolve thread
|
|
109
112
|
- `assist prs reply <comment-id> <body>` - Reply to a comment thread without resolving it
|
|
110
113
|
- `assist prs comment <path> <line> <body>` - Add a line comment to the pending review
|
|
111
|
-
- `assist review [number]
|
|
112
|
-
- `[number]` -
|
|
114
|
+
- `assist review [number]` - Run Claude and Codex in parallel to review the current branch's PR, then post line-bound comments. The diff comes from GitHub, so stale local base branches don't pollute the review; cached `claude.md` / `codex.md` / `synthesis.md` are reused when present
|
|
115
|
+
- `[number]` - `gh pr checkout <number>` first, placed by the worktree allocator on a repo with parallel work enabled (see [docs/parallel-work.md](docs/parallel-work.md))
|
|
113
116
|
- `--no-prompt` - Skip all confirmations
|
|
114
|
-
- `--submit` - Default the submit prompt to yes
|
|
117
|
+
- `--submit` - Default the submit prompt to yes
|
|
115
118
|
- `--force` - Clear all cached files and re-run every phase
|
|
116
|
-
- `--refine` - Skip posting;
|
|
117
|
-
- `--apply` - Skip posting;
|
|
118
|
-
- `--backlog` - Skip posting;
|
|
119
|
-
- `--verbose` -
|
|
120
|
-
- `assist github commits <org
|
|
121
|
-
- `--since <date>` - Start of the window as `YYYY-MM-DD` instead of the default 30 days ago
|
|
122
|
-
- `--top <n>` - Only report the top `n` repos by commit count; committers and the author breakdown then cover those repos only (also caps the per-repo author queries, which speeds up large orgs)
|
|
123
|
-
- `--json` - Output all three views as structured JSON instead of tables
|
|
119
|
+
- `--refine` - Skip posting; walk through `synthesis.md` interactively and edit it in place
|
|
120
|
+
- `--apply` - Skip posting; walk through each finding asking apply/skip. Applied findings are fixed in the working tree
|
|
121
|
+
- `--backlog` - Skip posting; file all findings as a single bug backlog item with one phase per finding
|
|
122
|
+
- `--verbose` - Per-line log output instead of the stacked-spinner UI (automatic in CI)
|
|
123
|
+
- `assist github commits <org> [--since <date>] [--top <n>] [--json]` - Report commit activity across a GitHub organisation: repos ranked by commits, top committers, and a per-repo author breakdown
|
|
124
124
|
- `assist news add [url]` - Add an RSS feed URL (rendered in the sessions web News tab)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
- `assist backlog
|
|
133
|
-
- `assist backlog
|
|
134
|
-
- `assist backlog add
|
|
135
|
-
- `assist backlog
|
|
136
|
-
- `assist backlog
|
|
137
|
-
- `assist backlog
|
|
138
|
-
- `assist backlog
|
|
139
|
-
- `assist backlog remove-subtask <id> <idx>` - Remove a sub-task by its 1-based index from `backlog show`; the remaining sub-tasks are re-indexed so they stay contiguous
|
|
140
|
-
- `assist backlog subtask-status <id> <idx> <status>` - Set a sub-task's status (`todo`, `in-progress`, `done`) by its 1-based index from `backlog show`
|
|
125
|
+
|
|
126
|
+
### Backlog
|
|
127
|
+
|
|
128
|
+
Backlog data is stored in a global Postgres database (shared across all repos, scoped per repository by git origin), so a connection string is required. Set it via the `ASSIST_DATABASE_URL` environment variable or the `database.url` key in `assist.yml`; the environment variable takes precedence. Without one, every `assist backlog` command exits with a setup message. Commands default to the current repository's items; pass `--all-repos` to span every repository.
|
|
129
|
+
|
|
130
|
+
Backlog item ids are written and displayed in an `a`-prefixed form (e.g. item 555 is `a555`) to disambiguate them from GitHub PR/issue numbers (`#42`) and Jira keys. Commands and web API routes that take an `<id>` accept either form.
|
|
131
|
+
|
|
132
|
+
- `assist backlog [--dir <path>]` - Open the backlog tab in the web dashboard (same as `backlog web`)
|
|
133
|
+
- `assist backlog list [--status <type>] [-a, --all] [--all-repos] [-v]` - List backlog items with status icons (alias: `ls`; also `assist list` / `assist ls`)
|
|
134
|
+
- `assist backlog add` - Add a new backlog item interactively (human CLI use only; agents must use `propose`)
|
|
135
|
+
- `assist backlog add --name <n> --type <t> --desc <d> --ac <criterion...>` - Add a backlog item from CLI options
|
|
136
|
+
- `assist backlog propose --json <file|->` - Create an agent-authored item from a JSON payload, previewed for approval in a web session. Used by `/draft` and `/bug`. See [docs/backlog-item-preview.md](docs/backlog-item-preview.md)
|
|
137
|
+
- `assist backlog show <id>` - Display full detail for a backlog item (alias: `view`)
|
|
138
|
+
- `assist backlog plan <id>` - Display the phased plan for a backlog item
|
|
141
139
|
- `assist backlog update-field <id> [--name <n>] [--desc <d>] [--type <t>] [--ac <criterion...>]` - Update fields on a backlog item
|
|
142
|
-
- `assist backlog update-field <id> [--add-ac <text>] [--edit-ac <n> <text>] [--remove-ac <n>]` - Granular
|
|
143
|
-
- `assist backlog update-field <id> --origin [url-or-key]` - Retag a single item to a different repo
|
|
144
|
-
- `assist backlog
|
|
145
|
-
- `assist backlog update-phase <id> <phase> [--
|
|
140
|
+
- `assist backlog update-field <id> [--add-ac <text>] [--edit-ac <n> <text>] [--remove-ac <n>]` - Granular 1-based acceptance-criteria edits
|
|
141
|
+
- `assist backlog update-field <id> --origin [url-or-key]` - Retag a single item to a different repo
|
|
142
|
+
- `assist backlog add-phase <id> <name> --task <t...> [--manual-check <c...>] [--position <pos>]` - Add a phase to an existing item
|
|
143
|
+
- `assist backlog update-phase <id> <phase> [--name <n>] [--task <t...>] [--manual-check <c...>]` - Modify a plan phase (alias: `edit-phase`)
|
|
144
|
+
- `assist backlog update-phase <id> <phase> [--add-task <t>] [--edit-task <n> <t>] [--remove-task <n>] [--add-check <c>] [--edit-check <n> <c>] [--remove-check <n>]` - Granular 1-based task and manual-check edits
|
|
146
145
|
- `assist backlog remove-phase <id> <phase>` - Remove a plan phase from a backlog item
|
|
147
|
-
- `assist backlog move-phase <id> <from> <to>` - Reorder a plan phase
|
|
148
|
-
- `assist backlog update-plan <id> --json <file|->` - Replace an
|
|
149
|
-
- `assist backlog
|
|
150
|
-
- `assist backlog
|
|
146
|
+
- `assist backlog move-phase <id> <from> <to>` - Reorder a plan phase between 1-based positions
|
|
147
|
+
- `assist backlog update-plan <id> --json <file|->` - Replace an item's whole plan from a JSON payload, previewed as a single diff for approval. The path `/refine` and agent sessions use for every plan change
|
|
148
|
+
- `assist backlog add-subtask <id> --title <t> [--desc <d>]` - Add a sub-task. Sub-tasks under the `subtasks` key in `assist.yml` / `~/.assist.yml` are auto-applied to every new item
|
|
149
|
+
- `assist backlog edit-subtask <id> <idx> [--title <t>] [--desc <d>] [--status <s>]` - Edit a sub-task by its 1-based index
|
|
150
|
+
- `assist backlog remove-subtask <id> <idx>` - Remove a sub-task by its 1-based index
|
|
151
|
+
- `assist backlog subtask-status <id> <idx> <status>` - Set a sub-task's status (`todo`, `in-progress`, `done`)
|
|
151
152
|
- `assist backlog start <id>` - Set a backlog item to in-progress
|
|
152
|
-
- `assist backlog stop` - Revert all in-progress
|
|
153
|
+
- `assist backlog stop` - Revert all in-progress items to todo and reset their phase to 1
|
|
153
154
|
- `assist backlog done <id>` - Set a backlog item to done (blocked while any sub-task is not done)
|
|
154
155
|
- `assist backlog wontdo <id> [reason]` - Set a backlog item to won't do
|
|
155
|
-
- `assist backlog set-status <id> <status>` - Set
|
|
156
|
-
- `assist backlog star <id>`
|
|
157
|
-
- `assist backlog unstar <id>` - Remove the star from a backlog item
|
|
156
|
+
- `assist backlog set-status <id> <status>` - Set status (`todo`, `in-progress`, `done`, `wontdo`)
|
|
157
|
+
- `assist backlog star <id>` / `assist backlog unstar <id>` - Pin an item ahead of unstarred items in the web view
|
|
158
158
|
- `assist backlog delete <id>` - Delete a backlog item
|
|
159
|
-
- `assist backlog show <id>` - Display full detail for a backlog item (alias: `view`)
|
|
160
|
-
- `assist backlog plan <id>` - Display the phased plan for a backlog item
|
|
161
159
|
- `assist backlog comment <id> <text>` - Add a comment to a backlog item
|
|
162
160
|
- `assist backlog comments <id>` - List comments and summaries for a backlog item
|
|
163
|
-
- `assist backlog delete-comment <id> <comment-id>` - Delete a comment
|
|
164
|
-
- `assist backlog phase-done <id> <phase> <summary>` - Signal that a plan phase is complete
|
|
165
|
-
- `assist backlog rewind <id> <phase> --reason <reason>` - Rewind
|
|
166
|
-
- `assist backlog
|
|
167
|
-
- `assist backlog
|
|
168
|
-
- `assist backlog
|
|
169
|
-
- `assist backlog
|
|
170
|
-
- `assist backlog
|
|
171
|
-
- `assist backlog
|
|
172
|
-
- `assist backlog
|
|
173
|
-
- `assist backlog
|
|
174
|
-
- `assist backlog
|
|
175
|
-
- `assist backlog
|
|
176
|
-
- `assist
|
|
177
|
-
- `assist
|
|
178
|
-
|
|
161
|
+
- `assist backlog delete-comment <id> <comment-id>` - Delete a comment (summaries cannot be deleted)
|
|
162
|
+
- `assist backlog phase-done <id> <phase> <summary>` - Signal that a plan phase is complete
|
|
163
|
+
- `assist backlog rewind <id> <phase> --reason <reason>` - Rewind an item to an earlier phase
|
|
164
|
+
- `assist backlog next [id] [--once]` - Pick and run the next backlog item, or open `/draft` if none remain
|
|
165
|
+
- `assist backlog refine [id] [--once] [--harness <claude|codex|pi>]` - Alias for `refine`
|
|
166
|
+
- `assist backlog run <id>` - Run a backlog item's plan phase-by-phase with Claude; refuses to start when another live process is already running that item
|
|
167
|
+
- `assist backlog export [file]` - Export every table in the backlog database to a file, or stdout
|
|
168
|
+
- `assist backlog import [file]` - Restore every table present in a dump back into the database (`-y, --yes` skips the prompt)
|
|
169
|
+
- `assist backlog associate-jira <id> [key]` - Associate a Jira ticket (bare key or browse URL); clears any GitHub issue on the item. `--clear` removes it
|
|
170
|
+
- `assist backlog associate-github <id> [issue]` - Associate a GitHub issue (URL or `owner/repo#number`); clears any Jira key on the item. `--clear` removes it
|
|
171
|
+
- `assist backlog add-activity <id> <kind> <ref>` - Attach an activity ref (`branch`, `commit`, `commit-parent`, `pr`, `slack`); `--title`, `--url`, `--state` override metadata
|
|
172
|
+
- `assist backlog record-slack <url>` - Attach a Slack thread permalink to the current session's item; used by `/prs-slack`
|
|
173
|
+
- `assist backlog move-repo <old-origin> [new-origin]` - Retag all items from one origin to another after a repo rename (`-y, --yes` skips the prompt)
|
|
174
|
+
- `assist backlog clone <origin>` - Clone a repo over SSH into `clone.baseDir` (default `~/git`)
|
|
175
|
+
- `assist backlog web [-p, --port <number>] [--no-open]` - Open the backlog tab in the web dashboard (default port 3100)
|
|
176
|
+
|
|
177
|
+
### Config and run commands
|
|
178
|
+
|
|
179
|
+
- `assist run <name> [params...]` - Run a configured command from assist.yml. A backlog item id (`a555` / `555`) with no matching command forwards to `assist backlog run`
|
|
179
180
|
- `assist run add` - Add a new run configuration to assist.yml and create a Claude command file
|
|
180
181
|
- `assist run link <path> --prefix <prefix>` - Link run configurations from another project's assist.yml
|
|
181
|
-
- `assist run remove <name>` - Remove a run configuration
|
|
182
|
-
- `assist config set <key> <value>` - Set a config value (e.g. commit.push true). Add `--global` to write to `~/.assist.yml`, or `-g --repo` to write into `~/.assist.yml` under the current repo's identity (a per-repo override that lands nothing in the repo working tree). `--repo` requires `-g` — it scopes the global write rather than replacing it. `-g --repo <name>` targets a named repo instead of the current one, matching an existing `repos` key by full origin, `org/repo`, or bare repo name
|
|
183
|
-
- `assist config unset <key>` - Remove a config value from the repo `assist.yml`, so the key falls back to the global value or the schema default. Add `-g`/`--global` to remove it from `~/.assist.yml` instead. Removing the last leaf of an object prunes the now-empty parent, and the result is validated before saving, so an unset the schema rejects fails without writing. A key that is not set in the targeted layer is reported and nothing is written. `--repo` is not supported
|
|
182
|
+
- `assist run remove <name>` - Remove a run configuration and delete its Claude command file
|
|
184
183
|
- `assist config get <key>` - Get a config value
|
|
185
184
|
- `assist config list` - List all config values
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
185
|
+
- `assist config set <key> <value>` - Set a config value. `--global` writes to `~/.assist.yml`; `-g --repo [name]` writes a per-repo override there
|
|
186
|
+
- `assist config unset <key>` - Remove a config value so the key falls back to the global value or schema default (`-g` targets `~/.assist.yml`)
|
|
187
|
+
|
|
188
|
+
### Verify and lint
|
|
189
|
+
|
|
190
|
+
- `assist verify` - Run all verify:\* commands in parallel (from assist.yml run configs and package.json scripts)
|
|
190
191
|
- `assist verify all` - Run all checks, ignoring diff-based filters
|
|
191
|
-
- `assist verify --measure` -
|
|
192
|
-
- `assist verify init` - Add verify scripts to a project
|
|
193
|
-
- `assist verify hardcoded-colors` - Check for hardcoded hex colors in src/ (
|
|
194
|
-
- `assist verify block-code-comments` - Fail on any comment on a changed line (
|
|
195
|
-
- `assist verify forbidden-strings` - Check configured JSON files for disallowed values
|
|
196
|
-
- `assist verify config-keys` - Check
|
|
197
|
-
- `assist verify migrations` - Check
|
|
198
|
-
- `assist lint [-f, --fix]` - Run lint checks for conventions not enforced by oxlint
|
|
192
|
+
- `assist verify --measure` - Print a summary table of each command's status and duration
|
|
193
|
+
- `assist verify init [--package-json]` - Add verify scripts to a project
|
|
194
|
+
- `assist verify hardcoded-colors` - Check for hardcoded hex colors in src/ (`hardcodedColors.ignore`)
|
|
195
|
+
- `assist verify block-code-comments` - Fail on any comment on a changed line (`blockCodeComments.ignore`); machine directives exempt
|
|
196
|
+
- `assist verify forbidden-strings` - Check configured JSON files for disallowed values (`forbiddenStrings` rules)
|
|
197
|
+
- `assist verify config-keys` - Check every leaf key in `assistConfigSchema` is surfaced in some command's `--help` via `configHelp`
|
|
198
|
+
- `assist verify migrations` - Check bundled DB migrations are sequentially numbered, append-only, and free of unacknowledged destructive DDL
|
|
199
|
+
- `assist lint [-f, --fix]` - Run lint checks for conventions not enforced by oxlint
|
|
199
200
|
- `assist lint init` - Initialize oxlint with baseline linter config
|
|
201
|
+
|
|
202
|
+
### Refactoring
|
|
203
|
+
|
|
200
204
|
- `assist refactor check [pattern]` - Check for files that exceed the maximum line count
|
|
201
205
|
- `assist refactor ignore <file>` - Add a file to the refactor ignore list
|
|
202
|
-
- `assist refactor rename file <source> <destination>` - Rename/move a TypeScript file and update all imports (
|
|
203
|
-
- `assist refactor rename symbol <file> <oldName> <newName>` - Rename a
|
|
204
|
-
- `assist refactor extract <file> <functionName> <destination>` - Extract a function and its private dependencies to a new file (
|
|
205
|
-
- `assist refactor restructure [pattern]` - Analyze import graph and restructure tightly-coupled files into nested directories
|
|
206
|
+
- `assist refactor rename file <source> <destination>` - Rename/move a TypeScript file and update all imports (`--apply` to execute)
|
|
207
|
+
- `assist refactor rename symbol <file> <oldName> <newName>` - Rename a symbol across the project (`--apply` to execute)
|
|
208
|
+
- `assist refactor extract <file> <functionName> <destination>` - Extract a function and its private dependencies to a new file (`--apply` to execute)
|
|
209
|
+
- `assist refactor restructure [pattern]` - Analyze the import graph and restructure tightly-coupled files into nested directories
|
|
210
|
+
|
|
211
|
+
### Devlog
|
|
212
|
+
|
|
206
213
|
- `assist devlog list` - Group git commits by date
|
|
207
214
|
- `assist devlog next` - Show commits for the day after the last versioned entry
|
|
208
215
|
- `assist devlog repos` - Show which github.com/staff0rd repos are missing devlog entries
|
|
209
216
|
- `assist devlog skip <date>` - Add a date to the skip list
|
|
210
217
|
- `assist devlog version` - Show current repo name and version info
|
|
211
|
-
|
|
218
|
+
|
|
219
|
+
### Hooks
|
|
220
|
+
|
|
221
|
+
- `assist cli-hook` - PreToolUse hook auto-approving CLI commands from `allowed.cli-reads` / `allowed.cli-writes` (plus read-only `gh api`), checking each sub-command of a compound command independently
|
|
212
222
|
- `assist cli-hook add <cli>` - Discover a CLI's commands and auto-permit read-only ones
|
|
213
|
-
- `assist cli-hook check <command> [--tool <tool>]` - Check whether a command would be auto-approved
|
|
223
|
+
- `assist cli-hook check <command> [--tool <tool>]` - Check whether a command would be auto-approved
|
|
214
224
|
- `assist cli-hook deny` - List all deny rules
|
|
215
225
|
- `assist cli-hook deny add <pattern> <message>` - Add a deny rule for a command pattern
|
|
216
226
|
- `assist cli-hook deny remove <pattern>` - Remove a deny rule by pattern
|
|
217
|
-
- `assist codex-hook` - Codex `PreToolUse`/`PermissionRequest` hook
|
|
218
|
-
- `assist pi-hook` - pi permission-gate adapter
|
|
227
|
+
- `assist codex-hook` - Codex `PreToolUse`/`PermissionRequest` hook reusing the `cli-hook` allowlist; installed by `assist sync` when `codex` is on PATH
|
|
228
|
+
- `assist pi-hook` - pi permission-gate adapter reusing the `cli-hook` allowlist, emitting `allow` / `deny` / `gate`; installed by `assist sync` when `pi` is on PATH
|
|
219
229
|
- `assist edit-hook` - PreToolUse hook that blocks `Edit`/`Write`/`MultiEdit` calls from adding, changing, or removing a `// assist-maintainability-override` marker, or from introducing a code comment (use `code-comment set`/`confirm` for the rare comment that belongs)
|
|
220
|
-
- `assist code-comment set <file> <line> <text>` - Validate a
|
|
230
|
+
- `assist code-comment set <file> <line> <text>` - Validate a comment (max 50 chars, single-line) and issue a pin authorising its insertion
|
|
221
231
|
- `assist code-comment confirm <pin>` - Insert the pinned comment at its file/line and clear the pin state
|
|
222
|
-
- `assist db-migration unlock` - Page a human to approve creating the next new
|
|
223
|
-
- `assist db-migration confirm <pin>` - Confirm a pin from `db-migration unlock
|
|
224
|
-
- `assist
|
|
225
|
-
- `assist vscode init` - Add VS Code configuration files
|
|
226
|
-
- `assist deploy init` - Initialize Netlify project and configure deployment
|
|
227
|
-
- `assist deploy redirect` - Add trailing slash redirect script to index.html
|
|
228
|
-
- `assist notify` - Show desktop notification from JSON stdin (supports macOS, Windows, WSL)
|
|
232
|
+
- `assist db-migration unlock` - Page a human to approve creating the next new migration module, issuing a pin via desktop notification
|
|
233
|
+
- `assist db-migration confirm <pin>` - Confirm a pin from `db-migration unlock`, letting that migration's file write through once
|
|
234
|
+
- `assist notify` - Show desktop notification from JSON stdin (macOS, Windows, WSL)
|
|
229
235
|
- `assist status-line` - Format Claude Code status line from JSON stdin
|
|
236
|
+
|
|
237
|
+
### .NET
|
|
238
|
+
|
|
230
239
|
- `assist dotnet inspect [sln]` - Run JetBrains inspections on changed .cs files to find dead code
|
|
231
|
-
-
|
|
232
|
-
-
|
|
233
|
-
- `
|
|
234
|
-
- `
|
|
235
|
-
- `assist dotnet inspect [sln] --suppress <ids...>` - Suppress specific issue type IDs on the command line
|
|
236
|
-
- `assist dotnet inspect [sln] --roslyn` - Use Roslyn analyzers via msbuild instead of JetBrains
|
|
237
|
-
- `assist dotnet inspect [sln] --swea` - Enable solution-wide error analysis (slower but more thorough)
|
|
240
|
+
- `--scope all|base:<ref>|commit:<ref>` - Inspect the whole solution, everything changed since a base ref, or one commit
|
|
241
|
+
- `--only <ids...>` / `--suppress <ids...>` - Show only, or suppress, specific issue type IDs
|
|
242
|
+
- `--roslyn` - Use Roslyn analyzers via msbuild instead of JetBrains
|
|
243
|
+
- `--swea` - Enable solution-wide error analysis (slower but more thorough)
|
|
238
244
|
- `assist dotnet check-locks` - Check if build output files are locked by a debugger
|
|
239
245
|
- `assist dotnet deps <csproj>` - Show .csproj project dependency tree and solution membership
|
|
240
246
|
- `assist dotnet in-sln <csproj>` - Check whether a .csproj is referenced by any .sln file
|
|
241
|
-
|
|
247
|
+
|
|
248
|
+
### Data sources
|
|
249
|
+
|
|
250
|
+
- `assist jira auth` - Authenticate with Jira via API token
|
|
242
251
|
- `assist jira ac <issue-key>` - Print acceptance criteria for a Jira issue
|
|
243
252
|
- `assist jira view <issue-key>` - Print the title and description of a Jira issue
|
|
244
|
-
- Note: Claude
|
|
245
|
-
- `assist ravendb auth add` - Add a new RavenDB connection
|
|
253
|
+
- Note: Claude fetches Jira context via the MCP Atlassian server, so `/jira` and Jira-key mentions go through MCP. These CLI commands remain for direct human use.
|
|
254
|
+
- `assist ravendb auth add` - Add a new RavenDB connection
|
|
246
255
|
- `assist ravendb auth list` - List configured RavenDB connections
|
|
247
256
|
- `assist ravendb auth remove <name>` - Remove a configured connection
|
|
248
|
-
- `assist ravendb set-connection <name>` - Set the default connection
|
|
249
|
-
- `assist ravendb query [connection] [collection]` - Query a RavenDB collection (
|
|
250
|
-
- `assist ravendb
|
|
251
|
-
- `assist
|
|
252
|
-
- `assist seq auth add` - Add a new Seq connection (prompts for name, URL, API token)
|
|
257
|
+
- `assist ravendb set-connection <name>` - Set the default connection
|
|
258
|
+
- `assist ravendb query [connection] [collection]` - Query a RavenDB collection (`--page-size`, `--sort`, `--query`, `--limit`)
|
|
259
|
+
- `assist ravendb collections [connection]` - List collections and document counts
|
|
260
|
+
- `assist seq auth add` - Add a new Seq connection
|
|
253
261
|
- `assist seq auth list` - List configured Seq connections
|
|
254
262
|
- `assist seq auth remove <name>` - Remove a configured connection
|
|
255
263
|
- `assist seq set-connection <name>` - Set the default Seq connection
|
|
256
|
-
- `assist seq query <filter>` - Query Seq events
|
|
257
|
-
- `assist
|
|
258
|
-
- `assist seq query <filter> --json` - Output raw JSON
|
|
259
|
-
- `assist seq query <filter> -n <count>` - Fetch a specific number of events (default 50)
|
|
260
|
-
- `assist seq query <filter> --from <date>` - Start of query window (UTC date or relative e.g. 5m, 1h, 2d)
|
|
261
|
-
- `assist seq query <filter> --to <date>` - End of query window (UTC date or relative e.g. 5m, 1h, 2d)
|
|
262
|
-
- `assist sql auth add` - Add a new MSSQL connection (prompts for name, server, port, user, password, database)
|
|
264
|
+
- `assist seq query <filter>` - Query Seq events (`-c <connection>`, `--json`, `-n <count>`, `--from <date>`, `--to <date>`)
|
|
265
|
+
- `assist sql auth add` - Add a new MSSQL connection
|
|
263
266
|
- `assist sql auth list` - List configured SQL connections
|
|
264
267
|
- `assist sql auth remove <name>` - Remove a configured connection
|
|
265
268
|
- `assist sql set-connection <name>` - Set the default SQL connection
|
|
266
|
-
- `assist sql query "<sql>" [connection]` - Execute a read-only SQL statement and print
|
|
267
|
-
- `assist sql mutate "<sql>" [connection]` - Execute a mutating SQL statement and print rows affected
|
|
268
|
-
- `assist sql tables [connection]` - List tables in the connected database
|
|
269
|
-
- `assist sql columns <table> [connection]` - List columns for a table (
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
- `assist
|
|
274
|
-
- `assist
|
|
275
|
-
- `assist
|
|
276
|
-
- `assist handover
|
|
277
|
-
- `assist
|
|
269
|
+
- `assist sql query "<sql>" [connection]` - Execute a read-only SQL statement and print a table (rejects mutating statements)
|
|
270
|
+
- `assist sql mutate "<sql>" [connection]` - Execute a mutating SQL statement and print rows affected
|
|
271
|
+
- `assist sql tables [connection]` - List tables in the connected database
|
|
272
|
+
- `assist sql columns <table> [connection]` - List columns for a table (`schema.table` for a non-default schema)
|
|
273
|
+
|
|
274
|
+
### Other
|
|
275
|
+
|
|
276
|
+
- `assist netcap [-p, --port <port>] [-o, --out <dir>] [-f, --filter <pattern>]` - Capture browser network traffic to `capture.jsonl` under `--out` (default `~/.assist/netcap`), paired with the [netcap browser extension](#netcap-browser-extension)
|
|
277
|
+
- `assist netcap extract-linkedin-posts [file]` - Parse a netcap capture into structured LinkedIn posts, written to `posts.json` beside the capture
|
|
278
|
+
- `assist screenshot <process>` - Capture a screenshot of a running application window (`screenshot.outputDir`, default `./screenshots`)
|
|
279
|
+
- `assist handover save --summary <s>` - Save a session handover note (content from stdin), scoped by the repo's git origin
|
|
280
|
+
- `assist handover list` - List unrecalled handovers for this repo, most recent first
|
|
281
|
+
- `assist handover recall [id]` - Print an unrecalled handover and mark it recalled (most recent by default)
|
|
282
|
+
- `assist handover load` - SessionStart hook entry point advising how many unrecalled handovers exist
|
|
283
|
+
- `assist mermaid export [file.md]` - Render each fenced mermaid block to `<stem>-<index>.svg` via [Kroki](https://kroki.io) (`--out`, `--index`, `mermaid.krokiUrl`)
|
|
278
284
|
- `assist prompts` - Show top 10 denied tool calls by frequency with count and repo breakdown
|
|
285
|
+
|
|
286
|
+
### Project setup
|
|
287
|
+
|
|
288
|
+
- `assist init` - Initialize project with VS Code and verify configurations
|
|
289
|
+
- `assist new vite` - Initialize a new Vite React TypeScript project
|
|
290
|
+
- `assist new cli` - Initialize a new tsup CLI project
|
|
291
|
+
- `assist update` - Update assist to the latest version and sync commands
|
|
292
|
+
- `assist vscode init` - Add VS Code configuration files
|
|
293
|
+
- `assist deploy init` - Initialize Netlify project and configure deployment
|
|
294
|
+
- `assist deploy redirect` - Add trailing slash redirect script to index.html
|
|
295
|
+
- `assist roam auth` - Authenticate with Roam via OAuth
|
|
296
|
+
- `assist roam show-claude-code-icon` - Forward Claude Code hook activity to Roam local API
|
|
297
|
+
|
|
298
|
+
### Complexity
|
|
299
|
+
|
|
279
300
|
- `assist coverage` - Print global statement coverage percentage
|
|
280
301
|
- `assist complexity <pattern>` - Analyze a file (all metrics if single match, maintainability if multiple)
|
|
281
302
|
- `assist complexity cyclomatic [pattern]` - Calculate cyclomatic complexity per function
|
|
282
303
|
- `assist complexity halstead [pattern]` - Calculate Halstead metrics per function
|
|
283
|
-
- `assist complexity maintainability [pattern]` - Calculate maintainability index per file (`--ignore <glob>`,
|
|
304
|
+
- `assist complexity maintainability [pattern]` - Calculate maintainability index per file (`--ignore <glob>`, plus `complexity.ignore`). A file can declare its own threshold with a `// assist-maintainability-override: N` comment in its first ~10 lines, replacing `--threshold` for that file only
|
|
284
305
|
- `assist complexity sloc [pattern]` - Count source lines of code per file
|
|
306
|
+
|
|
307
|
+
### Transcripts and voice
|
|
308
|
+
|
|
285
309
|
- `assist transcript configure` - Configure transcript directories
|
|
286
310
|
- `assist transcript list` - List raw .vtt filenames waiting in the pick-up directory
|
|
287
311
|
- `assist transcript move <file>` - Convert a raw .vtt to a dated markdown transcript and archive the original
|
|
288
312
|
- `assist voice setup` - Download required voice models (VAD, STT)
|
|
289
|
-
- `assist voice start` - Start the voice daemon (always-on, listens for wake word)
|
|
290
|
-
- `assist voice start --foreground` - Start in foreground for debugging
|
|
313
|
+
- `assist voice start [--foreground]` - Start the voice daemon (always-on, listens for wake word)
|
|
291
314
|
- `assist voice stop` - Stop the voice daemon
|
|
292
315
|
- `assist voice status` - Check voice daemon status and recent events
|
|
293
316
|
- `assist voice devices` - List available audio input devices
|
|
294
317
|
- `assist voice logs [-n <count>]` - Show recent voice daemon log entries
|
|
318
|
+
|
|
319
|
+
### Sessions
|
|
320
|
+
|
|
295
321
|
- `assist sessions` - Start the web dashboard (same as `sessions web`)
|
|
296
|
-
- `assist sessions web [-p, --port <number>] [--no-open]` - Start the web dashboard with Sessions, Backlog and News tabs
|
|
297
|
-
- `assist sessions summarise [-f, --force] [-n, --limit <count>]` - Generate one-line summaries for unsummarised Claude sessions
|
|
298
|
-
- `assist sessions set-status <status>` - Report the current session's status (`running`/`waiting`) to the
|
|
299
|
-
- `assist daemon run` - Run the sessions daemon in the foreground (normally auto-spawned detached
|
|
300
|
-
- `assist daemon status` - Show
|
|
322
|
+
- `assist sessions web [-p, --port <number>] [--no-open]` - Start the web dashboard with Sessions, Backlog and News tabs (default port 3100). Ctrl+R in the foreground terminal opens a restart menu; Ctrl+. in the browser jumps to the next session waiting on input
|
|
323
|
+
- `assist sessions summarise [-f, --force] [-n, --limit <count>]` - Generate one-line summaries for unsummarised Claude sessions
|
|
324
|
+
- `assist sessions set-status <status>` - Report the current session's status (`running`/`waiting`) to the daemon; invoked by the Claude Code hooks the daemon wires into each session
|
|
325
|
+
- `assist daemon run` - Run the sessions daemon in the foreground (normally auto-spawned detached)
|
|
326
|
+
- `assist daemon status` - Show daemon status, live sessions, and any stray processes or stolen socket
|
|
301
327
|
- `assist daemon stop` - Stop the sessions daemon; running claude sessions resume on next start
|
|
302
328
|
- `assist daemon restart` - Restart the sessions daemon, resuming previously running claude sessions
|
|
303
|
-
- `assist daemon drain [--yes]` - Remove all sessions from the local daemon for a clean slate
|
|
329
|
+
- `assist daemon drain [--yes]` - Remove all sessions from the local daemon for a clean slate; a session holding unpushed work is stopped, not removed
|
|
304
330
|
|
|
305
|
-
|
|
331
|
+
### Session launchers
|
|
306
332
|
|
|
307
|
-
|
|
333
|
+
- `assist next [id] [--once]` - Alias for `backlog next [id]`; `--once` exits after the first completed item run
|
|
334
|
+
- `assist draft [description] [--once]` (alias: `feat`) - Launch Claude in `/draft` mode, chain into next on `/next` signal
|
|
335
|
+
- `assist bug [description] [--once]` - Launch Claude in `/bug` mode, chain into next on `/next` signal
|
|
336
|
+
- `assist refine [id] [--once] [--harness <claude|codex|pi>]` - Launch a coding harness in `/refine` mode; `--harness` picks the engine, defaulting to the configured `harness.engine` (Claude)
|
|
337
|
+
- `assist review-pr-comments [number]` - Launch Claude in `/review-pr-comments` mode; a PR number is checked out first via `gh pr checkout`
|
|
338
|
+
- `assist signal next [id]` - Write a next signal to chain into `assist next`
|
|
339
|
+
- `assist signal done [id]` - Write a done signal marking the session's initial task complete; an optional `id` surfaces the backlog item the session created onto its card
|
|
308
340
|
|
|
309
|
-
|
|
341
|
+
Each launcher accepts `--resume-session <id>` to resume an interrupted Claude session (used by the daemon when it restarts a running item).
|
|
310
342
|
|
|
311
|
-
|
|
312
|
-
- `sessions.windowsDaemonHost` / `sessions.windowsDaemonPort` — where the WSL daemon reaches the native Windows daemon (defaults `127.0.0.1` / `51764`; set the host to the Windows IP on WSL2 NAT-mode networking).
|
|
313
|
-
- `sessions.windowsVersionCheck` — how the WSL↔Windows daemon handshake reacts to a protocol-version mismatch: `block` (default) refuses creates and auto-heals the host, `warn` logs and proceeds anyway, `off` skips the check. Use `warn`/`off` to keep working across an unfixable version gap.
|
|
343
|
+
## Sessions dashboard
|
|
314
344
|
|
|
315
|
-
|
|
345
|
+
Web sessions are owned by a long-lived daemon process, not the web server: the server is a thin client relaying WebSocket traffic to the daemon over a local IPC socket (`~/.assist/daemon/daemon.sock`; named pipe `\\.\pipe\assist-sessions-daemon` on Windows). Restarting the web server leaves sessions running with scrollback intact. The daemon logs to `~/.assist/daemon/daemon.log` and auto-exits once no sessions remain and no client has connected for 60 seconds. See [docs/session-lifecycle.md](docs/session-lifecycle.md).
|
|
316
346
|
|
|
317
|
-
|
|
347
|
+
The topnav has a **Design** dropdown: submitting a prompt launches an interactive `claude` session with the vendored design system prompt appended via `--append-system-prompt`.
|
|
318
348
|
|
|
319
|
-
|
|
349
|
+
Every live session card carries an **add-agent** button (👥) that starts a second agent inside that session's existing workspace rather than allocating a new one. While several agents share a workspace, only the last one to leave triggers teardown.
|
|
320
350
|
|
|
321
|
-
A `run:` entry in `assist.yml` flagged `server: true` (with an optional display-only `port:`) is
|
|
351
|
+
A `run:` entry in `assist.yml` flagged `server: true` (with an optional display-only `port:`) is a singleton **dev server**: at most one may be live per normalised git remote, i.e. across a clone and all its sibling clones. Session cards for such a repo show a **▶ start** button; the daemon rejects a second server run for that remote, and the web UI turns the conflict into a "replace running server?" prompt. The serving card shows a `serving :<port>` chip and a **⏹ stop** button, and the slot frees whenever that session stops. Non-`server` runs are unconstrained.
|
|
322
352
|
|
|
323
|
-
|
|
353
|
+
### Windows-host repos (from WSL)
|
|
324
354
|
|
|
325
|
-
|
|
326
|
-
- `worktree.trunk` (trunk-based) — on, a spilled worktree's branch tracks `origin/<trunk>` so commits land on the mainline. Off (the default, branch-workflow) it starts off the remote default branch with no mainline tracking, leaving the session to raise its own branch and PR.
|
|
355
|
+
Requires `assist` installed on the Windows host.
|
|
327
356
|
|
|
328
|
-
|
|
357
|
+
- `sessions.windowsProjectsRoot` — the Windows `.claude/projects` directory as seen from WSL (e.g. `/mnt/c/Users/<user>/.claude/projects`); enables discovery of Windows-host repos, tagged with a `Windows` badge.
|
|
358
|
+
- `sessions.windowsDaemonHost` / `sessions.windowsDaemonPort` — where the WSL daemon reaches the native Windows daemon (defaults `127.0.0.1` / `51764`; set the host to the Windows IP on WSL2 NAT-mode networking).
|
|
359
|
+
- `sessions.windowsVersionCheck` — reaction to a protocol-version mismatch in the WSL↔Windows handshake: `block` (default) refuses creates and auto-heals the host, `warn` proceeds anyway, `off` skips the check.
|
|
360
|
+
|
|
361
|
+
### Session config keys
|
|
329
362
|
|
|
330
|
-
|
|
363
|
+
- `sessions.includeCommittedChanges` — when true, the card's change counts and the `/diff` view span the whole session's work rather than only uncommitted changes, so the change link survives the agent committing. Defaults to false; a no-op on the default branch or detached HEAD.
|
|
364
|
+
- `sessions.topBar` — defaults to **true**: a sticky top bar inside the terminal panel carrying the session's ids, backlog chip and story name, the phase caption, elapsed time, the Continue/Auto-run/Dismiss switches and the session actions. Set it false to keep all of that on the card instead.
|
|
365
|
+
- `sessions.floatWaiting` — defaults to **true**: sessions that have been `waiting` on input for more than 5 seconds float above the other cards, longest waiting first. Set it false to keep the star-only ordering; starred sessions still sort above everything.
|
|
331
366
|
|
|
332
|
-
|
|
367
|
+
## Parallel work
|
|
333
368
|
|
|
334
|
-
|
|
369
|
+
Concurrent sessions in one repo can be isolated with native git worktrees instead of keeping multiple physical clones: see [docs/parallel-work.md](docs/parallel-work.md). All three flags **default off**:
|
|
335
370
|
|
|
336
|
-
- `
|
|
337
|
-
- `
|
|
338
|
-
- `
|
|
339
|
-
- `assist refine [id] [--once] [--harness <claude|codex|pi>]` - Launch a coding harness in `/refine` mode to refine a backlog item; prompts for selection when no id given; `--once` exits when the done signal arrives after refinement completes; `--harness` picks the engine (`codex` runs `codex -C <cwd> <prompt>`; `pi` runs `pi <prompt>` in the item's cwd), defaulting to the configured `harness.engine` (Claude); `--resume-session <id>` resumes an interrupted Claude session (used by the sessions daemon when it restarts a running item)
|
|
340
|
-
- `assist review-pr-comments [number]` - Launch Claude in `/review-pr-comments` mode to process PR review comments (single session, no chaining); when a PR number is supplied, checks out that PR via `gh pr checkout` first — placed by the worktree allocator on a repo with parallel work enabled, so the comment pass never disturbs a workspace holding work in progress
|
|
341
|
-
- `assist signal next [id]` - Write a next signal to chain into `assist next`; when `id` is supplied, the parent launcher runs that backlog item directly
|
|
342
|
-
- `assist signal done [id]` - Write a done signal marking the session's initial task complete; an optional `id` surfaces the backlog item the session created onto its session card; `--once` launch sessions exit when it arrives, plain sessions ignore it
|
|
371
|
+
- `worktree.enabled` (parallel work) — spill concurrent sessions into adjacent `<clone>-N` worktrees. Off means every session on the repo shares its single working copy.
|
|
372
|
+
- `worktree.trunk` (trunk-based) — on, a spilled worktree's branch tracks `origin/<trunk>` so commits land on the mainline. Off, it starts off the remote default branch with no mainline tracking, leaving the session to raise its own branch and PR.
|
|
373
|
+
- `worktree.includeDrafts` — give draft, bug and refine sessions their own `<clone>-N`. They change no code, so by default they run in the clone's working copy at no worktree, dep-install or teardown cost.
|
|
343
374
|
|
|
344
|
-
|
|
375
|
+
Neither flag leaves permanent state on the clone: nothing writes to the clone's `.git/config` (`assist commit` derives its push refspec from the current branch), so turning parallel work back off leaves the repo as it was.
|
|
345
376
|
|
|
346
|
-
|
|
377
|
+
## Iterating on assist itself
|
|
347
378
|
|
|
348
|
-
|
|
379
|
+
Web server changes only need the `assist sessions` process restarted — sessions survive. Daemon/session-core changes need `assist daemon restart`: claude sessions are auto-respawned via `claude --resume` with scrollback starting fresh, while run sessions reappear as not-restored tiles that can be retried.
|
|
349
380
|
|
|
350
|
-
|
|
381
|
+
## Other config keys
|
|
351
382
|
|
|
352
|
-
|
|
383
|
+
- `prs.slack` — the Slack channel (e.g. `#example`) that `/prs-slack` posts pull requests to via the Slack MCP connector
|
|
384
|
+
- `prs.required` — when `true` (default `false`), `assist backlog run` cuts and records a fresh branch for a story that has no recorded branch at run start, so a new story never inherits the previous one's branch
|
|
385
|
+
- `prs.promptJira` — when `true` (default `false`), the `assist prs raise --help` `--resolves` guidance instructs asking the user for a Jira key
|
|
386
|
+
- `commit.pull` — when enabled, `assist draft`, `bug`, `refine`, `next` and `backlog run` run `git pull --ff-only` first and abort if it fails (`next` pulls once per invocation, not per item)
|
|
387
|
+
- `commit.expectedBranch` — when set (e.g. `main`), `assist commit` prints a non-blocking warning if HEAD is on any other branch, so work on a stray branch isn't silently orphaned
|
|
388
|
+
- `branch.prefix` — when set (e.g. `sw`), `assist branch <slug>` prepends `<prefix>/` to the branch name
|
|
389
|
+
- `branch.defaultBranch` — override the base branch, which is otherwise resolved live from the remote (`git ls-remote --symref origin HEAD`), falling back to `main`
|
|
353
390
|
|
|
354
391
|
## netcap browser extension
|
|
355
392
|
|
|
356
|
-
`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}
|
|
393
|
+
`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}` and relays each entry to the background service worker, which POSTs it to the receiver. Forwarding happens in the background context, so the page's CSP (`connect-src`) never blocks it.
|
|
357
394
|
|
|
358
|
-
1. Run `assist netcap` — it prints the receiver URL, the capture file path, and the
|
|
395
|
+
1. Run `assist netcap` — it prints the receiver URL, the capture file path, and the extension directory to load. The receiver host/port and the optional `--filter` substring are baked into the extension's `background.js` at this point. Under WSL it copies the extension to `C:\tools\netcap-extension` and targets the WSL VM's IP, printing that Windows path instead; re-run after a reboot (the WSL IP can change) and reload the extension.
|
|
359
396
|
2. Load the unpacked extension:
|
|
360
397
|
- **Firefox**: open `about:debugging#/runtime/this-firefox` → **Load Temporary Add-on…** → pick `manifest.json` inside the printed extension directory. (Requires Firefox 128+ for MAIN-world content scripts.)
|
|
361
398
|
- **Chrome**: open `chrome://extensions`, enable **Developer mode**, click **Load unpacked**, and select the extension directory.
|
|
362
399
|
3. On load the background worker pings the receiver; `ping from extension` appears in the `assist netcap` log, confirming browser→server connectivity.
|
|
363
|
-
4. Browse a site
|
|
364
|
-
|
|
365
|
-
`assist netcap` bakes the receiver host/port and the optional `--filter` substring into the extension's `background.js` at startup, so you don't normally edit it by hand. With `--filter <pattern>`, the background worker only forwards requests whose URL contains `<pattern>` (case-sensitive substring); the matching logic mirrors `matchesNetcapFilter` in `src/commands/netcap`. Use `--out <dir>` to write `capture.jsonl` into a different directory.
|
|
400
|
+
4. Browse a site; matching requests append to the capture file live and survive page refreshes. Press Ctrl-C to stop the receiver; it prints how many entries were captured.
|