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
- Select repos — Spawnpoint scans your code directories and presents a fuzzy-searchable list of git repos
- Name a branch — Enter a branch name for your feature
- Spawn — For each repo, Spawnpoint:
- Creates a git worktree (or new branch if needed)
- Initializes submodules
- Copies
.envfiles,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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3214a976026e9f1f702c77058b5111b159d4667f4772044a44f5ab0d222511f
|
|
| MD5 |
b6cf5ef156cfc5d09514c4dacb0713d6
|
|
| BLAKE2b-256 |
257628d0e175bf05ad50df28de043a44b1175af15a63fa7c456badabf7e8da28
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b969e3b3b3432d725334dd3ea9244b91723fa19acd0c20c043e38d6f24f9900c
|
|
| MD5 |
311f3e2c7db25224c678af19cccee08c
|
|
| BLAKE2b-256 |
aeec9a044072ec741698a1906292fab8ac1fa76b1d7ec6bfc3ea7d0b350a19f4
|