Skip to content
GitHub

bino lint

bino lint validates your report manifests against the schema and runs content lint rules without executing queries or generating PDFs. This is useful for quick validation during development or in CI pipelines.

bino lint [flags]

Common flags:

  • --work-dir – report bundle directory (default: .).
  • --out-dir – output directory for lint logs (default: dist).
  • --log-format – log format: text (default) or json.
  • --execute-queries – execute dataset queries and validate data (slower but catches data issues).
  • --fail-on-warnings – exit with non-zero code if any warnings are found (useful for CI).

Lint all manifests in the current directory:

bino lint

Lint a specific project:

bino lint --work-dir ./reports

Output JSON log for CI integration:

bino lint --log-format json

Execute queries and validate data:

bino lint --execute-queries

By default, bino lint only validates manifest structure without executing queries. When you need to validate actual data, use the --execute-queries flag:

bino lint --execute-queries

This will:

  1. Execute all DataSet queries
  2. Validate query results against the DataSet schema
  3. Report data validation warnings alongside lint findings

Data validation checks include:

  • Type validation (strings vs numbers)
  • Enum validation (operation must be "+" or "-")
  • Date format validation (ISO 8601)
  • Dependent required fields (e.g., rowGroup requires rowGroupIndex)

Note: --execute-queries is slower than regular lint because it runs actual queries. Use it when you need to verify data correctness, not just manifest structure.

By default, bino lint exits with code 0 unless there is a fatal error loading manifests. All lint findings are treated as warnings and do not cause a non-zero exit.

Use --fail-on-warnings to exit with code 1 if any warnings are found:

# CI-friendly: fail if there are any lint or data validation warnings
bino lint --execute-queries --fail-on-warnings

By default:

  • bino build runs lint rules automatically. Use --no-lint to skip.
  • bino preview does not run lint rules. Use --lint to enable.
  • Lint rules – reference of all available lint rules.
  • bino build – build reports (includes lint by default).
  • bino preview – preview reports with optional lint.