StackSpace
A meta-repository workspace CLI. Orchestrates a fixed list of sibling git repos from a single workspace root.
stackspace turns a directory into a workspace that owns and operates a known set of git repos. You declare which repos belong to the workspace in stackspace.yaml; stackspace handles cloning them, running git operations across all of them, executing arbitrary commands in each, and verifying the toolchain a contributor needs.
Why a workspace tool
Some products span several repos (a CLI, a daemon, an update server, a Homebrew tap). Operating them by hand means a lot of cd ../foo && git pull && cd ../bar && git pull. stackspace formalizes the relationship between the repos so any contributor can clone the whole workspace, verify their tools, and run cross-cutting commands without remembering which repo lives where.
How it works
Each workspace has a stackspace.yaml at its root. Two top-level keys:
repos:— the managed repos.namebecomes the directory underrepos/;urlis<owner>/<repo>forgh repo clone.checks:— toolsstackspace doctorverifies before you start working (e.g.gh,git,go,docker), each with an optionalmin_versionfloor.
Subcommands all read stackspace.yaml and act on the listed repos. stackspace pull runs git pull --ff-only in each; stackspace status prints branch + ahead/behind + working-tree state per repo; stackspace exec -- <cmd> runs an arbitrary shell command in each. The CLI walks up from the current directory to find stackspace.yaml, so you can run any verb from anywhere inside the workspace.
paas-meta and stackspace-meta use it to manage their respective sub-repos.
Where to go next
- Getting started — install, scaffold a workspace, add repos, verify your toolchain.
- CLI reference — every verb, with flags and behavior.
- Configuration — the
stackspace.yamlschema and a worked example.