Changelog
v0.4.0
Fixed
- Reduce adapter business-logic noise: domain calls and mutations are weak evidence, fresh local decoding is not mutation, and decision context distinguishes policy from transport.
- Apply the business-logic package cap after suppression bookkeeping and report the hidden count with
business-logic-diagnostics-hidden(warn).
Added
- Report inline ignore rules that suppress nothing as
unused-ignore-directive(warn), including directives beyond the business-logic reporting cap.
v0.3.1
Fixed
- Load packages built by Go 1.27.2 and later:
golang.org/x/toolsv0.51.0 reads export data version 5. Older builds failed withexport data version 5 is greater than maximum supported version 4. - Building hexcheck now requires Go 1.26 or later.
v0.3.0
Breaking
- The CLI uses plain flags:
-config,-root,-modulereplace-hexcheck.config,-hexcheck.root,-hexcheck.module. - The config is strict: unknown keys and unknown rule names in
rules,ruleSettings, andalloware errors. - Diagnostic messages are prefixed with their severity, e.g.
[error] no-adapter-imports-in-core: ....
Added
- Rules
no-usecase-imports-in-core,no-infra-imports-in-ports, andno-entrypoint-imports-in-adapter.no-infra-imports-in-usecasealso covers entrypoint imports. - Rule severity drives the CLI exit code: only
errorrules fail by default;-fail-on warnalso fails on warnings. //hexcheck:ignore <rule>[,<rule>] <reason>inline suppression.hexcheck initwrites a starter.hexcheck.yamlfrom detected folders.-jsonand-versionCLI flags.- Type-leak rules inspect channels, function signatures, inline structs, aliases, and generic type arguments.
- Release builds with GoReleaser.
Fixed
- The config is loaded once per run instead of once per package.
- The generated-mock index is rebuilt on each run instead of being cached for the process lifetime.
v0.1.0
Initial release of hexcheck.
- Adds a
go/analysisanalyzer for configurable hexagonal architecture checks. - Adds a standalone
hexcheckCLI. - Adds golangci-lint Module Plugin integration.
- Adds
.hexcheck.yamlcomponent role mapping forcore,usecase,ports,adapter,entrypoint, andignore. - Adds deterministic boundary rules for adapter imports, usecase imports, framework type leaks, port type leaks, and adapter coupling.
- Adds warning-level adapter business-logic heuristics with package-local AST/type analysis and performance guardrails.
- Adds mock discipline rules for missing generated mocks, local fakes, and concrete adapters in usecase/core tests.
- Adds example configuration and an agent-facing
SKILL.mdfor configuring new repositories.