Skip to main content

Git workspace manager using worktrees

Project description

grv

Git workspace manager using worktrees. Clone once, work on many branches simultaneously.

The Problem

With LLM agents reshaping the software engineering workflow, a new pattern is emerging: parallel feature development. Instead of context-switching between branches, developers now spin up multiple workstreams simultaneously—one branch per agent, per experiment, per idea.

Git worktrees are the natural primitive for this workflow. But the standard git worktree flow has friction:

  • You need the repo cloned locally first
  • You have to decide where to put each worktree
  • Worktrees scatter across your filesystem and get lost
  • Cleanup is manual and error-prone

Meanwhile, countless tools are appearing daily—each bundling worktree management with CLI agents, dev containers, and other features. But sometimes you just want the primitive.

The Solution

grv is an extremely minimalist worktree manager. Three commands:

grv shell <repo> [branch]  # Shell into a worktree (clones if needed)
grv list                    # Browse your worktrees
grv clean                   # Cleanup remotely-backed work

That's it. Use your favorite editor, CLI tools, whatever. But stay organized.

Install

# Run directly (no install needed)
uvx grv [command]

# Or install globally
pip install grv

Usage

# Open a shell in a worktree (clones repo if needed)
grv shell git@github.com:user/repo.git
grv shell git@github.com:user/repo.git feature-branch

# List all worktrees with status
grv list

# Clean up merged worktrees
grv clean
grv clean --dry-run

How it works

grv manages git worktrees in ~/.grv/:

~/.grv/repos/github_com_user_repo/
├── trunk/              # Base clone (blobless for speed)
└── tree_branches/
    ├── main/           # Worktree for main
    └── feature-branch/ # Worktree for feature-branch

Each branch gets its own directory. Switch between branches by switching directories.

Commands

Command Description
shell REPO [BRANCH] Open shell in worktree
list Show all worktrees with status
clean Remove safe-to-clean worktrees

Configuration

Set GRV_ROOT to change the workspace location (default: ~/.grv).

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grv-0.0.5.tar.gz (44.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grv-0.0.5-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file grv-0.0.5.tar.gz.

File metadata

  • Download URL: grv-0.0.5.tar.gz
  • Upload date:
  • Size: 44.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for grv-0.0.5.tar.gz
Algorithm Hash digest
SHA256 4b47506849955a43ff16baf304340e33b5b5241f3a680f39b264d70132e65590
MD5 5258478275c407e387320f53f80a2ed2
BLAKE2b-256 143f6039ef276f54e1136c3b821f0fa971ac9bd2c4a22ed65bcf196cbf9e5af0

See more details on using hashes here.

Provenance

The following attestation bundles were made for grv-0.0.5.tar.gz:

Publisher: bump-and-release.yml on tssweeney/grv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file grv-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: grv-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for grv-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 17e3afcde34ea9b1e28ba2316c34a6c3ad4f47346b0321adabea6efb1ebf0995
MD5 edbedcbc224b923eb3030186b0830e1b
BLAKE2b-256 3165a66873fc7a9c213fff28781150d00e1e2c72ba8b586a251003dba52ea169

See more details on using hashes here.

Provenance

The following attestation bundles were made for grv-0.0.5-py3-none-any.whl:

Publisher: bump-and-release.yml on tssweeney/grv

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page