@staff0rd/assist 0.757.1 → 0.759.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 -1
- package/dist/commands/sessions/web/bundle.js +1 -1
- package/dist/index.js +166 -78
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -110,6 +110,7 @@ Every command supports `--help` for full detail on its flags and behaviour.
|
|
|
110
110
|
- `assist commit <message> [files...] [--ref <ref>]` - Stage files and create a git commit with validation. The message must be a single line under 50 characters; `--ref` is the only way to give the commit a body. Each `--ref` value is free text containing a URL (e.g. `--ref "rationale for removing it https://…"`) and becomes one `Ref:` trailer line, verbatim — commas are not separators, so repeat the flag to pass several. A value carrying no `http`/`https` URL is rejected before anything is staged
|
|
111
111
|
- `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
|
|
112
112
|
- `assist watch wait [--interval <d>] [--timeout <d>|none] [--pull] [--build [entry]]` - Block until the current branch's upstream gains commits, then exit. Fetches once at startup, so commits already on the remote are picked up without waiting out an interval. `--timeout` defaults to `none`, so a quiet branch waits indefinitely rather than exiting 2. With `--pull`, fast-forwards (recovering a dirty tree or a merely-behind branch) and prints the build report (see `assist watch report`) baselined on the pre-pull SHA. With `--build`, runs the `auto-build` run entry — or `[entry]` if named — after a successful pull, then, when the report's **Sync** section names something, shells out to `assist sync --yes` so the freshly built binary installs the changed commands, skills and settings into `~/.claude`. Exit codes: `0` moved (and cleanly pulled, built and synced), `2` timed out on an explicit finite `--timeout`, `3` the branch has genuinely diverged, `4` the build or the post-build sync failed, `1` cannot wait, `130` interrupted
|
|
113
|
+
- `assist watch loop` - Run `assist watch wait --pull --build` in a loop, spawning a fresh `assist` from `PATH` each lap so a lap that rebuilt assist runs the next lap on the new binary. Relaunches after exit `0`, `2` or `4` or when the child is killed by a signal; exits with the child's code on `1`, `3` or `130` (and any other code). Ctrl+C exits `130` once the current lap ends
|
|
113
114
|
- `assist watch report [--from <sha>]` - Print the built version from `package.json`, the last 10 commits as a markdown SHA/When/Subject table newest-first, a **Restarts** section naming the restarts the new commits make necessary, and a **Sync** section naming what changed under the paths `assist sync` installs (`claude/commands/`, `claude/skills/`, `claude/settings.json`, `claude/design-system-prompt.md`, `codex/`, `pi/`), or `- not needed`. With `--from`, commits reachable from `HEAD` but not `<sha>` are marked `← new` and both the restart and sync advice come from the files they changed. Exit codes: `0` printed, `1` git could not resolve the range
|
|
114
115
|
- `assist read-time <target> [--budget <duration>]` - Estimate how long a document takes to read, printing e.g. `142 words · ~1m 39s read`. `<target>` is a pull request number, a GitHub pull request URL (which may point at another repo), `-` to read from stdin, or a path to a file; the current branch's PR is deliberately not a default. Prose counts at `readTime.wordsPerMinute` (default 200) and fenced code at half that, with a bare URL or an image/HTML tag counting as one word. The effective rate decays as the document grows, so a 500-word one reads at ~70 wpm and a 2000-word one at ~55. When the estimate exceeds the budget — one minute unless `--budget` (`45s`, `1m30s`, `2m`) says otherwise — `· over the ~1m budget` is appended
|
|
115
116
|
- `assist prs` - List pull requests for the current repository
|
|
@@ -508,7 +509,7 @@ assist config set next.excludeTypes Epic -g --repo
|
|
|
508
509
|
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 flags **default off**:
|
|
509
510
|
|
|
510
511
|
- `worktree.enabled` (parallel work) — spill concurrent sessions into adjacent `<clone>-N` worktrees. Off means every session on the repo shares its single working copy. Either way, closing the last running or waiting session in the clone (drafts aside) stops its card instead of dismissing it while the clone has uncommitted changes or unpushed commits.
|
|
511
|
-
- `worktree.watcher` — starting a backlog run also ensures one starred **watcher** session in the clone itself:
|
|
512
|
+
- `worktree.watcher` — starting a backlog run also ensures one starred **watcher** session in the clone itself: an `assist watch loop` console session (no claude process, so it costs no tokens while the branch is quiet), so the clone keeps fast-forwarding and rebuilding while the run works in its worktree. A daemon restart (e.g. after an assist rebuild) relaunches a watcher that wasn't stopped from its stored args, logged to `daemon.log`. The watcher's cwd is always the clone, never a worktree. One watcher per clone — a run (fresh or chained) that finds a live one spawns no second, and the reason lands in `daemon.log`; a watcher that has stopped or errored is replaced by the next run. Dismissing the last other session in the clone or any of its worktrees also dismisses the watcher, logged to `daemon.log`; a finished card still showing keeps it alive. Needs `worktree.enabled` and an `auto-build` run entry in its `assist.yml` (what `assist watch wait --build` invokes).
|
|
512
513
|
- `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.
|
|
513
514
|
|
|
514
515
|
While it is on, a job that commits never runs in the clone: `backlog run <id>` (spawned fresh or chained into from a session already sitting in the clone) and PR checkouts (`review <n>`, `review-pr-comments <n>`) always allocate a `<clone>-N`, even when the clone is idle and clean. Committing there would land the work on the local mainline and leave every later worktree starting from that HEAD. Plain prompts, `spawnInTree` sessions, `draft`/`bug`/`refine` and every other command keep the normal clone-preferring placement, and a session pinned in place stays where it was launched. There is no fallback — if the worktree can't be created the spawn fails with the reason in `daemon.log` rather than dropping the job in the clone. Non-trunk repos are unaffected.
|