@staff0rd/assist 0.455.0 → 0.456.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 +2 -1
- package/dist/commands/sessions/web/bundle.js +1 -1
- package/dist/index.js +452 -194
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -99,6 +99,7 @@ After installation, the `assist` command will be available globally. You can als
|
|
|
99
99
|
- `assist commit <message>` - Commit staged changes with validation
|
|
100
100
|
- `assist commit <message> [files...]` - Stage files and create a git commit with validation
|
|
101
101
|
- `assist branch <slug> [--jira <key>] [--from <ref>]` - Create and switch to a new branch off the fresh remote default branch. Assembles the name as `[<prefix>/][<JIRA>-]<slug>` (prefix from the optional `branch.prefix` config, Jira key used verbatim), fetches and branches from `origin/<default>` (resolved live from the remote, falling back to `main`, overridable via `branch.defaultBranch`), and rejects slugs whose numeric tokens look like backlog IDs. Pass `--from <ref>` to base the branch off `<ref>` verbatim (a local branch, tag, or `origin/*` remote-tracking ref) instead of the remote default; the ref is still fetched first and validated with `git rev-parse --verify`, failing fast if it does not resolve. A long free-text slug is first shortened to a concise, LLM-assisted kebab-case name (falling back to a word-boundary trim if the model is unavailable) so branch names stay brief
|
|
102
|
+
- `assist watch wait [--interval <duration>] [--timeout <duration>] [--pull]` - Block until the current branch's upstream gains commits, then exit. Waiting costs no agent turns, so a watcher wakes only when a commit actually lands rather than on a clock tick. Fetches every `--interval` (default `30s`) and compares `@` against `@{u}`; a branch that is already behind returns immediately without fetching, and a transient fetch failure is ignored rather than ending the wait. Durations are a whole number followed by `s`, `m`, or `h`. `--pull` fast-forwards the branch with `git pull --ff-only` once movement is detected and prints the resulting sha; there is no force, rebase, or reset path, so a pull that is not a clean fast-forward is reported rather than resolved and the working tree is left untouched. The exit code is the interface: `0` the upstream moved (prints the `from..to` sha range and commit count) and, with `--pull`, was fast-forwarded cleanly, `2` timed out after `--timeout` (default `60m`) with no movement — just wait again, `3` the upstream moved but the `--pull` was not a clean fast-forward (prints git's own reason) — stop and report, `1` cannot wait at all (no upstream, detached HEAD, or not a repo), `130` interrupted
|
|
102
103
|
- `assist prs` - List pull requests for the current repository
|
|
103
104
|
- `assist prs raise --title <title> --what <what> --why <why> [--how <how>] [--resolves <key>] [--force]` - Raise a pull request, assembling the body from `## What`, `## Why` (with `--resolves` Jira URLs appended inline), and an optional `## How`. When run inside an assist web session, the drafted title and body are shown in a 50/50 preview pane beside the terminal for approve/reject before the PR is created or updated (the command blocks until you decide; rejecting exits non-zero); in a plain terminal it places the PR directly, erroring if one already exists unless `--force` overwrites its title and body. In the web preview pane you can attach inline comments to spans of the body, and drop or paste screenshots anywhere on the pane — each image is hosted via the [`gh-image`](https://github.com/drogers0/gh-image) gh extension (`gh extension install drogers0/gh-image`), shown in a Screenshots section, and on approval appended to the PR body under a `## Screenshots` heading (discarded on rejection). Run `assist prs raise --help` for full authoring guidance (which itself adapts to the terminal-vs-web context)
|
|
104
105
|
- `assist prs edit [--title <title>] [--what <what>] [--why <why>] [--how <how>] [--resolves <key>]` - Update only the supplied sections of the current branch's pull request, preserving every other section of its body
|
|
@@ -322,7 +323,7 @@ Drafting, filing a bug and refining change no code, so with parallel work on the
|
|
|
322
323
|
|
|
323
324
|
Every live session card carries an **add-agent** button (👥): submitting a prompt there starts a second agent inside that session's own workspace instead of allocating a new one, so both work on what is already in progress there. Starting a session the ordinary way still gets a fresh isolated stream. While several agents share a workspace, only the last one to leave triggers teardown — closing any other simply removes its card, and a card reaching done keeps the workspace for the agents still working in it.
|
|
324
325
|
|
|
325
|
-
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
|
|
326
|
+
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 instead of relying on `push.default`), so turning parallel work back off leaves the repo as it was. With `worktree.trunk` on, a branch tracking a differently-named upstream is taken as deliberate and the commit is pushed to that upstream (`git push origin HEAD:main`); with it off, such a branch is pushed to its own remote branch (`git push --set-upstream origin HEAD:<branch>`) so a feature branch created off `origin/main` raises its own PR branch rather than landing on the mainline.
|
|
326
327
|
|
|
327
328
|
When iterating on assist itself: web server changes only need the `assist sessions` process restarted — sessions survive. Daemon/session-core changes need `assist daemon restart` to load the new code; this kills the PTYs, then claude sessions — including assist sessions that wrap claude, like `assist draft` — are auto-respawned via `claude --resume` with scrollback starting fresh, while run sessions (and assist sessions whose claude sessionId was never discovered) reappear as not-restored tiles that can be retried. A `--once` draft/bug/refine session is respawned through its assist wrapper instead of bare `claude --resume`, so its `assist signal done` watcher is re-established and the card still auto-closes.
|
|
328
329
|
|