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.

Install

curl -fsSL https://raw.githubusercontent.com/mihirgupta0900/spawnpoint/main/install.sh | sh

Or with pipx:

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']

# Branch priority for base branch selection
branch_priority = ['development', 'staging', 'main', 'master']

# Auto-install dependencies after worktree creation
auto_install_deps = true

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.1.0.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

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

spawnpoint-0.1.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: spawnpoint-0.1.0.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.13.9 HTTPX/0.28.1

File hashes

Hashes for spawnpoint-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b3214a976026e9f1f702c77058b5111b159d4667f4772044a44f5ab0d222511f
MD5 b6cf5ef156cfc5d09514c4dacb0713d6
BLAKE2b-256 257628d0e175bf05ad50df28de043a44b1175af15a63fa7c456badabf7e8da28

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spawnpoint-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.13.9 HTTPX/0.28.1

File hashes

Hashes for spawnpoint-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b969e3b3b3432d725334dd3ea9244b91723fa19acd0c20c043e38d6f24f9900c
MD5 311f3e2c7db25224c678af19cccee08c
BLAKE2b-256 aeec9a044072ec741698a1906292fab8ac1fa76b1d7ec6bfc3ea7d0b350a19f4

See more details on using hashes here.

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