-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.golangci.yml
More file actions
104 lines (93 loc) · 2.59 KB
/
Copy path.golangci.yml
File metadata and controls
104 lines (93 loc) · 2.59 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
version: "2"
formatters:
enable:
- gofmt
- goimports
linters:
default: none
enable:
- errcheck
- govet
- staticcheck
- unused
- ineffassign
- gosec
- misspell
- revive
- gocritic
- gocyclo
- gocognit
- funlen
- nestif
- goconst
- dupl
- depguard
settings:
gocyclo:
min-complexity: 15
gocognit:
min-complexity: 20
funlen:
lines: 80
statements: 50
nestif:
min-complexity: 4
dupl:
threshold: 100
goconst:
min-occurrences: 3
gosec:
excludes:
- G304 # file path via variable — acceptable in test scaffolding
- G306 # WriteFile permissions — acceptable in test scaffolding
depguard:
rules:
banned-libs:
deny:
- pkg: github.com/urfave/cli
desc: use cobra+viper instead
- pkg: github.com/peterbourgon/ff
desc: use viper instead
- pkg: github.com/gin-gonic/gin
desc: use chi/v5 instead
- pkg: github.com/gorilla/mux
desc: use chi/v5 instead
- pkg: github.com/rs/zerolog
desc: use log/slog instead
- pkg: github.com/sirupsen/logrus
desc: use log/slog instead
- pkg: github.com/knadh/koanf
desc: use viper instead
- pkg: github.com/joho/godotenv
desc: use viper instead
- pkg: github.com/kelseyhightower/envconfig
desc: use viper instead
- pkg: github.com/pkg/errors
desc: use fmt.Errorf+%w instead
- pkg: github.com/go-resty/resty
desc: use go-retryablehttp instead
- pkg: github.com/sashabaranov/go-openai
desc: use openai/openai-go instead
- pkg: github.com/mattn/go-sqlite3
desc: use modernc.org/sqlite instead (CGO-free)
- pkg: github.com/golang-migrate/migrate
desc: use goose/v3 instead
- pkg: gopkg.in/yaml.v2
desc: use yaml.v3 instead
- pkg: github.com/satori/go.uuid
desc: use google/uuid instead
- pkg: github.com/fatih/color
desc: use lipgloss instead
- pkg: github.com/olekukonko/tablewriter
desc: use lipgloss/table instead
- pkg: github.com/lib/pq
desc: use pgx/v5 instead
exclusions:
rules:
- path: "_test\\.go"
linters:
- dupl
- goconst
- funlen
- gocognit
- gosec