dotfiles

Check

just check / ci / hooks.

just check          # aggregate static + focused validation suite
just check-shell    # bash -n + shellcheck + shfmt -d
just check-just-fmt # canonical justfile formatting
just check-mise-boundary
just check-rig-ecosystem-assurance
just check-yazi-config
just check-kopia-nightly
just check-apple-text
just check-iina-config
just iina-qol
just check-bats
just fmt-shell      # shfmt -w (preview: just check-shell)
just smoke          # non-destructive runtime
just ci             # check + smoke + docs-ci
just secrets-scan
just brew-check
just docs-ci
Focused gateContract
just check-zshzsh syntax/mirror parity, exact plugin/history/load ordering, tracked pnpm completion, fkill PID safety, and activation-only layout_uv fixtures
just check-rig-ecosystem-assuranceAgent Deck/tmux ownership, nbdime provider and Git wiring, no unapproved dft/difftastic wiring, and no G4 macOS defaults
just check-yazi-configCurrent fields, resolved plugin/flavor locks, dark/light theme mapping, Option DuckDB keys, and isolated native parsing when Yazi is available
just check-kopia-nightlyStatic runner/plist contract (cap in the runner, no launchd TimeOut; no live kopia / launchd)
just check-apple-textCanonical Text Replacement / Shortcuts registries plus offline merge harness (no Apple DB writes)
just check-iina-configIINA-QoL input profile, plugin schema, Hammerspoon syntax, chezmoiignore (no live IINA writes)
just iina-qolPreview / apply / doctor for the IINA QoL stack (dry-run unless --apply)
just check-batsFile-only Bats coverage when Bats is present; required in CI

just check

Runs in this order:

RecipeWhat it gates
check-hookspre-commit validate-config when pre-commit is on PATH
check-shellbash -n + shellcheck + shfmt -d on shell_files (required in CI)
check-just-fmtjust --unstable --fmt --check
check-mise-boundaryno repo-root mise.toml / mise [tasks]
check-zshzsh -n, dots ↔ home cmp, checks/zsh-structure-test.sh, zsh-structure.sh, Atuin init grep, zsh-home-behavior-test.sh
check-freshenfreshen version SSOT + smoke tests
check-jsonjq empty on tracked *.json
secrets-scanobvious secret-shaped values in tracked source
brew-excludeBrewfile vs rig/brew/exclude.txt (no Homebrew required)
check-rig-ecosystem-assuranceAgent Deck/tmux ownership, nbdime, no unapproved dft wiring
check-yazi-configfields, locks, flavors, keys, isolated parse
check-stale-pathsfreeze on pre-rig/ machine path contracts
check-kopia-nightlyheadless Kopia runner contract (no live kopia / launchd)
check-apple-textText Replacement registries + offline merge (no TextReplacements.db)
check-iina-configIINA-QoL profile, plugin schema, Hammerspoon syntax (no live IINA / Hammerspoon mutation)
check-batschecks/*.bats when Bats is present; required in CI
check-chezmoi-ignore.chezmoiignore uses destination/target names
check-darwin-lockflake.lock JSON + recoverable nix-darwin pin
check-linux-dev-env-rcLinux run_dev_env exit-status capture (no $HOME mutation)
check-shell-filesjustfile shell_files matches tracked *.sh + Kopia runner

Docs / hooks (not inside just check)

RecipeRole
docs-installpnpm install in docs/
docs-checktypecheck when docs/node_modules exists
docs-buildFumadocs/Next static build
docs-sensitivePII / token-shaped patterns in docs
docs-hub-parityhub-manifest.json slugs ↔ sidebar meta.json
docs-cifrozen install + typecheck + build + CSS health + sensitive + hub-parity
hooks-installinstall pre-commit + pre-push hooks
hooks-runpre-commit run --all-files
hooks-updatepre-commit autoupdate

just docs-ci is what GitHub CI runs for the site (pnpm install --frozen-lockfile). Local-only: just check-zsh-smoke. Optional when tools exist: just brew-check, just darwin-check, just home-diff.

Full recipe list: just --list.

On this page