Skip to main content
The canonical JSON Schema for .aislop/config.yml is published at:
https://scanaislop.com/schema/aislop.config.schema.json
Use it with YAML Language Server for editor autocomplete and validation:
# yaml-language-server: $schema=https://scanaislop.com/schema/aislop.config.schema.json
version: 1

Top-level keys

KeyTypeDefaultDescription
versionnumber1Config schema version
enginesobjectall true except architectureEngine toggles
qualityobjectfunction 80, file 400, nesting 5, params 6Complexity thresholds
lintobjecttypecheck: falseLint-engine options
securityobjectaudit: true, auditTimeout: 25000Security audit settings
scoringobjectdefault weights and labelsScore calculation settings
ciobjectfailBelow: 70, format: jsonCI gate settings
telemetryobjectenabled: trueAnonymous telemetry opt-in setting
rulesobject{}Per-rule severity overrides
excludestring arraynode_modules, .git, dist, build, coveragePaths to skip
includestring array[]Paths to include
extendsstring or string arraynoneParent config paths

Engine keys

engines:
  format: true
  lint: true
  code-quality: true
  ai-slop: true
  architecture: false
  security: true
All engine values are booleans. architecture is disabled by default because it requires .aislop/rules.yml.

Quality keys

quality:
  maxFunctionLoc: 80
  maxFileLoc: 400
  maxNesting: 5
  maxParams: 6
All quality values must be positive numbers.

Scoring keys

scoring:
  weights:
    format: 0.3
    lint: 0.6
    code-quality: 0.8
    ai-slop: 1.0
    architecture: 1.0
    security: 1.5
  thresholds:
    good: 75
    ok: 50
  smoothing: 20
  maxPerRule: 40
weights accepts numeric values by engine name. thresholds.good controls the Healthy label, and thresholds.ok controls the Needs Work/Critical boundary.

Rule override values

The rules map accepts rule IDs as keys and one of three values:
ValueMeaning
errorEscalate matching findings to error
warningReport matching findings as warnings
offRemove matching findings before scoring
rules:
  ai-slop/narrative-comment: warning
  ai-slop/trivial-comment: "off"
  security/hardcoded-secret: error

Extends

extends can be a single path or an array of paths.
extends: ../../.aislop/base.yml
extends:
  - ../../.aislop/base.yml
  - ./local-overrides.yml
Paths are resolved relative to the config file that declares extends. Nested objects are deep-merged. Arrays are replaced wholesale. Chains deeper than five levels and circular references are rejected.