Skip to main content

Spawn multi-repo worktree workspaces for feature development

Project description

Spawnpoint

Spawn multi-repo worktree workspaces for feature development.

Working on a feature that spans multiple repos? Spawnpoint creates a dedicated folder with git worktrees from each repo on the same branch, installs dependencies, and copies over config files — so you can start coding (or start a Claude session) immediately.

Demo

Install

pipx install spawnpoint

Or with pip:

pip install spawnpoint

Quick Start

spawnpoint create     # select repos, name a branch, spawn worktrees
spawnpoint cleanup    # select and remove worktree workspaces

On first run, Spawnpoint will ask you to configure your scan directories and workspace location.

How It Works

  1. Select repos — Spawnpoint scans your code directories and presents a fuzzy-searchable list of git repos
  2. Name a branch — Enter a branch name for your feature
  3. Spawn — For each repo, Spawnpoint:
    • Creates a git worktree (or new branch if needed)
    • Initializes submodules
    • Copies .env files, CLAUDE.md, and other config files from the original repo
    • Installs dependencies (detects npm/pnpm/yarn/bun, pip/uv/poetry, bundler, go modules)

All worktrees land in a single folder (~/.spawnpoint/workspaces/<branch-name>/) so you can open the whole workspace in your editor or start an AI coding session.

Commands

Command Description
spawnpoint create Spawn worktree workspaces
spawnpoint cleanup Remove worktree workspaces
spawnpoint init Run interactive setup
spawnpoint config View current config
spawnpoint config --edit Edit config in $EDITOR
spawnpoint config --reset Reset to defaults
spawnpoint update Update to latest version
spawnpoint --version Show version

Configuration

Config lives at ~/.spawnpoint/config.toml:

# Directories to scan for git repos
scan_dirs = ['~/code', '~/projects']

# Where workspaces are created
worktree_dir = '~/.spawnpoint/workspaces'

# How deep to scan for repos (1-4)
scan_depth = 2

# Files/dirs to copy into new worktrees
copy_patterns_globs = ['.env*']
copy_patterns_files = ['AGENT.md', 'CLAUDE.md', 'GEMINI.md']
copy_patterns_dirs = ['.vscode', 'docs']

# Auto-install dependencies after worktree creation
auto_install_deps = true

When creating a new branch, Spawnpoint automatically detects the repo's default branch to use as the base. No configuration needed.

Shell Integration

Add this to your ~/.zshrc or ~/.bashrc to automatically cd into the workspace after creation:

sp() {
  cd "$(spawnpoint create)"
}

Then use sp instead of spawnpoint create.

Requirements

  • Python 3.10+
  • git

Uninstall

pipx uninstall spawnpoint
rm -rf ~/.spawnpoint

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

spawnpoint-0.4.0.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

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

spawnpoint-0.4.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file spawnpoint-0.4.0.tar.gz.

File metadata

  • Download URL: spawnpoint-0.4.0.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for spawnpoint-0.4.0.tar.gz
Algorithm Hash digest
SHA256 9faeb8d70ab1b6dfb6f0b7e5c0d7afd8a67e5e92d30aa28603cf36115428a7be
MD5 4825a32cd30d7cd053e4863663f56a84
BLAKE2b-256 da0c001245f11ad1c21f27f14b2c022dcf2eb50e2718e09cb3ba2392223ce7bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for spawnpoint-0.4.0.tar.gz:

Publisher: publish.yml on mihirgupta0900/spawnpoint

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

File details

Details for the file spawnpoint-0.4.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for spawnpoint-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd3159bbe2c0e773e65b948cb274016a8741b631b790d146d745b5026d4089e4
MD5 f01418f3bb002addb5402bf47747391c
BLAKE2b-256 fd1fa1ffe16e393f439968e716e15dadf4ff53d9e9babc44cc1668212092470b

See more details on using hashes here.

Provenance

The following attestation bundles were made for spawnpoint-0.4.0-py3-none-any.whl:

Publisher: publish.yml on mihirgupta0900/spawnpoint

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