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
| Variable | Default | Meaning |
|---|---|---|
NOOMOO_CONFIG_DIR | ~/.config/noomoo | Directory 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_PROJECT | unset | Set 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_LANGUAGE | unset | Language 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_ROOT | current directory | Project root for contour-config, phase-check and backlog-id. |
GIT_EDITOR | set by git | Git 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.
| Variable | Default | Meaning |
|---|---|---|
NOOMOO_JUDGE_PROVIDER | claude | Agent 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_BIN | claude from PATH, then ~/.local/bin/claude | Path of the Claude CLI binary. |
CODEX_BIN | codex from PATH | Path of the Codex CLI binary. |
OPENCODE_BIN | opencode from PATH | Path of the opencode CLI binary. |
XDG_CONFIG_HOME | ~/.config | Folder of the user's opencode settings; the opencode reviewer reads only the provider sections from it. |
NOOMOO_OPENCODE_JUDGE_MODEL | unset | Model 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_MODEL | unset | Model 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_MODEL | unset | Model of the reviewer when neither the configuration key nor the variable of the gate sets one. |
TASK_READY_JUDGE_MODEL | unset | Model of the reviewer for the task gate. |
PLAN_READY_JUDGE_MODEL | unset | Model of the reviewer for the plan gate. |
NOOMOO_JUDGE_THINKING_TOKENS | 6000 | Thinking budget given to the reviewer, in tokens. Values that are not positive numbers are ignored. |
TASK_READY_LLM_TIMEOUT_MS | 300000 | Time limit of one review call of the task gate and of estimate, in milliseconds. |
PLAN_READY_LLM_TIMEOUT_MS | 600000 | Time limit of one review call of the plan gate, in milliseconds. |
TASK_READY_LLM_RETRIES | 1 | How many times the task gate repeats a review call that failed. |
PLAN_READY_LLM_RETRIES | 1 | How many times the plan gate repeats a review call that failed. |
TASK_READY_ROUND_BUDGET | 3 | Number 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_BUDGET | 3 | The 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.
| Variable | Default | Meaning |
|---|---|---|
CI | unset | Marks a CI run. GITHUB_ACTIONS, GITLAB_CI, BUILDKITE and TEAMCITY_VERSION mark it too. |
CLAUDECODE | unset | Marks 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.
| Variable | Default | Meaning |
|---|---|---|
CLAUDE_PROJECT_DIR | current directory | Root of the project the hook acts on. |
CLAUDE_PLUGIN_ROOT | set by Claude Code | Directory 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.
| Variable | Default | Meaning |
|---|---|---|
GH_TOKEN | unset | GitHub 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_TOKEN | unset | The token that GitHub Actions provides. |
NOOMOO_GH_TOKEN | set by noomoo | The 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_REPOSITORY | unset | owner/name of the repository that the checks judge. |
GITHUB_EVENT_NAME | unset | Event that started the run. Checks of pull requests act on pull_request, and the merge check acts on push. |
GITHUB_EVENT_PATH | unset | File with the event payload. |
GITHUB_REF | unset | Reference of the pushed branch; the merge check acts only on the target branch. |
GITHUB_SHA | unset | Commit whose parents merge-green reads when the subject names no pull request and --sha is not given. |
GITHUB_API_URL | https://api.github.com | Address 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_SUBJECT | subject of the last commit | Subject that merge-green judges when --subject is not given. |