Maintenance commands¶
Project setup, upgrades and static checks. These commands are cheap and safe
to run often; each prints a Fix: hint on every finding rather than dumping a
raw error.
| Command | Purpose |
|---|---|
init |
Scaffold .mini-ork/ and seed config |
install |
Install a user-level launcher |
update |
Apply pending DB migrations and report config drift |
doctor |
Report tools, engine, credentials, vault |
validate |
Pre-run static checks on a kickoff or recipe |
garden |
Project drift detection |
recipe-eval |
Static evaluation of recipe definitions |
sandbox-gc |
Reap leaked sandbox instances |
version |
Print the engine version |
init¶
Creates the project home — kickoffs/, INBOX/, runs/, locks/,
secrets/, config/ — seeds the task classes and agents.yaml, initialises
state.db, and appends the generated-state block to .gitignore. It is
idempotent: existing files are reported as already present and never
overwritten, so it is safe to re-run after an upgrade to pick up new seeds.
A committed .mini-ork/engine pointer records which engine the project uses.
init seeds it; do not delete it.
install¶
Installs a user-level launcher — ~/.local/bin on macOS, Linux and WSL,
%LOCALAPPDATA%\mini-ork\bin on Windows. --no-path skips the shell-profile
edit, --force replaces a non-mini-ork file at the target, and --dry-run
prints the plan. This is distinct from the one-line installer in
Installation, which fetches the engine.
update¶
Applies pending migrations to the project's state.db and reports drift
between the shipped config templates and your local .mini-ork/config. Local
config is never silently overwritten — drift is reported so you can merge it.
--dry-run lists pending migrations without writing. --pull runs
git pull --ff-only in MINI_ORK_ROOT first; it refuses a diverged checkout
rather than creating a merge commit inside an engine directory.
Engine and home must agree
doctor warns when the home was last migrated by a different engine
version than the one running. Run update from the engine you intend to
keep using; do not mix two engine checkouts against one home.
doctor¶
Reports, in order:
- required tools:
sqlite3,git,curl,claude,codex,python3; MINI_ORK_HOME/MINI_ORK_DBresolution;- the engine root, version and commit, plus the home's migrated version;
- provider preflight: Anthropic and Codex CLI presence, and whether the
GLM_API_KEY,KIMI_API_KEY,MINIMAX_API_KEYandDEEPSEEK_API_KEYfamilies resolve; - vault backends and the protection gap.
Run it first whenever a run fails before dispatching anything.
validate¶
Pre-run static checks. With a kickoff it infers the recipe; --recipe forces
one. It catches missing sections, contradictory scope, absent acceptance
criteria and a recipe whose contract cannot bind. --strict treats warnings
as errors — use it in CI for kickoff templates.
garden¶
Drift detection over the project: stale engine pointers, orphaned run
directories, config files that no longer match the schema, recipe pins that no
longer resolve. It repairs nothing; every finding carries a Fix: hint.
--strict exits nonzero on warnings too, which makes it a useful scheduled
job.
recipe-eval¶
Static evaluation of recipe definitions — missing files, unresolvable node
references, artifact contracts with ports no node produces, gates no evaluator
registers. Run it after adding or editing a recipe and before dispatching a
real run. --json is the CI form.
sandbox-gc¶
Reaps leaked sandbox instances older than a TTL. --backend defaults to all,
which covers every registered reaper and node provider; --max-age defaults to
MO_SANDBOX_MAX_AGE, then a built-in default. --dry-run reports what would
be reaped and removes nothing. Use --dry-run first after a crashed run.
version¶
Prints the engine version. For the commit and the home's migrated version, use
doctor.
A safe maintenance sequence¶
mini-ork doctor # know the state before changing it
mini-ork update --dry-run # see pending migrations
mini-ork update # apply them
mini-ork validate # re-check the recipe surface
mini-ork garden --strict # catch drift introduced by the upgrade
Exit codes¶
| Command | Nonzero when |
|---|---|
validate, garden, recipe-eval |
A finding is an error — or a warning under --strict |
doctor |
A required tool is missing |
update |
A migration failed, or --pull could not fast-forward |
sandbox-gc |
A backend's reaper raised |