GitMulti is a Go project. User-facing commands live in
internal/cli/command/<name>, repository discovery lives in
internal/repository, direct Git execution in internal/gitexec, and
porcelain status parsing in internal/gitstatus. The executable entry point
is cmd/gitmulti.
Go 1.24 or newer and Git are required for local development. The complete project gate is:
make checkIt runs formatting validation, go vet, all tests, race tests, a metadata-
bearing build, and help/version smoke tests. Individual targets are available
while iterating:
make fmt # format Go files in place
make fmt-check
make vet
make test
make race
make build
make smokeKeep changes focused, add or update tests for behavior changes, and preserve the shell-free execution boundary. The repository's contribution guide contains the full checklist, validation expectations, and vulnerability reporting guidance.
The project is source-available under the PolyForm Strict License 1.0.0. Noncommercial and personal uses are permitted under that license, but it does not grant permission to distribute the software or create changes or derivative works without permission. Read the complete license before contributing, using, or redistributing the source.
The documentation site uses MkDocs' built-in theme and has no runtime Go or
third-party theme/plugin dependency. requirements-docs.txt pins the MkDocs
version used to build the site.
For an isolated local setup:
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements-docs.txtOn PowerShell, activate with:
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements-docs.txtBuild the site with strict warning handling:
make docs-buildServe it locally with automatic rebuilds:
make docs-serveThe targets invoke python3 -m mkdocs by default and do not install packages
or fetch dependencies. Install dependencies explicitly with make docs-install or the pip command above. Documentation is intentionally
separate from make check, so a normal Go validation does not perform
network installation.