forked from arch-go/arch-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
arch-go.yml
38 lines (38 loc) · 957 Bytes
/
arch-go.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
version: 1
threshold:
compliance: 100
coverage: 100
dependenciesRules:
- package: '**.internal.**'
shouldNotDependsOn:
internal:
- '**.arch-go.cmd.**'
- package: '**.arch-go.api.**'
shouldNotDependsOn:
internal:
- '**.arch-go.cmd.**'
- package: '**.arch-go.**'
shouldOnlyDependsOn:
external:
- github.com/agiledragon/gomonkey/v2
- github.com/fatih/color
- github.com/jedib0t/go-pretty/v6
- github.com/spf13/cobra
- github.com/spf13/viper
- github.com/stretchr/testify
- golang.org/x/tools
- gopkg.in/yaml.v3
functionsRules:
- package: '**.arch-go.**'
maxParameters: 5
maxReturnValues: 3
maxLines: 55
maxPublicFunctionPerFile: 15
contentsRules:
- package: '**.model.**'
shouldOnlyContainStructs: true
namingRules:
- package: '**.arch-go.**'
interfaceImplementationNamingRule:
structsThatImplement: 'Command'
shouldHaveSimpleNameEndingWith: 'Command'