Skip to content

v0.4.0

Latest

Choose a tag to compare

@Kidkender Kidkender released this 30 Jun 09:48

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 changes
  • 1 — non-breaking changes
  • 2 — breaking changes ← new, previously merged with 1

269 tests passing. Full changelog: CHANGELOG.md