What's new
3 new linter rules
- L008 — Route returns entity directly without response DTO (HIGH)
- L009 — GET list route has no pagination guard (WARN)
- L010 — Circular DTO reference — may cause infinite serialization (INFO)
--explain flag for archtest lint
Every rule (L001–L010) now surfaces Why? / Risk / Suggested Fix inline when --explain is passed.
--ci flag — GitHub Actions annotation output
archtest lint --ci outputs ::error/::warning commands that annotate PRs directly. No separate Action required.
archtest baseline + --new-only
Save known issues as a baseline. Future runs with --new-only only surface regressions — ideal for legacy codebases with existing issues.
archtest.config.json — per-project config
{
"rules": { "L009": "warning", "L010": "off" },
"ignore": [{ "rule": "L009", "route": "GET /admin/export" }]
}archtest report — HTML / Markdown report
Combines lint + snapshot diff into a shareable file for CI artifacts or team review.
Fuzz field coverage tracking
After each fuzz run, shows a per-field breakdown: payloads fired, categories covered, crashes and bypasses.
Snapshot diff exit codes
0— no changes1— non-breaking changes2— breaking changes ← new, previously merged with1
269 tests passing. Full changelog: CHANGELOG.md