mix sigra.doctor (Sigra v1.1.0)

Copy Markdown View Source

Diagnoses Sigra's optional-dependency wiring and prints a per-feature status matrix showing which optional features are missing, available (loaded but unconfigured), loaded and active, or configured-but-broken.

Usage

mix sigra.doctor [--quiet]

Flags

  • --quiet — suppress per-row hints. The verdict line and the misconfig error report are always printed regardless of --quiet. The exit gate fires on misconfiguration regardless of this flag.

Examples

# Standard run:
mix sigra.doctor

# Suppress per-row hints (useful when the matrix itself is enough):
mix sigra.doctor --quiet

# CI usage — non-zero exit on misconfiguration, zero on clean:
mix sigra.doctor && echo "wiring OK" || echo "misconfigured — see above"

Behavior

Delegates to Sigra.Doctor.run/1 after parsing flags and starting the application. All diagnostic logic (matrix build, wiring checks, verdict) lives in the versioned library so fixes ship via mix deps.update.

On a clean install (no configured features, no optional deps loaded), the command exits 0 — making it safe to run unconditionally in dep-off CI lanes.

On detected misconfiguration (a configured feature has broken wiring), the command prints the full matrix and error report, then exits with code 1 — functioning as a CI / pre-deploy gate.

Exit Codes

  • 0 — all configured features are properly wired (or no features are configured). Absent optional deps are not an error.
  • 1 — at least one configured feature has broken wiring (e.g. async email enabled but Oban not supervised).