-n / --no-tui flag, which disables the interactive TUI and prints plain, prefixed log output to stdout. Combined with caching, fyrer can skip unchanged tasks across CI runs — so only the packages that actually changed get rebuilt.
Disable the TUI
Pass-n (or --no-tui) to get CI-friendly output:
Exit codes
fyrer uses standard POSIX exit codes so your CI pipeline can react automatically:- Exit
0— all tasks succeeded (including tasks that were cached or skipped). - Exit non-zero — one or more tasks failed.
Caching in CI
fyrer stores its content-addressed cache under.fyrer/cache/ relative to fyrer.yml. Each cached task is keyed by a blake3 hash of the task definition, environment, and the contents of every file matched by inputs. If the key matches a previous run, the task is reported as ⚡ Cached and skipped — its outputs are restored from the archive.
To benefit from caching across CI runs, persist the .fyrer/cache directory between jobs. Here is a GitHub Actions cache step:
.github/workflows/ci.yml
Full CI workflow example
A complete GitHub Actions workflow that installs fyrer, restores the cache, and builds the monorepo:.github/workflows/ci.yml
Do not run persistent tasks (dev servers) in CI. A task with
persistent: true never exits, so your CI job will block indefinitely. Only include tasks that have a finite lifecycle — i.e. tasks without persistent: true.
