Configuration model
Cerulion CLI uses layered configuration to keep environments isolated and reproducible.- Global config:
~/.config/cerulion/config.yaml - Profile overrides:
~/.config/cerulion/profiles/<name>.yaml - Project state:
.cerulion/config.yamland.cerulion/state.jsoninside each repo
Values are resolved in this order: flags → environment variables → project config → profile → global defaults.
Managing profiles
Profiles let you separate staging, production, and sandboxes.~/.config/cerulion/profiles/staging.yaml
Project-level configuration
Project configs travel with the repo to keep builds deterministic..cerulion/config.yaml
Environment variables
CERULION_PROFILE: force a profile for the current shell/sessionCERULION_CONFIG: custom path to a project configCERULION_API_ENDPOINT: override API endpoint (useful in previews)CERULION_TOKEN: authentication token for CI; overrides cached credentials
Secrets and credentials
Credentials are stored in~/.config/cerulion/credentials by default with file permissions set to the current user. For CI:
Recommended defaults
- Use
optimize: speedduring development; switch tosizefor constrained targets. - Keep
schemapaths relative to the repo root to avoid platform-specific issues. - Enable
run.watch: truelocally for faster feedback; disable in CI.
Run
cerulion status after any config change to verify the active profile, transports, and project linkage.