v4.1.0Home

Patterns

Copy-paste-ready jq patterns for the most common automation gates.

Health gate

bash
fur system doctor --json | jq -e '.checks | all(.ok == true)' >/dev/null

Use this as a first-step gate in any pipeline that mutates host state.

Structured install

bash
fur install hello --json \
  | jq -e '.schema == "fur.v1" and .action == "install" and .source == "nixpkgs"'

MCP dry-run preview

bash
fur registry list --dry-run --json \
  | jq -e '.action == "mcp" and .dry_run == true'

Flatpak install

bash
fur flatpak install org.mozilla.firefox --remote flathub --json \
  | jq -e '.action == "flatpak-install" and .ok == true'

Source-aware install audit

bash
fur list --all --json \
  | jq -r '.apps[] | [.name, .source, .strategy] | @tsv'

Kit posture in CI

bash
export FOXORA_KIT_TRUST_POLICY=signature-required
export FOXORA_KIT_PIN_POLICY=require-pinned

fur install @foxora/dev-tools --json \
  | jq -e '.action == "install" and .source == "kit" and (.attestation | length) > 0'

Compose, don't parse

When in doubt, pipe to jq -e and let exit codes do the work. The envelope is stable, so you don't need to parse text out of stderr or stdout.