CLI Reference¶
sipag configure¶
Configure review agents and custom commands for a project's .claude/ directory.
| Argument | Default | Description |
|---|---|---|
DIR |
. (current directory) |
Project directory to configure |
--static |
off | Install generic templates without launching Claude |
Examples:
sipag configure # Configure current project (launches Claude)
sipag configure ~/Projects/my-app # Configure a specific project
sipag configure --static # Install generic templates without Claude
What gets installed:
.claude/agents/— 7 review agents (security, architecture, correctness, root-cause, simplicity, backlog, issue).claude/commands/— 7 custom commands (dispatch, review, triage, ship-it, work, consult, release)
Re-run sipag configure as your project evolves — it reads existing files and updates them.
sipag dispatch¶
Launch a Docker worker for a specific PR.
| Argument | Required | Description |
|---|---|---|
PR_URL |
yes | GitHub PR URL (e.g. https://github.com/owner/repo/pull/42) |
Examples:
sipag dispatch https://github.com/acme/my-app/pull/42
sipag dispatch https://github.com/Dorky-Robot/sipag/pull/123
What it does:
- Runs preflight checks (gh auth, Docker daemon, Docker image)
- Checks back-pressure (refuses if active workers >=
max_open_prs) - Fetches the PR branch and body via
gh pr view - Launches a Docker container that clones, implements, and pushes
Environment overrides:
SIPAG_IMAGE— use a different Docker imageSIPAG_TIMEOUT— override worker timeout
sipag ps¶
List active and recent workers.
| Flag | Default | Description |
|---|---|---|
--all |
off | Show all workers (not just active + recent) |
By default, shows active workers plus the 5 most recent terminal workers from the last 24 hours. Use --all to see everything.
Example output:
PR REPO PHASE AGE CONTAINER
------------------------------------------------------------------------------
#42 acme/my-app working 15m pr-42
#38 acme/my-app finished 2h pr-38
#35 acme/my-app failed 5h pr-35
↳ No commits pushed
3 active, 1 finished, 1 failed (3 total)
sipag logs¶
Show logs for a worker.
| Argument | Description |
|---|---|
ID |
PR number (e.g. 42 or #42) or Docker container name |
Examples:
Reads from the log file at ~/.sipag/logs/{owner}--{repo}--pr-{N}.log. Falls back to docker logs if no log file exists.
sipag kill¶
Kill a running worker.
| Argument | Description |
|---|---|
ID |
PR number (e.g. 42 or #42) or Docker container name |
Examples:
Stops the Docker container and marks the worker state as failed with "Killed by user". If the worker already reached a terminal state (finished/failed), the state is preserved.
sipag tui¶
Launch the interactive terminal UI. Also runs when sipag is invoked with no arguments.
Shows all workers across all repos in a live table with keyboard navigation:
| Key | Action |
|---|---|
j / ↓ |
Move down |
k / ↑ |
Move up / scroll up |
Enter |
Open detail view |
Esc |
Back to list |
a |
Attach to container shell |
k |
Kill selected worker |
K |
Kill all active workers |
x / Delete |
Dismiss finished/failed worker |
Tab |
Toggle active/archive views |
r |
Refresh |
q |
Quit |
sipag doctor¶
Check system prerequisites.
Checks:
- Docker daemon running
- Docker worker image available
- GitHub CLI authenticated
~/.sipag/directory exists- Config file validation (if present)
Example output:
sipag doctor
============
Docker daemon: OK
Docker image: OK (ghcr.io/dorky-robot/sipag-worker:latest)
GitHub CLI: OK
sipag dir: OK (/Users/you/.sipag)
sipag version¶
Print version and git commit hash.
Example output: