@staff0rd/assist 0.760.0 β 0.761.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 +9 -9
- package/dist/commands/sessions/web/bundle.js +424 -424
- package/dist/index.js +887 -668
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -109,7 +109,7 @@ Every command supports `--help` for full detail on its flags and behaviour.
|
|
|
109
109
|
- `assist commit status` - Show git status and diff
|
|
110
110
|
- `assist commit <message> [files...] [--ref <ref>]` - Stage files and create a validated single-line commit; each `--ref` (free text containing a URL) adds a `Ref:` trailer
|
|
111
111
|
- `assist branch <slug> [--jira <key>] [--from <ref>]` - Create and switch to a new branch off the fresh remote default (or `--from <ref>`)
|
|
112
|
-
- `assist watch wait [--interval <d>] [--timeout <d>|none] [--pull] [--build [entry]]` - Wait until the current branch's upstream gains commits; `--pull` fast-forwards to them and `--build` then runs the `auto-build` run entry (or `[entry]`)
|
|
112
|
+
- `assist watch wait [--interval <d>] [--timeout <d>|none] [--pull] [--build [entry]]` - Wait until the current branch's upstream gains commits; `--pull` fast-forwards to them and `--build` then runs the `auto-build` run entry (or `[entry]`), showing its output only if it fails
|
|
113
113
|
- `assist watch loop` - Keep the current branch pulled and built as its upstream moves
|
|
114
114
|
- `assist watch report [--from <sha>]` - Summarise recent commits and the restarts and sync they call for, since `<sha>` when given
|
|
115
115
|
- `assist read-time <target> [--budget <duration>]` - Estimate how long a PR (number or URL), file or stdin (`-`) takes to read, against `--budget` (default 1m)
|
|
@@ -227,7 +227,7 @@ The Config tab of the sessions web dashboard never shows secret values; their fi
|
|
|
227
227
|
|
|
228
228
|
- `assist verify` - Run all verify:\* commands in parallel (from assist.yml run configs and package.json scripts)
|
|
229
229
|
- `assist verify all` - Run all checks, ignoring diff-based filters
|
|
230
|
-
- `assist verify --measure` -
|
|
230
|
+
- `assist verify --measure` - Run all verify:\* commands and time each one
|
|
231
231
|
- `assist verify init [--package-json]` - Add verify scripts to a project
|
|
232
232
|
- `assist verify hardcoded-colors` - Check for hardcoded hex colors in src/ (`hardcodedColors.ignore`)
|
|
233
233
|
- `assist verify block-code-comments` - Fail on any comment on a changed line (`blockCodeComments.ignore`); machine directives exempt
|
|
@@ -401,7 +401,7 @@ Web sessions are owned by a long-lived daemon process, not the web server: the s
|
|
|
401
401
|
|
|
402
402
|
The topnav's **+** button (or Ctrl+N / Alt+N) opens the new-session dialog, which replaces the old draft / bug / prompt / design topnav buttons. Its mode selector picks `draft`, `bug`, `prompt` or `design`; in `prompt` mode a harness selector under it picks Claude, Codex or pi when those are exposed, and Up/Down moves between the two rows. `design` launches an interactive `claude` session with the vendored design system prompt appended via `--append-system-prompt`. Left/Right change the mode or harness, and Tab steps through a selector's options before moving on to the next control.
|
|
403
403
|
|
|
404
|
-
Alt+1 to Alt+5 select the Nth visible top-level tab (with Releases hidden, News is Alt+4), including while the terminal has focus; on macOS use Option. Ctrl+/ (Cmd+/ on macOS) or the menu's **Keyboard shortcuts** item opens a sheet listing every sessions-view shortcut.
|
|
404
|
+
Alt+1 to Alt+5 select the Nth visible top-level tab (with Releases hidden, News is Alt+4), including while the terminal has focus; on macOS use Option. Alt+E focuses the active session's sidebar card (expanding the sidebar and switching to Active), Alt+` focuses its terminal, and Alt+D opens and focuses its diff panel, or closes it back to the terminal when the diff already has focus; each returns to Sessions first. Ctrl+/ (Cmd+/ on macOS) or the menu's **Keyboard shortcuts** item opens a sheet listing every sessions-view shortcut.
|
|
405
405
|
|
|
406
406
|
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.
|
|
407
407
|
|
|
@@ -418,7 +418,7 @@ Each assist install is a **node** with its own daemon and web server. A node can
|
|
|
418
418
|
- `assist sessions nodes logs <name> [-n, --lines <count>] [--json]` β tail a linked node's `daemon.log`; naming this node reads the local log.
|
|
419
419
|
- `sessions.linkVersionCheck` β reaction to a version mismatch with a linked node: `block` (default) updates an older peer and holds the link until the versions match; `warn` proceeds anyway; `off` skips the check.
|
|
420
420
|
|
|
421
|
-
With more than one node, a machine picker appears in the top nav and a machine selector in the new-session dialog; the dialog's selector defaults to the top nav's choice, which is remembered per browser. Linked nodes' daemon lines appear in this node's `daemon.log` tagged `[<node>]`. Every launch forwarded over a link and every `?node=` panel request carries a `traceId`, logged as `trace=<id>` by both nodes. `GET /api/health` reports the node's name, version, protocol, daemon reachability and its links' states. The retired `sessions.windows*` keys are ignored.
|
|
421
|
+
With more than one node, a machine picker appears in the top nav and a machine selector in the new-session dialog; the dialog's selector defaults to the top nav's choice, which is remembered per browser. With a linked node selected in the picker, the hamburger's restart item becomes **Restart <node>**: it restarts that node's daemon and web server via `POST /api/restart?target=both&node=<node>` without reloading the page, toasts once the node's link reconnects, and on failure names the first broken `nodes doctor` hop (served locally by `GET /api/node-doctor?link=<node>`). The peer logs each restart as `restart <target> from=<viewer> trace=<id>`. Linked nodes' daemon lines appear in this node's `daemon.log` tagged `[<node>]`. Every launch forwarded over a link and every `?node=` panel request carries a `traceId`, logged as `trace=<id>` by both nodes. `GET /api/health` reports the node's name, version, protocol, daemon reachability and its links' states. The retired `sessions.windows*` keys are ignored.
|
|
422
422
|
|
|
423
423
|
#### Linking machines over Tailscale
|
|
424
424
|
|
|
@@ -501,21 +501,21 @@ assist config set next.excludeTypes Epic -g --repo
|
|
|
501
501
|
|
|
502
502
|
## Parallel work
|
|
503
503
|
|
|
504
|
-
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 of these
|
|
504
|
+
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 of these keys **default off** except `worktree.install`:
|
|
505
505
|
|
|
506
506
|
- `worktree.enabled` (parallel work) β spill concurrent sessions into adjacent `<clone>-N` worktrees instead of sharing the clone's working copy.
|
|
507
|
-
- `worktree.watcher` β keep
|
|
507
|
+
- `worktree.watcher` β keep an `assist watch loop` console session in the clone while a backlog run works in a worktree, so the clone stays pulled and rebuilt. If the branch diverges, the daemon starts one claude session in the clone to diagnose it, barred from force-pushing or resetting. Needs `worktree.enabled` and an `auto-build` run entry.
|
|
508
508
|
- `worktree.trunk` (trunk-based) β a worktree's branch tracks `origin/<trunk>` so commits land on the mainline, and jobs that commit (`backlog run`, PR checkouts) always run in a worktree, never the clone. Off, worktrees start off the remote default branch with no mainline tracking.
|
|
509
509
|
- `worktree.includeDrafts` β give draft, bug and refine sessions their own `<clone>-N` instead of the clone's working copy.
|
|
510
510
|
- `worktree.install` β how a new worktree installs its deps: `true` (default) auto-detects pnpm/yarn/bun/npm, a string is the install command, `false` skips it, and a list of paths installs in each in order.
|
|
511
511
|
|
|
512
|
-
|
|
512
|
+
None of them leaves permanent state on the clone, so turning parallel work back off leaves the repo as it was.
|
|
513
513
|
|
|
514
514
|
## Iterating on assist itself
|
|
515
515
|
|
|
516
516
|
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.
|
|
517
517
|
|
|
518
|
-
A restart kills every managed session's pty, which also kills any background task running inside it. `daemon.log` names each session it kills, and the shutdown records the reason against them in `sessions.json` before the ptys die. On restore, a session the restart caught mid-turn is resumed with a prompt naming the restart instead of the generic one, and a session that was idle only because it was waiting on a background task
|
|
518
|
+
A restart kills every managed session's pty, which also kills any background task running inside it. `daemon.log` names each session it kills, and the shutdown records the reason against them in `sessions.json` before the ptys die. On restore, a session the restart caught mid-turn is resumed with a prompt naming the restart instead of the generic one, and a session that was idle only because it was waiting on a background task is woken with the same prompt, naming the task ids that died. An idle session with no background work in flight is left idle, as before.
|
|
519
519
|
|
|
520
520
|
## Other config keys
|
|
521
521
|
|
|
@@ -572,4 +572,4 @@ Two alternatives need no signing: **Firefox Developer Edition** or **Nightly** h
|
|
|
572
572
|
- **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.)
|
|
573
573
|
- **Chrome**: open `chrome://extensions`, enable **Developer mode**, click **Load unpacked**, and select the extension directory.
|
|
574
574
|
3. On load the background worker pings the receiver; `ping from extension` appears in the `assist netcap` log, confirming browserβserver connectivity.
|
|
575
|
-
4. Browse a site; matching requests append to the capture file live and survive page refreshes. Press Ctrl-C to stop the receiver
|
|
575
|
+
4. Browse a site; matching requests append to the capture file live and survive page refreshes. Press Ctrl-C to stop the receiver.
|