Contributing
statio is open source. CONTRIBUTING.md
in the repo is the full version; this page carries the steps.
git clone https://github.com/accentiostudios/statiocd statiogo build ./...go build -o statio ./cmd/statioYou need Go at the version pinned in go.mod, Docker to exercise the agent, and a Tailscale account
for an end-to-end run.
Run the checks
Section titled “Run the checks”CI runs these four. All must pass:
go build ./...go vet ./...go test ./...gofmt -l . # prints nothingOpen a change
Section titled “Open a change”- Branch off
main. - Write commit messages in English, in Conventional Commits form, with an optional scope.
- Describe what changes, why, and how you tested it.
- Keep the build green.
Standard Go, formatted with gofmt. Justify a new dependency in the PR. Comments and documentation
in English.
Changes that touch security
Section titled “Changes that touch security”Verification, payload parsing, compose generation and secret handling carry invariants that several tests enforce. When your change touches one of those, say in the PR how it preserves the invariants listed in the security model.
Found a vulnerability? Report it privately through GitHub, under Security → Report a vulnerability. Do not open a public issue.
Where things live
Section titled “Where things live”The code layout reference maps every package.
Two files mirror statio’s behaviour and go stale silently. Update them in the same commit as the code
they describe: the pages under website/src/content/docs/, and skills/statio-setup/SKILL.md.
Cutting a release
Section titled “Cutting a release”Maintainers tag a version. Pushing to main publishes no release.
git tag vX.Y.Zgit push origin vX.Y.ZGoReleaser builds the linux and darwin binaries for amd64 and arm64, signs checksums.txt with
keyless cosign, and publishes the GitHub Release with the checksum file, its signature and its
certificate. install.sh and statio upgrade read that release. The moving v1 tag is repointed so
uses: accentiostudios/statio@v1 tracks it.
This site publishes from .github/workflows/docs.yml, on every push to main that touches
website/.