-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.golangci.yml
More file actions
82 lines (70 loc) · 2.07 KB
/
.golangci.yml
File metadata and controls
82 lines (70 loc) · 2.07 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
version: '2'
run:
timeout: 5m
modules-download-mode: readonly
issues:
max-issues-per-linter: 0
max-same-issues: 0
formatters:
enable:
- gofumpt
- goimports
settings:
gofumpt:
module-path: 'github.com/sqve/grove'
extra-rules: true
linters:
exclusions:
rules:
- path: '(.+)_test\.go'
linters:
- goconst
enable:
# Essential Go checks
- errcheck # Check for unchecked errors
- govet # Vet examines Go source code
- ineffassign # Detect ineffective assignments
- staticcheck # Static analysis checks
- unused # Check for unused code
# Bug prevention
- bodyclose # Check HTTP response body is closed
- copyloopvar # Check loop variable copying (Go 1.22+)
# Code quality
- goconst # Find repeated strings for constants
- gocritic # Comprehensive diagnostics
# Comprehensive unused code detection
- unparam # Unused function parameters
- unconvert # Unnecessary type conversions
- wastedassign # Wasted assignments
# Security and error handling
- gosec # Security vulnerabilities
- errorlint # Error wrapping and handling issues
- nilerr # nil error return issues
- nilnil # Check for simultaneous nil return
- contextcheck # Context usage validation
- testifylint # Testify best practices
settings:
# Configure unused linter for comprehensive detection
unused:
exported-fields-are-used: false
local-variables-are-used: true
parameters-are-used: true
# Configure unparam for unused parameters
unparam:
check-exported: true # Check exported functions for unused params
# Configure goconst to ignore common boolean and numeric strings
goconst:
min-len: 3
min-occurrences: 3
ignore-string-values:
- '^(true|false|yes|no|on|off)$' # Boolean strings
- '^[0-9]+$' # Numeric strings like "1", "0"
- '^origin$'
gocritic:
enabled-tags:
- diagnostic
- performance
- style
disabled-checks:
- dupImport
- whyNoLint