inherit_mode:
  merge:
  - Exclude

Sorbet/AllowIncompatibleOverride:
  Description: 'Disallows using `.override(allow_incompatible: true)`.'
  Enabled: true
  VersionAdded: 0.2.0

Sorbet/BindingConstantWithoutTypeAlias:
  Description: >-
                  Disallows binding the return value of `T.any`, `T.all`, `T.enum`
                  to a constant directly. To bind the value, one must use `T.type_alias`.
  Enabled: true
  VersionAdded: 0.2.0

Sorbet/CheckedTrueInSignature:
  Description: 'Disallows the usage of `checked(true)` in signatures.'
  Enabled: true
  VersionAdded: 0.2.0

Sorbet/ConstantsFromStrings:
  Description: >-
                  Forbids constant access through meta-programming.

                  For example, things like `constantize` or `const_get`
                  are forbidden.
  Enabled: true
  VersionAdded: 0.2.0

Sorbet/EnforceSigilOrder:
  Description: 'Ensures that Sorbet sigil comes first in a file.'
  Enabled: true
  VersionAdded: 0.3.4

Sorbet/EnforceSignatures:
  Description: 'Ensures all methods have a valid signature.'
  Enabled: false
  VersionAdded: 0.3.4

Sorbet/FalseSigil:
  Description: 'All files must be at least at strictness `false`.'
  Enabled: true
  VersionAdded: 0.3.3
  SuggestedStrictness: true
  Include:
  - "**/*.rb"
  - "**/*.rbi"
  - "**/*.rake"
  - "**/*.ru"
  Exclude:
  - bin/**/*
  - db/**/*.rb
  - script/**/*

Sorbet/ForbidIncludeConstLiteral:
  Description: 'Forbids include of non-literal constants.'
  Enabled: false
  VersionAdded: 0.2.0
  VersionChanged: 0.5.0

Sorbet/ForbidSuperclassConstLiteral:
  Description: 'Forbid superclasses which are non-literal constants.'
  Enabled: false
  VersionAdded: 0.2.0
  VersionChanged: 0.5.0

Sorbet/ForbidUntypedStructProps:
  Description: >-
                  Disallows use of `T.untyped` or `T.nilable(T.untyped)` as a
                  prop type for `T::Struct` subclasses.
  Enabled: true
  VersionAdded: 0.4.0

Sorbet/HasSigil:
  Description: 'Makes the Sorbet typed sigil mandatory in all files.'
  Enabled: false
  VersionAdded: 0.3.3

Sorbet/IgnoreSigil:
  Description: 'All files must be at least at strictness `ignore`.'
  Enabled: false
  VersionAdded: 0.3.3

Sorbet/KeywordArgumentOrdering:
  Description: >-
                  Enforces a compatible keyword arguments with Sorbet.

                  All keyword arguments must be at the end of the parameters
                  list, and all keyword arguments with a default value must be
                  after those without default values.
  Enabled: true
  VersionAdded: 0.2.0

Sorbet/ParametersOrderingInSignature:
  Description: 'Enforces same parameter order between a method and its signature.'
  Enabled: true
  VersionAdded: 0.2.0

Sorbet/SignatureBuildOrder:
  Description: >-
                  Enforces the order of parts in a signature.

                  The order is first inheritance related builders,
                  then params, then return and finally the modifier
                  such as: `abstract.params(...).returns(...).soft`.'
  Enabled: true
  VersionAdded: 0.3.0

Sorbet/StrictSigil:
  Description: 'All files must be at least at strictness `strict`.'
  Enabled: false
  VersionAdded: 0.3.3

Sorbet/StrongSigil:
  Description: 'All files must be at least at strictness `strong`.'
  Enabled: false
  VersionAdded: 0.3.3

Sorbet/TrueSigil:
  Description: 'All files must be at least at strictness `true`.'
  Enabled: false
  VersionAdded: 0.3.3

Sorbet/ValidSigil:
  Description: 'All files must have a valid sigil.'
  Enabled: true
  VersionAdded: 0.3.3
