main ae76d4b

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-usecase-imports-in-core: error
44  no-infra-imports-in-usecase: error
45  no-infra-imports-in-ports: error
46  no-entrypoint-imports-in-adapter: error
47  no-framework-types-in-core: error
48  no-infra-types-in-ports: error
49  no-adapter-to-adapter-imports: warn
50  suspicious-business-logic-in-adapter: warn
51  no-local-fakes-for-ports: warn
52  missing-generated-mock-for-port: warn
53  prefer-generated-mocks: warn
54
55ruleSettings:
56  suspicious-business-logic-in-adapter:
57    excludePaths:
58      - internal/ui/**
59      - internal/cli/cmd/**
60      - internal/cli/model/**
61      - cmd/**
62
63externalTypes:
64  frameworkPackages: []
65  adapterTypePackages:
66    - internal/infrastructure/**
67    - internal/adapters/**
68
69heuristics:
70  businessLogicThreshold: 8
71  businessLogicMinStrongSignals: 2
72  businessLogicMinWeakSignals: 2
73  businessLogicMaxFunctionNodes: 2000
74  businessLogicMaxDiagnosticsPerPackage: 10
75  businessLogicMode: audit
76  businessLogicMinConfidence: medium
77  excludeTestFiles: true
78  businessKeywords:
79    - Validate
80    - Authorize
81    - Compute
82    - Calculate
83    - Apply
84    - Transition
85    - Can
86    - Detect
87    - Migrate
88    - Resolve
89    - Profile
90    - Score
91    - Ranking
92    - Restore
93    - Purge
94    - Update
95    - Performance
96    - Selected
97
98mocking:
99  generatedMockPaths:
100    - internal/mocks/**
101    - internal/application/mocks/**
102    - internal/application/port/mocks/**
103    - internal/domain/repository/mocks/**
104  generatedMockNamePatterns:
105    - Mock{{Interface}}
106    - '{{Interface}}Mock'

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 5

↑↓ moveenter openesc close