akua / cli / lint-cli

akua lint-cli

Validate that the current binary honors the CLI contract.

akua lint-cli

Used in CI to catch contract violations before release.

Environment variables

A minimal set. No hidden state.

akua-specific

varpurpose
AKUA_REGISTRYdefault OCI registry for publish/pull
AKUA_CACHE_DIRoverride cache location (default: $XDG_CACHE_HOME/akua)
AKUA_LOG_LEVELoverride --log-level
AKUA_NO_TELEMETRYforce telemetry off (for CI)
AKUA_TOKEN_FILEpath to a token file for non-interactive auth
AKUA_API_TOKENhosted API bearer token for akua api
AKUA_API_BASE_URLhosted API base URL for akua api (default: https://api.akua.dev/v1/)
AKUA_WORKSPACE_IDworkspace context sent by akua api as akua-context
AKUA_AGENTsignal an agent context explicitly (value is the agent name)
AKUA_NO_AGENT_DETECTdisable agent-context auto-detection

All of these can be overridden by flags where a flag exists. Local package workflows typically need none of them. Hosted API calls need a bearer token from --token or AKUA_API_TOKEN.

Agent-context env vars (detected, never written)

These are set by agent runtimes, not by akua. akua reads them to determine whether it's running in an agent context.

varset by
AGENT=<name>Goose (goose), Amp (amp), Codex (codex), Cline (cline), OpenCode (opencode) — emerging standard
CLAUDECODE=1Claude Code
GEMINI_CLI=1Gemini CLI
CURSOR_CLI=1Cursor CLI
GOOSE_TERMINAL=1, AMP_THREAD_ID=<id>, CODEX_SANDBOX=<id>, CLINE_ACTIVE=truesecondary identifiers per agent — recorded as context

See cli-contract.md §1.5 for detection rules and precedence.

Exit code reference (summary)

From cli-contract.md:

codemeaning
0success
1user error
2system error
3policy deny
4rate limited
5needs approval
6timeout

Stability and versioning

What's not in this reference

Spec cross-references