Skip to main content

Maintainer contribution guide

Maintainers keep the module identity, generated documentation, release snippets, and CI checks aligned. The repository's contributor guide remains the starting point for code changes; this page collects the maintainer-specific gates.

Required identity

Preserve github.com/enolalabs/sunset in go.mod, public imports, release ldflags, and documentation. Keep the canonical repository URL https://github.com/enolalabs/sunset in new links.

Change gates

Run the Go checks for code changes:

make test
make lint
go vet ./...

For documentation changes, run:

npm ci --prefix website
node scripts/validate-docs.mjs --root .
npm run build --prefix website

Install instructions and release notes must remain synchronized with docs/snippets/ and .github/scripts/release/check-doc-snippets.sh.

Resource and API discipline

Keep pkg/sunset minimal. Public callers must close FileResult values that own tree-sitter resources. New language support belongs in internal/language/, with its grammar dependency, docstring behavior when needed, and representative test data.