version: "2" linters: default: standard # Extra linters that are usually worth the cost even on a big codebase. enable: - revive - gosec - gocritic # good generic bug/quality suggestions - misspell # catch obvious spelling mistakes in identifiers/comments # Linters that tend to fight with established code style or structure: disable: - funlen - gocyclo - wsl - lll # don't enforce a strict max line length - mnd # don't go after every "magic number" - depguard # only useful once you define strict dependency rules - gomodguard - ineffassign - errcheck settings: revive: # Only enable the revive rules you actually care about. rules: - name: blank-imports - name: error-strings - name: error-return - name: error-naming - name: exported - name: if-return - name: var-naming severity: warning disabled: false exclude: [""] arguments: - ["ID", "Id", "id", "UID", "Uid", "uid", "URI", "Uri", "uri", "URL", "Url", "url"] # AllowList - [] # DenyList - - skip-initialism-name-checks: true upper-case-const: true skip-package-name-checks: true - name: var-declaration - name: increment-decrement - name: range - name: receiver-naming - name: time-naming - name: unexported-return misspell: # Correct spellings using locale preferences for US or UK. # Setting locale to US will correct the British spelling of 'colour' to 'color'. # Default is to use a neutral variety of English. locale: US # Typos to ignore. # Should be in lower case. # Default: [] ignore-rules: - nolint - gosec # Extra word corrections. # `typo` and `correction` should only contain letters. # The words are case-insensitive. # Default: [] extra-words: - typo: "Photoprism" correction: "PhotoPrism" # Mode of the analysis: # - default: checks all the file content. # - restricted: checks only comments. # Default: "" mode: restricted