Config¶
The devkit has no config file. A consumer configures it through these variables, and every one has a default, so a repo that sets none of them gets the org's behaviour.
MAROLA_* variables¶
| Variable | Read by | Default | What it sets |
|---|---|---|---|
MAROLA_UMBRELLA |
scripts/lib/mip_ref.sh (uprd, issues, mip-resolve) |
marola-dev/marola |
The umbrella's owner/repo: where MIPs are fetched from when no checkout has them, where tasks-to-issues files a MIP's parent issue, and (its owner) the org issue-queue searches |
MAROLA_INVARIANTS_BLOCK |
agents-check |
agents/invariants.md; the flake's wrapper sets it to the pinned copy |
The invariants block AGENTS.md is compared against |
MAROLA_STOP_GATE |
the Stop hook (stop-gate.sh) |
the repo's stop-gate recipe when it defines one, else just quality |
The command(s) the hook nags for, e.g. "sbt test && just quality". Set it in .claude/settings.json's env: the hook runs in Claude Code's process, not a login shell |
MAROLA_PUSH_REMOTE |
set by .githooks/pre-push for just prepush |
— | The remote's name |
MAROLA_PUSH_URL |
set by .githooks/pre-push |
— | The remote's URL |
MAROLA_PUSH_REFS_FILE |
set by .githooks/pre-push |
— | A file of git's <local ref> <local sha1> <remote ref> <remote sha1> lines, one per pushed ref, deletions marked (delete) |
MAROLA_REPO |
gha-runner, runner-preflight |
marola-dev/marola |
The repo whose runner status and the preflight's checks query |
MAROLA_RUNNER_REPO |
setup-runners |
marola-dev/marola |
The repo the runners register with |
MAROLA_RUNNER_ROOT |
setup-runners |
~/.marola-runners |
Where each runner's directory is created |
MAROLA_RUNNER_LABELS |
setup-runners |
marola-sea |
The labels the runners register with |
MAROLA_RUNNER_PREFIX |
setup-runners |
marola |
The runner name prefix |
MAROLA_RUNNER_SOURCE |
setup-runners |
~/code/actions-runner, then ~/actions-runner |
An unpacked actions-runner release to copy from |
MAROLA_OBSIDIAN_VAULT |
the obsidian-vault skill |
~/Documents/2nd-brain |
The maintainer's Obsidian vault |
MAROLA_CROSS_REPO_PAT |
a caller of notify-umbrella |
— | Not an environment variable: the repository secret a caller passes as the workflow's token (workflows) |
MAROLA_TRACES also appears in scripts/, but only as sample text in tasks_issues.py's
self-test (a marola-app task row); the devkit does not read it.
Other variables¶
| Variable | Read by | What it sets |
|---|---|---|
GHA_RUNNER_DIR |
gha-runner |
The registered runner's directory; no default |
BASE, BRANCH, EXTRA_FILE |
uprd |
The base branch, a branch other than the checked-out one, a file appended to the body |
TASK_PARTIAL |
cost-fill |
1 skips the Closes #N line for a task that does not finish its issue |
NLP_MIN_SIMILARITY |
backfill-pr-labels |
The --nlp score floor (default 0.15) |
GH_TOKEN |
gh, so every tool that calls it |
A token for hosts with no gh login, such as ai-jail |
CLAUDE_PROJECT_DIR |
the plugin's hooks | The repo root, set by Claude Code; STOP_GATE_REPO_ROOT and SESSION_START_REPO_ROOT override it for one hook |