Skip to content

v0.14.0

Latest

Choose a tag to compare

@stawils stawils released this 15 Jul 15:33

What's New

  • Multi-language lint gate — the lint rule now maps each edited file's extension to the right linter instead of being Python-only:
    • Python (.py) → ruff check --select=F,E9
    • JS/TS (.js .jsx .mjs .cjs .ts .tsx .mts .cts) → biome check
    • Go (.go) → gofmt -l
  • LinterSpec gains path_mode (file/dir/project) and findings_mode (exitcode/stdout) — needed because gofmt -l always exits 0 and reports unformatted files via non-empty stdout.
  • Fully configurable via lint.linters in guardrail-config.yaml. Project-mode supports cargo clippy / golangci-lint. Linters that aren't installed degrade gracefully (skipped, edit allowed).
  • Fix: .gitignore now actually ignores .pi-subagents/ (the earlier add was lost during the v0.13.0 staging).
  • +8 unit tests (24 total for the rule).

Full Changelog

v0.13.0...v0.14.0