chore: add a taskfile and default golangci-lint config

Andrey Nering created

Change summary

.golangci.yml | 41 +++++++++++++++++++++++++++++++++++++++++
Taskfile.yaml | 19 +++++++++++++++++++
2 files changed, 60 insertions(+)

Detailed changes

.golangci.yml 🔗

@@ -0,0 +1,41 @@
+version: "2"
+run:
+  tests: false
+linters:
+  enable:
+    - bodyclose
+    - exhaustive
+    - goconst
+    - godot
+    - godox
+    - gomoddirectives
+    - goprintffuncname
+    - gosec
+    - misspell
+    - nakedret
+    - nestif
+    - nilerr
+    - noctx
+    - nolintlint
+    - prealloc
+    - revive
+    - rowserrcheck
+    - sqlclosecheck
+    - tparallel
+    - unconvert
+    - unparam
+    - whitespace
+    - wrapcheck
+  exclusions:
+    generated: lax
+    presets:
+      - common-false-positives
+issues:
+  max-issues-per-linter: 0
+  max-same-issues: 0
+formatters:
+  enable:
+    - gofumpt
+    - goimports
+  exclusions:
+    generated: lax

Taskfile.yaml 🔗

@@ -0,0 +1,19 @@
+# https://taskfile.dev
+
+version: "3"
+
+tasks:
+  lint:
+    desc: Run base linters
+    cmds:
+      - golangci-lint run
+
+  test:
+    desc: Run tests
+    cmds:
+      - go test ./... {{.CLI_ARGS}}
+
+  fmt:
+    desc: Run gofumpt
+    cmds:
+      - gofumpt -w .