Browse Docs pages
Overview
Report Oliver renderer availability and compatibility
Source: bones/scripts/rc-preflight.sh.
Usage
rotkeeper.sh preflight [options]
Options
--verbose Show detailed findings
--dry-run Report the check without invoking the Oliver binary
--help, -h Show this help message and exit
--version, -v Show script version and quit
Examples
bash rotkeeper.sh preflight # Verify rendering is ready
bash rotkeeper.sh preflight --verbose # Show discovery details
Exit codes
0 Rendering ready
1 Renderer missing or unusable (with one actionable setup message)
Reads and writes
Environment: reads DRY_RUN, OLIVER_BIN, RK_OLIVER_BIN, SCRIPT_DIR, TMP_DIR, VERSION (canonical via rc-env.sh / rk_load_env); overrides RK_OLIVER_BIN, RK_RENDERER, ROTKEEPER_VERSION when set.
Working directory: No CWD assumption โ all paths are root-relative via ROOT_DIR/BONES_DIR/CONTENT_DIR/etc. derived from rc-env.sh; helpers rk_canonical_path/rk_canonical_or_raw resolve symlinks/portably.
Inputs and outputs: discovers Oliver using RK_OLIVER_BIN then PATH, checks executability, and smoke-renders through the real CLI with the configured input format and HTML/XHTML profile.
Nonzero or empty render output fails with an actionable setup message. The shared check also gates render. Real runs create and remove TMP_DIR/oliver-preflight-smoke.md, .html, and .log; dry-run skips binary invocation. See home/content/docs/oliver-contract.md.
Side effects
No side effects are documented in script annotations.
Notes
Design
The command delegates discovery and the live smoke render to
rk_oliver_preflight in rc-utils.sh. render uses the same helper, so both
commands report the same discovery and smoke-render failures.
An explicit RK_OLIVER_BIN takes precedence over oliver on PATH. The
helper invokes the configured input format and adds --to xhtml only for
the site's XHTML profile. It requires a zero exit status and nonempty output.
See the Oliver contract.
Limits
The smoke input is a single heading, not a content or template audit. Passing
does not test meta, plan, wrap, or manifest, validate the installed
commit, or prove that every page can render.
--dry-run skips the helper entirely and returns success with a skipped-check
message. It does not establish that Oliver is present or usable.
Cautions
A non-executable explicit override fails instead of falling back to PATH.
Check the override first when discovery fails.
A live check writes and then removes oliver-preflight-smoke.md, .html,
and .log under TMP_DIR. These names are shared between invocations, not
unique to a process. Shared bootstrap logging also writes a run log,
including during --dry-run; help and version exit before that bootstrap.
History
No matching entries in CHANGELOG.md.