hive babysit
Manages the experimental PR babysitter — a background process that polls
your open pull requests and keeps them mergeable. It auto-rebases green PRs that
have fallen behind main, and asks your development agent to repair merge
conflicts or red CI in an isolated worktree.
The babysitter is a separate process from the
daemon. It only touches projects
that set babysitter.enabled: true.
Usage
hive babysit start [--detach] [--dry-run]
hive babysit stop
hive babysit restart [--detach] [--dry-run]
hive babysit status
hive babysit reload
hive babysit tail
hive babysit install [--force]
hive babysit --once PROJECT [--dry-run]
hive babysit --once --all [--dry-run]
This command is text-only; it does not emit a --json envelope.
Subcommands and options
| Subcommand / flag | What it does |
|---|---|
start |
Starts the babysitter. Add --detach to run it in the background. |
stop |
Sends a graceful stop and waits for in-flight PR repairs to finish before escalating. |
restart |
Stops a running babysitter and starts a fresh one. |
status |
Reports running / not-running plus uptime, and recommends a restart if the process predates your current Hive install. |
reload |
Re-reads config and log settings. Does not reload code into a detached process — use restart after upgrading Hive. |
tail |
Follows the babysitter log. |
install [--force] |
Installs and starts the per-user babysitter service (systemd user unit on Linux, launchd on macOS). --force overwrites an existing unit, and the previous one is backed up. Does not accept --dry-run. |
--once PROJECT |
Runs a single poll tick for one project (handy for smoke tests and dry runs). |
--once --all |
Runs a single tick across every enabled project. |
--dry-run |
Runs without mutating GitHub: the agent writes a plan instead, and git/gh are replaced with read-only stubs. Use throwaway repos for destructive validation. |
Project configuration
Enable the babysitter per project in <project>/.hive-state/config.yml:
babysitter:
enabled: true
interval: 10m
max_concurrent_prs: 2
labels_ignore: [wip, do-not-merge, draft]
auto_rebase: true
budget_minutes: 30
budget_usd: 50
babysitter.enabled: false is the kill switch and takes effect within one poll
interval. auto_rebase (default true) controls auto-rebasing green-but-behind
PRs onto the base branch; a rebase that conflicts is left untouched for a human.
PRs whose labels match labels_ignore, and draft PRs, are skipped.
Examples
# Dry-run a single project to see what the babysitter would do
hive babysit --once my-project --dry-run
# Run it in the background and check on it later
hive babysit start --detach
hive babysit status