Skip to main content

Contributing

Toolchain requirement​

go.mod declares Go 1.26.2, which is the source of truth for local development and documentation. The current CI and release workflows still configure Go 1.23, and CONTRIBUTING historically stated 1.23+; those are repository configuration/documentation discrepancies, not an alternate supported toolchain declaration. Contributors should use Go 1.26.2 or a compatible later toolchain and should coordinate a workflow update before relying on CI for the newer module requirement.

Local setup​

git clone https://github.com/enolalab/linear-cli.git
cd linear-cli
go mod tidy
go test -v -race ./...
go build ./...

For docs changes:

npm install --prefix website
npm run build --prefix website

Command definitions in cmd/*.go are the source of truth for documentation. Keep website/docs in sync with their flags and behavior. Internal configuration, output, and error packages define credential resolution and the machine-readable contract.

Design constraints​

  • Keep runtime commands non-interactive.
  • Preserve the standard JSON envelope for command output.
  • Return typed error categories rather than asking callers to parse prose.
  • Add or update command documentation with an implementation change.