plugins:
  - rubocop-performance
  - rubocop-rake

AllCops:
  TargetRubyVersion: 3.3 # lowest supported version
  NewCops: enable

Layout/ArgumentAlignment:
  EnforcedStyle: with_fixed_indentation

Layout/AccessModifierIndentation:
  EnforcedStyle: outdent

Layout/LineLength:
  Enabled: false

Layout/SpaceInsideHashLiteralBraces:
  EnforcedStyle: no_space

Metrics/AbcSize:
  Enabled: false

Metrics/BlockLength:
  Enabled: false

Metrics/BlockNesting:
  Enabled: false

Metrics/ClassLength:
  Enabled: false

Metrics/CyclomaticComplexity:
  Enabled: false

Metrics/MethodLength:
  Enabled: false

Metrics/ModuleLength:
  Enabled: false

Metrics/PerceivedComplexity:
  Enabled: false

Style/AndOr:
  Enabled: false

Style/Documentation:
  Enabled: false

Style/IfUnlessModifier:
  Enabled: false

Style/Not:
  Enabled: false

Style/NumericPredicate:
  Enabled: false

Style/OpenStructUse:
  Exclude:
    - 'test/**/*'

Style/RedundantFreeze:
  Enabled: false

Style/RescueStandardError:
  EnforcedStyle: implicit

Style/SafeNavigation:
  Enabled: false

Style/StringLiterals:
  Exclude:
    - 'test/**/*'

Style/WordArray:
  Enabled: false

Style/SymbolArray:
  EnforcedStyle: brackets

Style/HashSyntax:
  EnforcedShorthandSyntax: never

Naming/BlockForwarding:
  EnforcedStyle: explicit

Style/CollectionQuerying:
  Enabled: false
