CI and Versioning¶
CI checks¶
Each repo runs CI for:
- go vet
- go test
- lint + security (golangci-lint + gosec)
Release-please guard (metadata-only changes)¶
Release-please workflows include a pre-check that skips runs when the commit touches only metadata or docs. This prevents release PR churn from matrix syncs and documentation-only updates.
Skipped paths:
VERSIONS.mdREADME.mddocs/.github/
If a change set is only those paths, the workflow exits before running the release-please action. Any substantive code change will still trigger a release candidate PR as normal.
Go module privacy (fast tag uptake)¶
CI sets:
GOPRIVATE=github.com/jonwraymond/*GONOSUMDB=github.com/jonwraymond/*
This bypasses the public proxy/sumdb for the org’s modules so newly‑pushed tags are immediately usable in CI and local workflows.
Version alignment¶
ai-tools-stack/go.modis the source of truth.VERSIONS.mdis generated in each repo and updated via:
scripts/update-version-matrix.sh --apply
New modules (example: toolprotocol)¶
When a new module is added to the stack (for example toolprotocol), the propagation steps are:
1) Tag the new module (vX.Y.Z). 2) Add it to ai-tools-stack/go.mod at the tagged version. 3) Run scripts/update-version-matrix.sh --apply to sync VERSIONS.md across repos. 4) Update mkdocs.yml to include the new module in Components and Library Docs.
Dependency bumping¶
Use the DAG-aware bump tool:
scripts/bump-dep.sh --dep toolexec --latest --apply
This updates all downstream repos and ai-tools-stack in order.
Docs automation¶
The unified docs site is built from this repo using MkDocs + the multirepo plugin. GitHub Actions runs on push to main and nightly (scheduled) to pull fresh docs from the tool repos.
Versioned docs are published with mike:
latestalias is deployed frommain- tag builds deploy versioned docs (for example,
v0.1.8) and setstable - the version selector appears in the site header once at least one tag build exists
Local preview:
pip install -r requirements.txt
./scripts/prepare-mkdocs-multirepo.sh
mkdocs serve
Versioned preview:
pip install -r requirements.txt
./scripts/prepare-mkdocs-multirepo.sh
mike serve