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

Alpha: Not yet published to PyPI.

uvx git+https://github.com/tssweeney/grv [commands]

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.3.tar.gz (42.7 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.3-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: grv-0.0.3.tar.gz
  • Upload date:
  • Size: 42.7 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.3.tar.gz
Algorithm Hash digest
SHA256 e693ebed5a5cba5584425fb084c9e2d260bfc459049a124acccc678aedb81091
MD5 ba756fc0929db92d45c83410d0713f5f
BLAKE2b-256 58a8fcb998c6858b3ea877125c4fa43228ccb21ba86fb69b7f513f9891c31fe3

See more details on using hashes here.

Provenance

The following attestation bundles were made for grv-0.0.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: grv-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 9.0 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ee09988a44a82cb14c67b753e9cb9bc0ae4a373cb50fe7be2375a5c5f676013a
MD5 4f79b5a4c661c089bd9171721c1756ea
BLAKE2b-256 c6f4593884591b4b9b1903cce431d540818ae71cdf3117f86d467a4df808eed8

See more details on using hashes here.

Provenance

The following attestation bundles were made for grv-0.0.3-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