Oore CI
CLI

`oore doctor`

Check required host tools, the managed runner, selected platform toolchains, and backend update readiness.

oore doctor checks the host used for Direct macOS builds.

oore doctor [--platform <PLATFORM>]... [--all] [--json]
oore doctor --update [--json]
OptionMeaning
--platform androidInclude Android toolchain checks
--platform iosInclude iOS and Apple signing checks
--platform macosInclude macOS and Apple signing checks
--allCheck Android, iOS, and macOS
--updateRun the backend update preflight only
--jsonEmit a structured report

The base report checks Git, Flutter, Tart, and the managed runner service. Platform options add Android SDK or Xcode/signing checks.

Each check has one status:

StatusMeaning
okThe required capability is available
warningAn optional capability is missing or needs attention
missingA selected required capability is missing
skippedThe corresponding platform was not selected

The command succeeds when no check is missing. Warnings do not make the command fail. JSON output includes checks, missing_count, and warning_count; each check contains name, status, and optional detail and install_hint fields.

oore doctor --platform android --platform ios
oore doctor --all --json

Run the command on the runner host, not on a separate UI-only Linux host.

Backend update preflight

oore doctor --update runs the same checks that Settings → General → Runtime and the update dialog show before a one-click backend update. Run it on the backend Mac as the account that owns the install, without sudo.

CheckWhat it verifies
Installed updaterbin/oore is installed beside oored
Backend launchd service/Library/LaunchDaemons/build.oore.oored.plist exists
Service accountThe account name and HOME resolve
Update supervisor definitionThe updater plist is root:wheel, mode 0644, and matches the managed contents
Update supervisor loadedlaunchd has loaded the same updater command, user, and environment
Runner serviceA Complete install uses the current boot-time runner command
Rollback privilegesThe service account may run the daemon’s launchctl reload through sudo -n

Each check reports ok, warning, or failed with a detail and a fix. Only failed blocks the one-click update; the rollback check is a warning because an update can still start, but a failed restart then needs recovery from Terminal. Setup grants that reload in /etc/sudoers.d/oore-update-recovery, which allows only the daemon’s launchctl bootout, bootstrap, and kickstart -k commands, so rerun oore setup when the check warns. The command fails when any check fails. --json prints the same ready, checked_at, and checks object as GET /v1/system/update/preflight.

oore doctor --update