Configuration Reference
Every falcon.json key, its type, default, and accepted values — generated from the config schema. For task-oriented setup, see the Configuration guide.
$schema
$schemastring | nullURL of the falcon.json JSON Schema, enabling rule autocomplete and level validation in editors.
baseline
baselinestring | nullDiagnostic baseline path. Relative paths resolve from the configuration files root (the current directory for user-level config). The CLI --baseline path takes precedence. Omit or use null for no baseline.
error-on-warnings
error-on-warningsbooleanFail checks on warnings as well as errors. By default, warning-only checks succeed. CLI --error-on-warnings enables this setting.
files
files.includesstring[]Glob patterns relative to the configuration directory. A single star stops at directory separators; a double star crosses them. When omitted, every Dart file is a candidate.
linter
linter.enabledbooleanMaster switch for the single-file linter. Set to false to disable all file rules. Defaults to true.
linter.domains.flutterstringActivation level for the `flutter` domain's rules: `all` enables every rule in the domain, `recommended` only its recommended rules, `none` disables them.
linter.domains.teststringActivation level for the `test` domain's rules: `all` enables every rule in the domain, `recommended` only its recommended rules, `none` disables them.
linter.domains.blocstringActivation level for the `bloc` domain's rules: `all` enables every rule in the domain, `recommended` only its recommended rules, `none` disables them.
linter.domains.riverpodstringActivation level for the `riverpod` domain's rules: `all` enables every rule in the domain, `recommended` only its recommended rules, `none` disables them.
linter.domains.providerstringActivation level for the `provider` domain's rules: `all` enables every rule in the domain, `recommended` only its recommended rules, `none` disables them.
linter.domains.flutter_hooksstringActivation level for the `flutter_hooks` domain's rules: `all` enables every rule in the domain, `recommended` only its recommended rules, `none` disables them.
linter.domains.equatablestringActivation level for the `equatable` domain's rules: `all` enables every rule in the domain, `recommended` only its recommended rules, `none` disables them.
linter.rules.recommendedboolean | nullEnable the recommended preset for this section. When on, every rule in the preset reports at its default severity unless individually overridden. Defaults to true.
linter.rules.<group>.<rule>rule level (or object with level + options)A severity level, or an object with a severity level, rule-specific options and an optional autofix policy.
cross-file
cross-file.enabledbooleanMaster switch for cross-file analysis. Set to false to disable all cross-file rules. Defaults to true.
cross-file.rules.recommendedboolean | nullEnable the recommended preset for this section. When on, every rule in the preset reports at its default severity unless individually overridden. Defaults to true.
cross-file.rules.<group>.<rule>rule level (or object with level + options)A severity level, or an object with a severity level, rule-specific options and an optional autofix policy.
overrides
overrides[].includesstring[]Glob patterns relative to the configuration directory selecting the files this override applies to. Omitted patterns apply to every file.
overrides[].linter.enabledboolean | nullMaster switch for the single-file linter within this override.
overrides[].linter.rules.<group>.<rule>rule level (or object with level + options)A severity level, or an object with a severity level, rule-specific options and an optional autofix policy.
overrides[].cross-file.enabledboolean | nullMaster switch for cross-file analysis within this override.
overrides[].cross-file.rules.<group>.<rule>rule level (or object with level + options)A severity level, or an object with a severity level, rule-specific options and an optional autofix policy.
max-errors
max-errorsinteger | nullPrint at most this many diagnostics without changing the exit code. Null (the default) means no limit. Must be at least 1 in configuration; use the CLI flag to hide all output.