omp packages

pi-git-worktree0.1.1

Git worktree isolation and ephemeral scratchpad extension for Pi Coding Agent

luisito15 Published 1 month ago MIT ~283 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

pi-git-worktree banner

npm version CI status Pi compatible License Node version


๐ŸŒฟ Overview

pi-git-worktree brings isolated branch scratchpads and sandbox execution to Pi Coding Agent using native Git worktrees.

When AI coding agents perform multi-file refactoring, large dependency upgrades, or autonomous subagent iterations, modifying the primary workspace can lead to dirty Git trees, broken local builds, and accidental commits.

pi-worktree spawns temporary, branch-backed worktrees under .pi/worktrees/<taskName>. The agent can write files, execute test suites, and benchmark performance in isolation. When verified, changes merge cleanly back into your active branch with one command.

                  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                  โ”‚    Primary Branch    โ”‚  (Your Editor - Stays Clean!)
                  โ”‚      (main/dev)      โ”‚
                  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                             โ”‚
                  /worktree create auth-test
                             โ”‚
                             โ–ผ
                  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                  โ”‚  Isolated Worktree   โ”‚  (Pi Agent Sandbox)
                  โ”‚ .pi/worktrees/auth/  โ”‚  - Edits code
                  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  - Runs test suites
                             โ”‚
                  /worktree apply auth-test
                             โ”‚
                             โ–ผ
                  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                  โ”‚ Clean Merged Commit  โ”‚
                  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โœจ Features

  • ๐ŸŒฟ Zero Dirty Trees: Keep your current working directory clean while the agent tests risky changes.
  • ๐Ÿ”€ Atomic Merge: Review the diff with /worktree diff and merge with /worktree apply.
  • ๐Ÿ—‘๏ธ One-Command Cleanup: /worktree discard cleanly tears down the worktree and branch.
  • โšก Native Git Integration: Uses native git worktree commands without third-party dependencies.
  • ๐Ÿค– Agent Autonomous Tool (create_isolated_worktree): Subagents can automatically allocate an isolated sandbox.

๐Ÿš€ Installation

Via Pi Package Registry (Recommended)

pi install npm:pi-git-worktree

Direct from GitHub

pi install git:https://github.com/lleontor705/pi-worktree.git

From Local Source

git clone https://github.com/lleontor705/pi-worktree.git
cd pi-worktree
npm install && npm run build
pi install ./

๐Ÿ“– Usage & Commands

Slash Commands

Command Description
/worktree list Lists all active secondary worktrees and their branches.
/worktree create <name> Creates a new isolated worktree branched from HEAD.
/worktree diff <name> Previews changes made in the worktree against current HEAD.
/worktree apply <name> Prompts for confirmation and merges worktree changes into the active branch.
/worktree discard <name> Deletes the worktree directory and removes the ephemeral branch.

Agent Autonomous Tool (create_isolated_worktree)

When Pi detects a complex or risky task:

// Prompt:
"Refactor our database ORM layer to use Kysely instead of Prisma and run the test suite."

Pi will call:

{
  "taskName": "kysely-migration"
}

Pi switches its working directory to .pi/worktrees/kysely-migration, performs the migration, runs the test suite, and only when verified prompts you to merge!


๐Ÿ—๏ธ Architecture & Development

# Clone
git clone https://github.com/lleontor705/pi-worktree.git
cd pi-worktree

# Install & Build
npm install
npm run build

๐Ÿ“„ License

MIT ยฉ Luis Leon