gitlawb/ZERO

Run the ZERO coding agent headlessly in a GitHub workflow. ZERO is model- and provider-agnostic: you supply the provider and API key as inputs.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
promptThe instruction for ZERO to execute. Mutually exclusive with prompt-file.no""
prompt-filePath (relative to working-directory) to a file whose contents are the prompt.no""
providerProvider id to activate (for example openai, anthropic, gemini, ollama, or any configured OpenAI-/Anthropic-compatible endpoint). Optional when the repository already carries a .zero/config.json with an active provider.no""
api-keyThe provider API key. Pass it from a repository or organization secret; it is exported only for the ZERO step and never written to the log.no""
api-key-envName of the environment variable the chosen provider reads its key from (for example OPENAI_API_KEY or ANTHROPIC_API_KEY). When set together with api-key, that variable is exported only for the ZERO step. Leave the action provider-agnostic by passing the env name your provider expects rather than hardcoding one here.no""
modelModel id to use for the run. Defaults to the resolved provider's default.no""
modeRun mode passed to `zero exec --mode` (for example smart, deep, or fast).no""
autoAutonomy ceiling passed to `zero exec --auto` (low, medium, or high). Defaults to the conservative `low` so an unattended CI run cannot take high-impact actions implicitly.nolow
self-correctWhen true, allow ZERO to request a stronger model mid-run if it hits a wall (maps to `zero exec --allow-escalation`).nofalse
add-dirNewline- or comma-separated extra write roots granted to the run (each passed as `zero exec --add-dir`). The checked-out repository is always writable; everything else stays read-only unless listed here.no""
worktreeWhen true, run inside an isolated git worktree (`zero exec --worktree`).nofalse
output-formatOutput format for `zero exec` (text, json, or stream-json). Defaults to stream-json, which is captured to a file and exposed as the output-file output and uploaded by the caller if desired.nostream-json
post-toOptional destination for a run summary after ZERO finishes: `pr-comment` posts to the triggering pull request using github-token, `slack` posts to slack-webhook-url, or `none` (default) posts nowhere.nonone
slack-webhook-urlSlack incoming-webhook (or generic webhook) URL used when post-to is slack. Pass it from a secret; it is never written to the log.no""
github-tokenToken used to post a PR comment when post-to is pr-comment. Defaults to the workflow's GITHUB_TOKEN; the workflow must grant pull-requests: write.no${{ github.token }}
working-directoryDirectory to run ZERO in. Defaults to the workspace root.no${{ github.workspace }}
zero-versionZERO release version/tag to install (for example v1.2.3 or latest). Defaults to the ref this action was resolved at, falling back to latest.no""
zero-repoRepository to install the ZERO release from (owner/repo).noGitlawb/zero
namedescription
exit-codeThe exit code ZERO returned (0 success, 2 usage, 3 provider, non-zero otherwise).
output-filePath to the captured ZERO stdout (the raw output-format stream).
summaryA short human-readable summary line parsed from the run, when available.