Patterns
Copy-paste-ready jq patterns for the most common automation gates.
Health gate
bash
fur system doctor | jq '.checks | all(.ok == true)' >/dev/nullUse this as a first-step gate in any pipeline that mutates host state.
Structured install
bash
fur install hello \
| jq '.schema == "fur.v1" and .action == "install" and .source == "nixpkgs"'MCP dry-run preview
bash
fur registry list \
| jq '.action == "mcp" and .dry_run == true'Flatpak install
bash
fur flatpak install org.mozilla.firefox flathub \
| jq '.action == "flatpak" and .ok == true'Source-aware install audit
bash
fur list \
| jq '.apps[] | [.name, .source, .strategy] | @tsv'Kit posture in CI
bash
export FOXORA_KIT_TRUST_POLICY=signature
export FOXORA_KIT_PIN_POLICY=require
fur install @foxora/dev \
| jq '.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.