This guide covers the fastest path to make and verify a typical change locally.
- Go 1.26 (matches
go.mod) makecurl(used bymake lintto installgolangci-lintinto./bin)
You do not need a separate sqlc install. make codegen installs the pinned
version into ./bin/sqlc and runs it from there.
Run this command from the repository root:
make verifymake verifymirrors CI: it runsmake lint,make test, and then checks whether verification changed the working tree, so local edits do not fail verification unless lint/test/code generation introduce extra diffs.make lintruns SQLC code generation first, then runsgolangci-lint.make testruns SQLC code generation first, then runsgo test ./....make test-fastskips code generation and runsgo test ./...directly. Use it for faster feedback when you have not changed SQL schema or queries.
Run make codegen when you change:
internal/state/sql/schema.sqlinternal/state/sql/queries.sql
Commit the generated updates under internal/state/sqlitegen. CI runs
git diff --exit-code after lint and tests, so generated files must be up to
date.
Some CLI help output tests use golden files under cmd/rascal/testdata/help.
If you intentionally change CLI help text, refresh those fixtures with:
UPDATE_GOLDEN=1 go test ./cmd/rascal -run TestHelpGoldenSnapshotsThen run make test again before submitting.
Keep changes focused on the issue you are solving. When behavior changes, update the relevant tests and any user-facing docs in the same change.