git-parsec is a Git worktree lifecycle manager whose core goal is to simplify the ticket-to-PR process into a single command and provide an isolated workspace for each AI agent or developer. It solves the problems that ordinary git worktree does not track state, does not interact with ticketing systems, does not automatically create PRs, and does not clean up workspaces.
Purpose
- Provide isolated workspaces for parallel AI agent workflows, where each workspace has its own .git/index, avoiding index.lock conflicts when multiple agents run git add at the same time.
- Connect ticketing systems (Jira, GitHub Issues, GitLab Issues, Bitbucket) with Git workflows to automate the ticket-to-PR process.
- Manage stacked PRs, automatically submitting them in topological order and adding navigation comments.
- Cross-workspace conflict detection, flagging files modified in multiple workspaces before pushing.
Main Capabilities
- One command per stage: start (create workspace + fetch ticket), ship (push + create PR + clean up), merge (merge + clean up branch), clean (sweep merged branches).
- Stacked PRs: parsec start FOO --on BAR can create workspaces in a chain; parsec stack --submit opens the entire stack in topological order and automatically posts "← previous / next →" navigation comments.
- Cross-workspace conflict detection: parsec conflicts flags files modified in two workspaces before pushing; parsec conflicts --simulate performs an in-memory three-way merge, exposing line-level conflicts (read-only).
- Multiple code hosting platforms: GitHub, GitLab, Bitbucket Cloud, with full PR lifecycle support.
- Multiple ticketing systems: Jira, GitHub Issues, GitLab Issues, Bitbucket.
- CI status: GitHub Actions, GitLab CI, Bitbucket Pipelines, parsec ci and pr-status behave consistently across platforms.
- Designed for agents: every command has --json; errors output structured codes (E001…E013); parsec log --export outputs JSONL, including execution ID and per-step duration; --offline and the configuration option [behavior].offline can skip all network operations, suitable for isolated environments or CI.
- MCP server (new in v1.0): exposes parsec's workspace lifecycle to Claude Desktop or Cursor via stdio. Provides worktree, health, smartlog, PR, review, CI, and sync tools. Mutating calls are previewed and require confirmation; delegated tokens are scope-checked, and repository paths are sandboxed.
- Lifecycle hygiene: parsec clean sweeps workspaces for merged branches; parsec undo undoes the last operation (start, ship, clean); parsec doctor validates the setup and provides actionable remediation instructions.
- Workspace build cache sharing: [worktree].shared_cache = ["target", "node_modules", ".venv"] allows new workspaces to reuse the main repository's cache via symlinks (default) or copying, eliminating cold build costs.
- Sprint board and ticket creation: parsec board turns the active sprint into a board in the terminal; parsec create and parsec new-issue create tickets in the ticketing system without leaving the shell.
- Visualization and advanced tools (new in v0.5): parsec smartlog (alias sl) displays an ASCII commit DAG for each active workspace, overlaid with PR / CI information; parsec dashboard (alias dash) is a real-time TUI panel showing workspaces, CI, and PRs; parsec health checks locks / uncommitted / stale / CI; parsec reviews uniformly displays received and requested PR reviews; parsec test runs tests in parallel across workspaces, with tree-hash result caching (--all --jobs N --cache); parsec sync fast-forwards an expired workspace to origin/<base> (rebase or merge, --all, --dry-run).
- 33+ commands in total, the complete command reference includes every flag and example.
Usage
- After installation, run parsec config init for interactive first-time setup, then run parsec doctor to verify.
- Supports dynamic shell completion scripts, suggesting active workspaces and branches as you type (for example, parsec switch <Tab> lists active tickets). A purely static fallback is also available via parsec config completions <shell>.
- Authentication tokens are set via environment variables, all optional.
- The complete configuration schema and options can be viewed via parsec config schema (also published on schemastore.org).
- Each command exits with a structured code, and JSON output (--json) contains the same code.
Use cases
- Multiple AI agents or developers operating on the same repository in parallel, needing to avoid index.lock conflicts.
- Needing to automate the connection between a ticket system and the Git workflow, reducing round trips to the Web UI.
- Managing stacked PRs, needing automatic navigation of comments and topologically ordered commits.
- Detecting cross-workspace file conflicts before pushing.
- Running offline in an isolated environment or CI.
- Integrating the workspace lifecycle into Claude Desktop or Cursor via MCP.
Limitations
- The material does not provide specific installation commands, system requirements, pricing, or fee information.
- Other target platforms (macOS arm64/x86_64, Windows x86_64) are provided with each release, see Releases for details.
- v1.0 is the planned final feature release.
- The license is MIT, see LICENSE for details.