Lightweight CLI to create and manage named git clone "spaces" backed by a local mirror. Fast setup, clean isolation, and easy parallel work.
cargo install --path .spaces new my-space
spaces new my-space --branch feature/foo
spaces new my-space --branch feature/foo --from main
spaces list
spaces go my-space
spaces run my-space -- git status
spaces copy my-space -- ".env*" "*.json"
spaces mirrors
spaces mirrors update
spaces rm my-spaceConfig uses git config keys under spaces.* and a repo-local .spacesrc file.
Key paths:
spaces.clones.dir(default: sibling../<repo>-clones)spaces.clones.prefixspaces.mirrors.dir(default:~/.cache/spaces/mirrors/<repo>)spaces.defaultBranchspaces.copy.include,spaces.copy.excludespaces.copy.includeDirs,spaces.copy.excludeDirsspaces.hook.postCreate,spaces.hook.preRemove,spaces.hook.postRemove
- Mirrors are updated on
spaces newunless--no-fetchis set. spaces mirrors updateforces a mirror update..worktreeincludeand.spacesincludeare supported for copy patterns.
MIT