New releasev0.7.24Jun 22, 2026

New version of Boost released

Reference

TOML Filters

Boost compresses command output with Go parsers for major tools and declarative TOML filters for everything else. Drop a filters.toml file in your home config or project to teach Boost how to trim a custom script, linter, or internal CLI — no recompile required.


Where filters load

Boost merges filters from several locations. Later files can add new filters; the first match_command regex that matches the command line wins at runtime.

  1. Built-in filters shipped with Boost (make, terraform, shellcheck, …)
  2. ~/.config/boost/filters.toml
  3. .boost/filters.toml in your repo (commit this for team-wide rules)

Example: custom deploy script

Your team runs ./scripts/deploy.sh through Boost. The script prints hundreds of progress lines but only errors matter to the agent.

.boost/filters.toml

schema_version = 1

[filters.deploy]
description = "Keep failures from deploy.sh"
match_command = "^\\./scripts/deploy\\.sh\\b"
strip_ansi = true
keep_lines_matching = [
  "^(ERROR|WARN|FAIL)",
  "^\\s+at ",
]
max_lines = 80
on_empty = "deploy: ok"
Before (raw)
==> Resolving staging manifest…
==> Pulling image acme/web:staging
==> Waiting for rollout (1/3 ready)
==> Waiting for rollout (2/3 ready)
ERROR: pod api-7f9c failed readiness: connection refused
    at deploy.sh:142 check_health
WARN: retry 1/3 in 5s
==> Rollout complete
After Boost filter
ERROR: pod api-7f9c failed readiness: connection refused
    at deploy.sh:142 check_health
WARN: retry 1/3 in 5s

$ boost ./scripts/deploy.sh staging


Example: strip make chatter

Built-in filters use the same schema. This mirrors the shipped make filter: drop entering/leaving directory lines and blank rows.

[filters.make]
match_command = "^make\\b"
strip_lines_matching = [
  "^make\\[\\d+\\]:",
  "^\\s*$",
  "^Nothing to be done",
]
max_lines = 50
on_empty = "make: ok"
Before
make[1]: Entering directory '/home/user/app'
gcc -O2 -c src/main.c
gcc -O2 -o app src/main.o

make[1]: Leaving directory '/home/user/app'
After
gcc -O2 -c src/main.c
gcc -O2 -o app src/main.o

Example: short-circuit on clean lint

Use match_output to return a one-line summary when the tool succeeded quietly.

[filters.eslint-quiet]
match_command = "^eslint\\b"
match_output = [
  { pattern = "0 problems", message = "eslint: ok" },
]

Filter fields

Field Purpose
match_commandRequired regex against the full command line
strip_ansiRemove terminal color codes first
strip_lines_matchingDrop lines matching any pattern
keep_lines_matchingKeep only matching lines
truncate_lines_atCap each line length
head_lines / tail_linesKeep first or last N lines
max_linesTotal line budget with ...+N more lines suffix
match_outputReplace entire output when a pattern matches
on_emptyMessage when filtering removes everything

Commands without a Go or TOML filter pass output through unchanged. See the full reference in docs/TOML_FILTERS.md on GitHub.