hexcheck.yaml RawHistoryFolder
1version: 1
2components:
3 core:
4 role: core
5 paths:
6 - internal/domain/**
7 - internal/core/**
8 usecases:
9 role: usecase
10 paths:
11 - internal/application/usecase/**
12 - internal/application/usecases/**
13 - internal/usecase/**
14 - internal/usecases/**
15 - usecase/**
16 - usecases/**
17 ports:
18 role: ports
19 paths:
20 - internal/application/port/**
21 - internal/domain/repository/**
22 adapters:
23 role: adapter
24 paths:
25 - internal/infrastructure/**
26 - internal/adapters/**
27 - internal/ui/**
28 - internal/cli/**
29 entrypoints:
30 role: entrypoint
31 paths:
32 - cmd/**
33 generated:
34 role: ignore
35 paths:
36 - '**/mocks/**'
37 - '**/generated/**'
38 - '**/*_templ.go'
39 - '**/*_gen.go'
40
41rules:
42 no-adapter-imports-in-core: error
43 no-infra-imports-in-usecase: error
44 no-framework-types-in-core: error
45 no-infra-types-in-ports: error
46 no-adapter-to-adapter-imports: warn
47 suspicious-business-logic-in-adapter: warn
48 no-local-fakes-for-ports: warn
49 missing-generated-mock-for-port: warn
50 prefer-generated-mocks: warn
51
52ruleSettings:
53 suspicious-business-logic-in-adapter:
54 excludePaths:
55 - internal/ui/**
56 - internal/cli/cmd/**
57 - internal/cli/model/**
58 - cmd/**
59
60externalTypes:
61 frameworkPackages: []
62 adapterTypePackages:
63 - internal/infrastructure/**
64 - internal/adapters/**
65
66heuristics:
67 businessLogicThreshold: 8
68 businessLogicMinStrongSignals: 2
69 businessLogicMinWeakSignals: 2
70 businessLogicMaxFunctionNodes: 2000
71 businessLogicMaxDiagnosticsPerPackage: 10
72 excludeTestFiles: true
73 businessKeywords:
74 - Validate
75 - Authorize
76 - Compute
77 - Calculate
78 - Apply
79 - Transition
80 - Can
81 - Detect
82 - Migrate
83 - Resolve
84 - Profile
85 - Score
86 - Ranking
87 - Restore
88 - Purge
89 - Update
90 - Performance
91 - Selected
92
93mocking:
94 generatedMockPaths:
95 - internal/mocks/**
96 - internal/application/mocks/**
97 - internal/application/port/mocks/**
98 - internal/domain/repository/mocks/**
99 generatedMockNamePatterns:
100 - Mock{{Interface}}
101 - '{{Interface}}Mock'