pluginctl/assets/.golangci.yml
Felipe Martin c1399f5107
Add tools command for direct binary downloads from GitHub releases
Introduces a new 'tools' command that installs development tools (golangci-lint, gotestsum)
by downloading pre-built binaries directly from GitHub releases instead of using 'go get -tool'.
This prevents modifications to plugin go.mod files and improves build reliability.

Features:
- Cross-platform support (Windows, macOS, Linux) with automatic architecture detection
- Version-specific binary naming with symlinks for easy access
- Configurable installation directory via --bin-dir flag
- Tar.gz archive extraction with binary validation
- Updated Makefile integration to use downloaded binaries

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-04 13:44:05 +02:00

88 lines
1.4 KiB
YAML

version: "2"
linters:
enable:
- bodyclose
- errcheck
- gocritic
- gosec
- ineffassign
- misspell
- nakedret
- revive
- staticcheck # Now includes gosimple and stylecheck
- typecheck
- unconvert
- unused
- whitespace
- govet # Ensure this is included
settings:
errcheck:
# Add any errcheck settings here
exclude-functions:
- io.Copy(*bytes.Buffer)
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
gosec:
# Add gosec settings
excludes:
- G104 # Errors unhandled
staticcheck:
# Configure staticcheck (includes gosimple/stylecheck checks)
checks: ["all"]
revive:
# Add revive rules
rules:
- name: exported
disabled: false
exclusions:
presets:
- comments
- std-error-handling
- common-false-positives
rules:
- path: '_test\.go'
linters:
- errcheck
- gosec
formatters:
enable:
- gofmt
- goimports
settings:
gofmt:
simplify: true
goimports:
local-prefixes:
- {{.GoModule.Name}}
output:
formats:
text:
path: stdout
colors: true
print-linter-name: true
run:
timeout: 5m
tests: true
issues:
max-issues-per-linter: 0
max-same-issues: 0
fix: false