You're already using AI coding agents. The problem isn't the coding — it's everything around it.
Switching branches. Stashing changes. Watching CI. Assembling PRs. Losing context when you juggle three things at once. One agent session is fine. Five is chaos.
Shep gives each feature its own isolated world — a git worktree, a branch, an agent session — and handles the boring parts: committing, pushing, opening PRs, watching CI, and fixing failures. You manage it all from one dashboard or the CLI.
shep feat new "add stripe payments" --push --prshep feat new "add dark mode toggle" --push --prshep feat new "fix login redirect bug" --push --pr# Three agents running in parallel. Zero branch conflicts. You monitor from one place.
Claude Code: claude · Cursor CLI: cursor · Gemini CLI: gemini
If prompted to log in, complete auth first — Shep can't authenticate on your behalf.
Sandbox mode note: Some agents restrict network access by default. If operations like npm install fail, configure allowed hosts in your agent's settings or disable sandbox for Shep features. See Agent Permissions.
# Try it instantly — no install needednpx @shepai/cli# Or install globallynpm i -g @shepai/cli# Start Shep — opens the web dashboard at localhost:4050shep
cd ~/projects/my-app # Any git repo. Shep uses the repo you're in.shep feat new "add a /health endpoint that returns uptime and version" --push --pr# Shep creates a worktree, runs your agent, commits, pushes, and opens a PR.
Not in a git repo? Shep initializes one for you — git init, creates a branch, and starts working.
Or use the dashboard — describe what you need, configure automation, and hit create:
shep feat new "add stripe payments" --push --prshep feat new "add dark mode toggle" --push --prshep feat new "refactor auth middleware" --push --pr# All three run simultaneously in the same repo. Each in its own worktree.
Launch from CLI or dashboard — monitor everything in one place. Open any feature in your IDE, terminal, or file manager with one click:
Or work across multiple repos:
shep feat new "add payments" --repo ~/projects/backend --push --prshep feat new "add checkout UI" --repo ~/projects/frontend --push --pr
Manage multiple repos from one dashboard. Start a local dev server per feature, chat with Shep for questions or HTML previews — all without leaving the UI:
The default flow is simple: prompt → implement → commit → push → PR.
You describe Agent codes Shep commits Shep pushes Shep opens a feature → in a worktree → the changes → to remote → a PR
Shep creates an isolated git worktree, hands your prompt to the agent, and handles everything after: committing, pushing, and opening a PR. If CI fails, Shep reads the logs, fixes the issue, and retries (configurable).
For complex features, enable the full structured pipeline with requirements, research, and planning phases:
# Disable --fast to get the full pipelineshep feat new "redesign the payment system" --no-fast --push --pr
This adds approval gates where Shep pauses for your review:
Prompt → Requirements → Research → Plan → Implement → Commit → PR ▲ ▲ ▲ Gate 1: PRD Gate 2: Plan Gate 3: Merge
Each gate produces a YAML artifact you can read, edit, and approve before the agent continues. Use --allow-prd and --allow-plan to auto-approve individual gates, or keep them manual for full control.
Run multiple features at once. Each gets its own git worktree — isolated branch, isolated files, zero conflicts. Monitor all of them from one dashboard.
Two ways to manage everything. The dashboard at localhost:4050 shows a visual graph of all repos and features with real-time status, diff review, and interactive chat. The CLI gives you the same control from the terminal.
Shep watches your CI pipeline after push. If it fails, the agent reads the logs, diagnoses the problem, and pushes a fix. Retries are configurable (default: 3). Works best when CI produces clear error messages.
Push, PR, merge, CI watch, CI fix retries, timeouts, model selection, agent type — configure per feature with flags or set global defaults with shep settings. Nothing is hardcoded.
All data lives in ~/.shep/ as SQLite. No cloud, no account, no tracking. Your code is only sent to whichever AI agent you configure, under that agent's own terms.
When you need more structure — requirements, technical research, implementation plans with approval gates. Produces versioned YAML artifacts you review before any code is written. Enable per feature with --no-fast.
CI fails. Shep reads the logs, diagnoses the problem, and pushes a fix. Retries up to 3 times (configurable), then pauses and asks you.
Agent gets stuck. The feature enters a Blocked state. You get notified and can provide feedback or restart from a checkpoint.
You need to stop immediately. Run shep agent stop <id> or hit the stop button in the dashboard. The worktree is preserved — resume or take over manually.
You want to take over. The code lives in a standard git worktree on a named branch. Open it in your IDE at any point.
Too many features in flight. Each feature is independent. Stop, pause, or delete any of them without affecting the others.
Shep runs your agent non-interactively — it can't pause for "allow this command?" prompts mid-pipeline. By default, it passes permission-bypass flags (e.g., --dangerously-skip-permissions for Claude Code — each agent has an equivalent).
Your safety net is three layers deep:
Worktree isolation — the agent works on a copy, not your checkout
Draft PRs — you review the diff before anything is merged
CI pipeline — your tests, linters, and security scanners run before merge
The skip-permissions flag is a default, not a requirement. Configure your agent's permission model independently if you need tighter control.
What Shep does NOT protect you from: If your CI doesn't catch a vulnerability, Shep won't either. Shep is an orchestration layer, not a security scanner.
shep start [--port] Start web daemon (default: 4050)shep stop Stop the daemonshep status Show daemon status and metricsshep ui Start web UI in foreground
How is this different from just using an AI coding agent directly?
Your agent writes the code. Shep manages the session: creating the worktree, committing, pushing, opening PRs, watching CI, and retrying failures. The difference is most obvious when you're running 3-5 features in parallel — Shep keeps them organized and isolated while you focus on what matters.
How is this different from Superset?
Superset is a terminal multiplexer for agents — it runs them in parallel tabs. Shep manages the development lifecycle: worktrees, commits, pushes, PRs, CI. They're complementary. Use Superset for the execution environment, Shep for the workflow.
What happens if the agent writes bad code?
Shep creates a draft PR. Your CI runs. If tests fail, the agent reads the logs and attempts a fix (up to 3 retries, configurable). If that fails, the feature pauses and you're notified. The agent never merges code that fails CI.
What about agent sandbox / permission modes?
Shep runs the agent with permission-bypass flags by default so the pipeline isn't blocked by interactive prompts. Your protection is worktree isolation, draft PRs, and your CI pipeline. See Agent Permissions.
Does this work on large codebases?
Yes. The practical limit is the underlying agent's context window, not Shep. If your agent handles your repo well directly, Shep will too. For monorepos, scope features to specific packages with --repo.
Can I use this on a team?
Shep runs locally on your git repo. Multiple team members can run Shep independently. Features are just branches and PRs — your existing review process applies.
Is my code sent anywhere?
Not by Shep. Your code is sent to whichever AI agent you configure, under that agent's own privacy terms. Shep stores everything locally and makes no network calls.
What's the spec-driven mode?
An optional structured pipeline that adds requirements, research, and planning phases with approval gates before any code is written. Useful for complex features where you want to review the approach first. Enable with --no-fast. Learn more →
How do I stop a feature that's running?
CLI: shep agent stop <id>. Dashboard: click the stop button. The worktree is preserved — resume with shep feat resume <id> or work on it manually.