Global flags¶
Flags every krites command accepts¶
These four are registered on the root command, so they are accepted by every
subcommand — krites cull --output json and krites config get --debug both
work.
| Flag | Type | Default | What it does |
|---|---|---|---|
--config |
string, repeatable | /etc/krites/config.yaml, ~/.krites/config.yaml |
Config files to read, lowest precedence first |
--debug |
bool | false |
Force debug-level log output regardless of log.level |
--ci |
bool | false |
Declare that krites is running in CI |
--output |
string | text |
Output format: text or json |
--help / -h |
bool | — | Print help for the command and exit |
There is no single-letter shorthand for --output. -o json is rejected by
the flag parser with unknown shorthand flag; write --output json or
--output=json.
--output json — which commands honour it¶
--output json is accepted everywhere but only changes the output of commands
that have a machine-readable result to emit:
Honours --output json |
Ignores it |
|---|---|
ingest, cull, dedup, verdict, straighten, crop, develop, remove, review, export, xmp write, reset frame, reset shoot, reset exports |
studio, launch, and the framework commands (init, config, update, doctor, changelog, docs, mcp, version) |
Where it is honoured, the JSON is indented and written to standard output; the
human-readable rendering is suppressed entirely. Log lines still go to standard
error, so krites cull --output json > verdicts.json yields clean JSON.
The shape of each command's JSON is documented on that command's own reference page.
--config and where configuration is read from¶
--config replaces the default search list rather than adding to it. Passing it
once gives krites exactly one config file; pass it repeatedly to layer several,
with later files taking precedence over earlier ones.
The defaults are /etc/krites/config.yaml (machine-wide) then
~/.krites/config.yaml (yours). A shoot's own
<shoot>/.krites/config.yaml is not in this list — it is a separate,
narrower cascade that only carries cull.profile.* overrides, and is picked up
from the shoot directory rather than from a flag. See
Configuration.
Environment variables instead of flags¶
Every configuration key maps to an environment variable: <section>.<key>
becomes KRITES_<SECTION>_<KEY>, uppercased with dots turned into underscores.
face.enabled is KRITES_FACE_ENABLED; remove.timeout is
KRITES_REMOVE_TIMEOUT.
This mapping is for configuration keys, not for the four flags above — there
is no KRITES_OUTPUT or KRITES_DEBUG.
API keys are the exception: the AI review provider's key is held in the OS keychain and is not readable from an environment variable or the config file.
--debug versus log.level¶
--debug is a one-shot override for a single invocation. log.level in the
config file (debug, info, warn, error; default info) is the persistent
setting. --debug wins over log.level when both are set.