Skip to content

Code layout

PathResponsibility
cmd/statioThe binary entrypoint.
internal/specThe statio/v1 contract: envelope, DeployRequest, app_intent, closed validation. Shared by the agent and the client.
internal/agentThe tsnet server, the POST /deploy and /preflight handlers, the 100.x self-check, the WhoIs guard, the listener lint.
internal/verifyKeyless cosign verification of the image and the blob, before any effect.
internal/composeThe compose generator and its allowlist template.
internal/deployThe pipeline, state and rollback, health, the puller, port allocation.
internal/envThe env merge: protected and required keys, the two-file split, the newline and NUL rejection.
internal/proxyThe typed NPMplus client, with idempotent upserts.
internal/dnsThe typed Cloudflare client, with idempotent upserts.
internal/auditThe redacted, append-only JSONL deploy log behind statio logs.
internal/configThe global config, its fail-closed validation, and file permission checks.
internal/statiofileThe strict statio.yaml parser and its conversion to the wire types.
internal/clientstatio deploy: builds, signs, and posts the envelope.
internal/cliThe cobra command tree and the huh wizards.
internal/selfupdatestatio upgrade and the daily version check.
action/The composite GitHub Action that runs in CI.
website/This documentation site, built with Astro Starlight.
skills/statio-setup/The agent-facing setup and troubleshooting skill.
Terminal window
go build ./...
go vet ./...
go test ./...
gofmt -l .

go test covers the spec, env, config, proxy, dns and deploy packages, the agent listener lint, and selfupdate. gofmt -l must print nothing.