<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Housk Shin</title>
    <description>The latest articles on DEV Community by Housk Shin (@erish2150).</description>
    <link>https://dev.to/erish2150</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3880475%2F9e64fd79-c8ae-45e4-aac0-2ade24203d3e.png</url>
      <title>DEV Community: Housk Shin</title>
      <link>https://dev.to/erish2150</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/erish2150"/>
    <language>en</language>
    <item>
      <title>git-parsec: The Git Worktree Manager Your Team Needs</title>
      <dc:creator>Housk Shin</dc:creator>
      <pubDate>Wed, 15 Apr 2026 12:37:42 +0000</pubDate>
      <link>https://dev.to/erish2150/git-parsec-the-git-worktree-manager-your-team-needs-35pc</link>
      <guid>https://dev.to/erish2150/git-parsec-the-git-worktree-manager-your-team-needs-35pc</guid>
      <description>&lt;h1&gt;
  
  
  git-parsec: The Git Worktree Manager Your Team Needs
&lt;/h1&gt;

&lt;h2&gt;
  
  
  The Real Problem With &lt;code&gt;git worktree&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;You're running multiple AI coding agents on your repository. Or maybe your team wants to work on several features in parallel.&lt;/p&gt;

&lt;p&gt;Git worktrees solve the isolation problem — each worktree has its own working directory and index, so multiple agents can commit simultaneously without &lt;code&gt;index.lock&lt;/code&gt; conflicts.&lt;/p&gt;

&lt;p&gt;But creating worktrees is just the beginning. The &lt;strong&gt;lifecycle management&lt;/strong&gt; is where things fall apart:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create worktrees manually&lt;/span&gt;
git worktree add ../repo.PROJ-1234 &lt;span class="nt"&gt;-b&lt;/span&gt; feature/PROJ-1234
git worktree add ../repo.PROJ-5678 &lt;span class="nt"&gt;-b&lt;/span&gt; feature/PROJ-5678

&lt;span class="c"&gt;# Now what?&lt;/span&gt;
&lt;span class="c"&gt;# - Which branch corresponds to which ticket?&lt;/span&gt;
&lt;span class="c"&gt;# - How do you ship (push + PR + cleanup) without five manual steps?&lt;/span&gt;
&lt;span class="c"&gt;# - Are two worktrees editing the same files?&lt;/span&gt;
&lt;span class="c"&gt;# - What's the CI status for each PR?&lt;/span&gt;
&lt;span class="c"&gt;# - How do you undo a mistake?&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You end up with a mess of worktrees, branches, and manual bookkeeping. Every time you ship a feature, it's: &lt;code&gt;git push&lt;/code&gt;, open browser, create PR, come back, &lt;code&gt;git worktree remove&lt;/code&gt;, &lt;code&gt;git branch -D&lt;/code&gt;... for each ticket.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There had to be a better way.&lt;/strong&gt; Enter &lt;strong&gt;git-parsec&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is git-parsec?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/erishforG/git-parsec" rel="noopener noreferrer"&gt;&lt;strong&gt;git-parsec&lt;/strong&gt;&lt;/a&gt; is a CLI tool written in Rust that automates the complete lifecycle of git worktrees. It's built for parallel workflows—whether you're coordinating multiple AI agents or your team is shipping features independently.&lt;/p&gt;

&lt;p&gt;Think of parsec as your git worktree manager. It handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ticket-driven workspaces&lt;/strong&gt; — Create worktrees tied to Jira, GitHub Issues, or GitLab Issues&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-conflict parallelism&lt;/strong&gt; — Each worktree gets its own index; no lock contention&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conflict detection&lt;/strong&gt; — Warns you when multiple worktrees modify the same files&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-step shipping&lt;/strong&gt; — Push, create a PR/MR, and clean up with a single command&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CI monitoring&lt;/strong&gt; — Watch your builds directly from the terminal&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operation history&lt;/strong&gt; — &lt;code&gt;parsec log&lt;/code&gt; and &lt;code&gt;parsec undo&lt;/code&gt; let you track and revert actions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Machine-readable output&lt;/strong&gt; — &lt;code&gt;--json&lt;/code&gt; on every command for AI agent consumption&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cargo &lt;span class="nb"&gt;install &lt;/span&gt;git-parsec
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or build from source:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/erishforG/git-parsec.git
&lt;span class="nb"&gt;cd &lt;/span&gt;git-parsec
cargo build &lt;span class="nt"&gt;--release&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Quick Start: 5 Commands
&lt;/h2&gt;

&lt;p&gt;Let's walk through a real workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Start a worktree for a ticket
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec start PROJ-1234 &lt;span class="nt"&gt;--title&lt;/span&gt; &lt;span class="s2"&gt;"Add user authentication"&lt;/span&gt;
Created workspace &lt;span class="k"&gt;for &lt;/span&gt;PROJ-1234 at /home/user/myapp.PROJ-1234
  Add user authentication

  Tip: &lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;parsec switch PROJ-1234&lt;span class="si"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Parsec creates a new worktree in a sibling directory (e.g., &lt;code&gt;myapp.PROJ-1234&lt;/code&gt;) and checks out a new branch named &lt;code&gt;feature/PROJ-1234&lt;/code&gt;. The &lt;code&gt;--title&lt;/code&gt; can come from your Jira integration too—just run &lt;code&gt;parsec start PROJ-1234&lt;/code&gt; and it'll fetch the title automatically.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Switch into the workspace and start working
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;parsec switch PROJ-1234&lt;span class="si"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;git add src/auth.rs &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Implement OAuth2 flow"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You're now in an isolated worktree. No index.lock conflicts with other agents or developers.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Start another ticket in parallel
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec start PROJ-5678 &lt;span class="nt"&gt;--title&lt;/span&gt; &lt;span class="s2"&gt;"Fix payment timeout"&lt;/span&gt;
Created workspace &lt;span class="k"&gt;for &lt;/span&gt;PROJ-5678 at /home/user/myapp.PROJ-5678
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both worktrees exist simultaneously. Both can commit independently. No conflicts.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Check for file conflicts across worktrees
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec conflicts
No conflicts detected.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Before you ship, make sure no two worktrees are modifying the same files. If they are, parsec warns you:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec conflicts
╭──────────────────┬──────────────────────╮
│ File             │ Worktrees            │
├──────────────────┼──────────────────────┤
│ src/api/router.rs│ PROJ-1234, PROJ-5678 │
╰──────────────────┴──────────────────────╯
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Ship it
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec ship PROJ-1234
Shipped PROJ-1234!
  PR: https://github.com/org/repo/pull/42
  Workspace cleaned up.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That single command:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pushes your branch to the remote&lt;/li&gt;
&lt;li&gt;Creates a PR (GitHub) or MR (GitLab)&lt;/li&gt;
&lt;li&gt;Removes the worktree and cleans up&lt;/li&gt;
&lt;li&gt;All in one step&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Core Features Deep Dive
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Ticket Tracker Integration
&lt;/h3&gt;

&lt;p&gt;Connect parsec to your issue tracker and it auto-fetches ticket titles:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Setup once&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;parsec config init
? Which tracker? &lt;span class="o"&gt;(&lt;/span&gt;jira/github/gitlab/none&lt;span class="o"&gt;)&lt;/span&gt; › jira
? Jira base URL? › https://yourcompany.atlassian.net

&lt;span class="c"&gt;# Now titles are automatic&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;parsec start PROJ-1234
Created workspace &lt;span class="k"&gt;for &lt;/span&gt;PROJ-1234 at /home/user/myapp.PROJ-1234
  Implement rate limiting &lt;span class="k"&gt;for &lt;/span&gt;API endpoints
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Supported trackers: &lt;strong&gt;Jira&lt;/strong&gt;, &lt;strong&gt;GitHub Issues&lt;/strong&gt;, &lt;strong&gt;GitLab Issues&lt;/strong&gt;, or none (manual titles).&lt;/p&gt;

&lt;h3&gt;
  
  
  One-Step Shipping
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;parsec ship&lt;/code&gt; is the killer feature. One command does what normally takes five:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec ship PROJ-1234 &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--draft&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--no-pr&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;✓ Pushes your branch&lt;/li&gt;
&lt;li&gt;✓ Creates a PR/MR (platform auto-detected)&lt;/li&gt;
&lt;li&gt;✓ Cleans up the worktree&lt;/li&gt;
&lt;li&gt;✓ Removes the branch (if cleanup enabled)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use &lt;code&gt;--draft&lt;/code&gt; to create a draft PR, or &lt;code&gt;--no-pr&lt;/code&gt; to push without creating a PR.&lt;/p&gt;

&lt;h3&gt;
  
  
  CI Monitoring with Watch Mode
&lt;/h3&gt;

&lt;p&gt;Monitor your CI directly from the terminal. No browser tab switching:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec ci PROJ-1234 &lt;span class="nt"&gt;--watch&lt;/span&gt;
CI &lt;span class="k"&gt;for &lt;/span&gt;PROJ-1234 &lt;span class="o"&gt;(&lt;/span&gt;PR &lt;span class="c"&gt;#42, a1b2c3d)&lt;/span&gt;
┌────────────┬───────────┬──────────┐
│ Check      │ Status    │ Duration │
├────────────┼───────────┼──────────┤
│ Tests      │ ✓ passed  │ 2m 15s   │
│ Build      │ ✓ passed  │ 1m 42s   │
│ Lint       │ ● running │ running… │
└────────────┴───────────┴──────────┘
✓ CI: 2/3 — 2 passed, 1 running

&lt;span class="c"&gt;# --watch mode refreshes every 5s until all checks complete&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Merge PRs Without Leaving Terminal
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec merge PROJ-1234 &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--rebase&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--no-wait&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
Waiting &lt;span class="k"&gt;for &lt;/span&gt;CI to pass... ✓
Merged PR &lt;span class="c"&gt;#42 for PROJ-1234!&lt;/span&gt;
  Method: squash
  SHA:    a1b2c3d
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By default, parsec waits for CI to pass before merging. Use &lt;code&gt;--no-wait&lt;/code&gt; to skip that check. Use &lt;code&gt;--rebase&lt;/code&gt; for rebase merge instead of squash.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conflict Detection
&lt;/h3&gt;

&lt;p&gt;When multiple worktrees modify the same files, you need to know before you ship:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec conflicts
╭──────────────────┬──────────────────────╮
│ File             │ Worktrees            │
├──────────────────┼──────────────────────┤
│ src/config.ts    │ PROJ-1234, PROJ-5678 │
│ src/utils.ts     │ PROJ-1234, PROJ-9000 │
╰──────────────────┴──────────────────────╯
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Perfect for coordinating AI agents or team members. Spot conflicts before they become merge conflicts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stacked PRs
&lt;/h3&gt;

&lt;p&gt;Create dependent PR chains where PR B builds on top of PR A:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec start PROJ-1 &lt;span class="nt"&gt;--title&lt;/span&gt; &lt;span class="s2"&gt;"Add models"&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;parsec start PROJ-2 &lt;span class="nt"&gt;--on&lt;/span&gt; PROJ-1 &lt;span class="nt"&gt;--title&lt;/span&gt; &lt;span class="s2"&gt;"Add API endpoints"&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;parsec start PROJ-3 &lt;span class="nt"&gt;--on&lt;/span&gt; PROJ-2 &lt;span class="nt"&gt;--title&lt;/span&gt; &lt;span class="s2"&gt;"Add frontend"&lt;/span&gt;

&lt;span class="nv"&gt;$ &lt;/span&gt;parsec stack
Stack dependency graph:
└── PROJ-1 Add models
    └── PROJ-2 Add API endpoints
        └── PROJ-3 Add frontend
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When you ship, each PR gets the correct base branch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec ship PROJ-1   &lt;span class="c"&gt;# PR to main&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;parsec ship PROJ-2   &lt;span class="c"&gt;# PR to feature/PROJ-1&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;parsec ship PROJ-3   &lt;span class="c"&gt;# PR to feature/PROJ-2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Operation History &amp;amp; Undo
&lt;/h3&gt;

&lt;p&gt;Track what happened and revert if needed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec log
╭───┬───────┬───────────┬───────────────────────────────┬──────────────────╮
│ &lt;span class="c"&gt;# │ Op    │ Ticket    │ Detail                        │ Time             │&lt;/span&gt;
├───┼───────┼───────────┼───────────────────────────────┼──────────────────┤
│ 4 │ clean │ PROJ-5678 │ Cleaned workspace             │ 2026-04-15 14:30 │
│ 3 │ ship  │ PROJ-1234 │ Shipped branch &lt;span class="s1"&gt;'feature/1234'&lt;/span&gt; │ 2026-04-15 14:02 │
│ 2 │ start │ PROJ-5678 │ Created workspace             │ 2026-04-15 13:55 │
│ 1 │ start │ PROJ-1234 │ Created workspace             │ 2026-04-15 09:14 │
╰───┴───────┴───────────┴───────────────────────────────┴──────────────────╯

&lt;span class="nv"&gt;$ &lt;/span&gt;parsec undo
Undid start &lt;span class="k"&gt;for &lt;/span&gt;PROJ-5678
  Worktree removed.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  JSON Output for AI Agents
&lt;/h3&gt;

&lt;p&gt;Every command supports &lt;code&gt;--json&lt;/code&gt; for machine consumption:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;parsec list &lt;span class="nt"&gt;--json&lt;/span&gt;
&lt;span class="o"&gt;[&lt;/span&gt;
  &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="s2"&gt;"ticket"&lt;/span&gt;: &lt;span class="s2"&gt;"TEST-1"&lt;/span&gt;,
    &lt;span class="s2"&gt;"path"&lt;/span&gt;: &lt;span class="s2"&gt;"/home/user/myapp.TEST-1"&lt;/span&gt;,
    &lt;span class="s2"&gt;"branch"&lt;/span&gt;: &lt;span class="s2"&gt;"feature/TEST-1"&lt;/span&gt;,
    &lt;span class="s2"&gt;"base_branch"&lt;/span&gt;: &lt;span class="s2"&gt;"main"&lt;/span&gt;,
    &lt;span class="s2"&gt;"created_at"&lt;/span&gt;: &lt;span class="s2"&gt;"2026-04-15T09:00:00Z"&lt;/span&gt;,
    &lt;span class="s2"&gt;"ticket_title"&lt;/span&gt;: &lt;span class="s2"&gt;"Add auth"&lt;/span&gt;,
    &lt;span class="s2"&gt;"status"&lt;/span&gt;: &lt;span class="s2"&gt;"active"&lt;/span&gt;
  &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Perfect for orchestration scripts or AI agents that need structured output.&lt;/p&gt;

&lt;h2&gt;
  
  
  parsec vs. The Alternatives
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;parsec&lt;/th&gt;
&lt;th&gt;Worktrunk&lt;/th&gt;
&lt;th&gt;wtp&lt;/th&gt;
&lt;th&gt;git worktree&lt;/th&gt;
&lt;th&gt;git-town&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ticket tracker integration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✓ (Jira, GitHub, GitLab)&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Physical isolation (worktrees)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cross-worktree conflict detection&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;One-step ship (push+PR+cleanup)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;GitHub + GitLab support&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Both&lt;/td&gt;
&lt;td&gt;GitHub&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;GitHub, GitLab, Gitea, Bitbucket&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Operation history &amp;amp; undo&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓ (undo)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;JSON output&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CI monitoring&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✓ (with --watch)&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Stacked PRs&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Post-create hooks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Zero-config start&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; parsec combines &lt;strong&gt;worktree isolation&lt;/strong&gt; with &lt;strong&gt;ticket tracker integration&lt;/strong&gt;, &lt;strong&gt;CI monitoring&lt;/strong&gt;, and &lt;strong&gt;cross-worktree conflict detection&lt;/strong&gt; — a combination no other tool currently offers.&lt;/p&gt;

&lt;h2&gt;
  
  
  All Commands at a Glance
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Workspace management&lt;/span&gt;
parsec start PROJ-1234              &lt;span class="c"&gt;# Create worktree for a ticket&lt;/span&gt;
parsec adopt PROJ-1234 &lt;span class="nt"&gt;--branch&lt;/span&gt; fix/bug  &lt;span class="c"&gt;# Import existing branch&lt;/span&gt;
parsec switch PROJ-1234             &lt;span class="c"&gt;# Get path to worktree&lt;/span&gt;
parsec list                         &lt;span class="c"&gt;# See all active workspaces&lt;/span&gt;
parsec status &lt;span class="o"&gt;[&lt;/span&gt;ticket]              &lt;span class="c"&gt;# Detailed workspace status&lt;/span&gt;
parsec clean &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--all&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;                &lt;span class="c"&gt;# Remove worktrees&lt;/span&gt;

&lt;span class="c"&gt;# Shipping &amp;amp; PRs&lt;/span&gt;
parsec ship PROJ-1234 &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--draft&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;     &lt;span class="c"&gt;# Push + PR + cleanup&lt;/span&gt;
parsec merge PROJ-1234 &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--no-wait&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;  &lt;span class="c"&gt;# Merge PR from terminal&lt;/span&gt;
parsec pr-status &lt;span class="o"&gt;[&lt;/span&gt;ticket]           &lt;span class="c"&gt;# Check PR review status&lt;/span&gt;
parsec ci &lt;span class="o"&gt;[&lt;/span&gt;ticket] &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--watch&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;        &lt;span class="c"&gt;# Monitor CI status&lt;/span&gt;

&lt;span class="c"&gt;# Changes &amp;amp; syncing&lt;/span&gt;
parsec diff &lt;span class="o"&gt;[&lt;/span&gt;ticket]                &lt;span class="c"&gt;# View changes vs base&lt;/span&gt;
parsec &lt;span class="nb"&gt;sync&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--all&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;                 &lt;span class="c"&gt;# Rebase all worktrees&lt;/span&gt;
parsec conflicts                    &lt;span class="c"&gt;# Detect cross-worktree conflicts&lt;/span&gt;

&lt;span class="c"&gt;# History &amp;amp; stacks&lt;/span&gt;
parsec log &lt;span class="o"&gt;[&lt;/span&gt;ticket]                 &lt;span class="c"&gt;# Operation history&lt;/span&gt;
parsec undo                         &lt;span class="c"&gt;# Revert last operation&lt;/span&gt;
parsec stack &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nt"&gt;--sync&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;               &lt;span class="c"&gt;# Stacked PR dependency graph&lt;/span&gt;
parsec open &lt;span class="o"&gt;[&lt;/span&gt;ticket]                &lt;span class="c"&gt;# Open PR or ticket page&lt;/span&gt;

&lt;span class="c"&gt;# Configuration&lt;/span&gt;
parsec config init                  &lt;span class="c"&gt;# Setup wizard&lt;/span&gt;
parsec config show                  &lt;span class="c"&gt;# Show configuration&lt;/span&gt;
parsec config completions zsh       &lt;span class="c"&gt;# Generate shell completions&lt;/span&gt;
parsec config man                   &lt;span class="c"&gt;# Install man page&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Install
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cargo &lt;span class="nb"&gt;install &lt;/span&gt;git-parsec
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Setup (optional but recommended)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;parsec config init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Answer a few questions about your tracker (Jira, GitHub, GitLab) and you're done.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Start your first worktree
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;your-repo
parsec start PROJ-1234
&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;parsec switch PROJ-1234&lt;span class="si"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Explore
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# List all worktrees&lt;/span&gt;
parsec list

&lt;span class="c"&gt;# Check for conflicts&lt;/span&gt;
parsec conflicts

&lt;span class="c"&gt;# See your work in progress&lt;/span&gt;
parsec diff

&lt;span class="c"&gt;# Ship when ready&lt;/span&gt;
parsec ship PROJ-1234
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Perfect For
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI Agent Orchestration&lt;/strong&gt; — Run multiple Claude Code agents on the same repo without lock conflicts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Large Teams&lt;/strong&gt; — Developers work on independent features without branching complexity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-Velocity Teams&lt;/strong&gt; — Ship features fast with one-command shipping&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monorepos&lt;/strong&gt; — Isolate changes by feature or domain&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stacked Workflows&lt;/strong&gt; — Build dependent features with automatic rebasing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  One More Thing
&lt;/h2&gt;

&lt;p&gt;parsec is &lt;strong&gt;free, open-source, and MIT-licensed&lt;/strong&gt;. Star the repo on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/erishforG/git-parsec" rel="noopener noreferrer"&gt;erishforG/git-parsec&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Documentation: &lt;strong&gt;&lt;a href="https://erishforg.github.io/git-parsec/" rel="noopener noreferrer"&gt;erishforg.github.io/git-parsec&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Have feedback? Found a bug? Open an issue or PR. We're actively developing parsec and love community input.&lt;/p&gt;




&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Q: Will parsec work with my Git hosting platform?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: parsec auto-detects GitHub, GitHub Enterprise, GitLab, and GitLab self-hosted from your remote URL. If it doesn't recognize yours, let us know.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Can I use parsec without a ticket tracker?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: Absolutely. Run &lt;code&gt;parsec start &amp;lt;anything&amp;gt;&lt;/code&gt; and provide a manual title with &lt;code&gt;--title "Your title here"&lt;/code&gt;. No tracker integration required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: What if I already have worktrees created with plain &lt;code&gt;git worktree&lt;/code&gt;?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: Use &lt;code&gt;parsec adopt&lt;/code&gt; to import them into parsec management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: How does parsec handle merge conflicts?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: parsec detects when two worktrees modify the same files and warns you. When you merge a PR, Git handles conflicts as normal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Can I use parsec in a CI/CD pipeline?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A: Yes. Every command supports &lt;code&gt;--json&lt;/code&gt; for machine consumption, and you can set &lt;code&gt;PARSEC_*_TOKEN&lt;/code&gt; environment variables for non-interactive auth.&lt;/p&gt;




&lt;p&gt;Start shipping faster. No more context switching. No more &lt;code&gt;index.lock&lt;/code&gt; nightmares.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try parsec today:&lt;/strong&gt; &lt;code&gt;cargo install git-parsec&lt;/code&gt;&lt;/p&gt;

</description>
      <category>git</category>
      <category>rust</category>
      <category>cli</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
