Skip to content

Environment ​

Environment variables that the public package reads. Variables that are not set take the default in the table. Settings that exist both as a variable and as a key of config/pipeline.json are described in Configuration; where both are given, the file wins.

noomoo ​

VariableDefaultMeaning
NOOMOO_CONFIG_DIR~/.config/noomooDirectory of per-user settings. It holds the record of repositories you consented to (trusted-repos.json) and the cache of the GitHub login that identity resolved.
NOOMOO_TRUST_PROJECTunsetSet to 1 to treat every repository as trusted without a consent record. It is meant for a pipeline whose owner controls the repository; do not set it on a machine where you open repositories you do not know.
NOOMOO_LANGUAGEunsetLanguage of the messages for one run: ru or en. It overrides language of config/pipeline.json for the message catalog, and on a project without the key it also chooses the labels documents are read and written with. A project that declares language keeps reading its documents with that language's labels, so findings and policy do not depend on the variable. A language without a catalog is an error that lists the known ones.
DEV_PIPELINE_ROOTcurrent directoryProject root for contour-config, phase-check and backlog-id.
GIT_EDITORset by gitGit sets it to : when no editor was opened for the commit message; commit-msg then judges the whole message.

Review model ​

The review of a task or a plan, and the estimate, are produced by an agent CLI: Claude by default, Codex or opencode 2.x. The provider, the model, the time limit and the number of rounds are set here.

VariableDefaultMeaning
NOOMOO_JUDGE_PROVIDERclaudeAgent CLI of the reviewer when the configuration key judge.provider does not set one: claude, codex or opencode. Any other name stops the gate with exit code 2.
CLAUDE_BINclaude from PATH, then ~/.local/bin/claudePath of the Claude CLI binary.
CODEX_BINcodex from PATHPath of the Codex CLI binary.
OPENCODE_BINopencode from PATHPath of the opencode CLI binary.
XDG_CONFIG_HOME~/.configFolder of the user's opencode settings; the opencode reviewer reads only the provider sections from it.
NOOMOO_OPENCODE_JUDGE_MODELunsetModel of the opencode reviewer, as provider/model, when the configuration key judge.opencodeModel does not set one. Unset means the default model of opencode.
NOOMOO_CODEX_JUDGE_MODELunsetModel of the Codex reviewer when the configuration key judge.codexModel does not set one. Unset means the default model of the Codex CLI.
NOOMOO_JUDGE_MODELunsetModel of the reviewer when neither the configuration key nor the variable of the gate sets one.
TASK_READY_JUDGE_MODELunsetModel of the reviewer for the task gate.
PLAN_READY_JUDGE_MODELunsetModel of the reviewer for the plan gate.
NOOMOO_JUDGE_THINKING_TOKENS6000Thinking budget given to the reviewer, in tokens. Values that are not positive numbers are ignored.
TASK_READY_LLM_TIMEOUT_MS300000Time limit of one review call of the task gate and of estimate, in milliseconds.
PLAN_READY_LLM_TIMEOUT_MS600000Time limit of one review call of the plan gate, in milliseconds.
TASK_READY_LLM_RETRIES1How many times the task gate repeats a review call that failed.
PLAN_READY_LLM_RETRIES1How many times the plan gate repeats a review call that failed.
TASK_READY_ROUND_BUDGET3Number of review rounds of the task gate before the decision is left to a person. Values below 1 and non-numbers are ignored.
PLAN_READY_ROUND_BUDGET3The same for the plan gate.

The model of the reviewer is the first of these that is set: the configuration key (judge.taskModel or judge.planModel), the variable of the gate (TASK_READY_JUDGE_MODEL or PLAN_READY_JUDGE_MODEL), NOOMOO_JUDGE_MODEL, and then the default of the gate: sonnet for the task gate and for estimate, opus for the plan gate. An empty value counts as not set. These model settings name Claude models and apply to the Claude reviewer only; the Codex reviewer takes judge.codexModel, then NOOMOO_CODEX_JUDGE_MODEL.

The Codex reviewer runs codex exec in a read-only sandbox, without user or project settings, without MCP servers and without the instruction files of the repository.

The opencode reviewer needs opencode 2.x; with 1.x the gate reports the reviewer as unavailable. It runs opencode run --standalone with only the reading tools allowed, without project settings and without user settings except the provider sections, so the subscription model stays available. Inherited OPENCODE_* variables are not passed to it. System-wide and managed opencode settings of the machine still apply.

Kind of run ​

Decision stamps depend on whether a person, an agent or a CI job runs the command. The kind is derived from these variables; a variable counts when it is set and not empty.

VariableDefaultMeaning
CIunsetMarks a CI run. GITHUB_ACTIONS, GITLAB_CI, BUILDKITE and TEAMCITY_VERSION mark it too.
CLAUDECODEunsetMarks a run by an agent. CLAUDE_CODE, CURSOR_AGENT and AIDER_MODEL mark it too.

A run with neither group is a run by a person. A CI mark wins over an agent mark.

Claude Code ​

Set by Claude Code when it runs the hook of the plugin.

VariableDefaultMeaning
CLAUDE_PROJECT_DIRcurrent directoryRoot of the project the hook acts on.
CLAUDE_PLUGIN_ROOTset by Claude CodeDirectory of the installed plugin; the hook command is resolved relative to it.

GitHub Actions ​

Read by the checks that run in the CI workflow, and by merge-green.

VariableDefaultMeaning
GH_TOKENunsetGitHub token used to read pull requests and workflow runs. merge-green and the CI checks use GH_TOKEN first and GITHUB_TOKEN when it is not set; identity, stamp and gate-accept look at GITHUB_TOKEN first, then GH_TOKEN, then the authorization of gh.
GITHUB_TOKENunsetThe token that GitHub Actions provides.
NOOMOO_GH_TOKENset by noomooThe token passed to the child process that makes the request, so that it does not appear in the arguments. Do not set it yourself.
GITHUB_REPOSITORYunsetowner/name of the repository that the checks judge.
GITHUB_EVENT_NAMEunsetEvent that started the run. Checks of pull requests act on pull_request, and the merge check acts on push.
GITHUB_EVENT_PATHunsetFile with the event payload.
GITHUB_REFunsetReference of the pushed branch; the merge check acts only on the target branch.
GITHUB_SHAunsetCommit whose parents merge-green reads when the subject names no pull request and --sha is not given.
GITHUB_API_URLhttps://api.github.comAddress of the GitHub API, for the CI checks, merge-green and identity.
CI_WORKFLOW_NAMEПроверка контураName of the workflow whose run is read for the merge check.
COMMIT_SUBJECTsubject of the last commitSubject that merge-green judges when --subject is not given.