Skip to main content
Raigal runs six diagnostic engines in parallel during each scan:

Built-in diagnostic engines

  1. security (Weight: 1.5): checks hardcoded credentials, secret leaks, prompt injection surfaces, unsandboxed agent tools, SQL/shell injections, and vulnerable dependencies.
  2. ai-slop (Weight: 1.0): detects 50+ specialized rules across 6 languages (TypeScript/JavaScript, Python, Go, Rust, C#, C++), including swallowed exceptions, repetitive narrative comments, unsafe type casts, and unimplemented stubs.
  3. architecture (Weight: 1.0): checks module boundary crossings and circular dependency graphs.
  4. code-quality (Weight: 0.8): checks unused code and exports (via Knip), function complexity, nesting depth, and parameter limits.
  5. lint (Weight: 0.6): runs static analysis across TypeScript/JavaScript (Oxlint), Python (Ruff), Rust (Clippy), Go, C# (Roslynator, InspectCode), C++ (Clang-Tidy, Cppcheck), and Ruby.
  6. format (Weight: 0.3): validates formatting, whitespace, indentation, and import ordering.

Rule impact tiers

Every rule is classified into an impact tier that determines its deduction multiplier and repository-wide cap:

Common pattern rules

Rule severity overrides

In .raigal/config.yml, configure custom severities or disable rules:
Allowed values are "error", "warning", and "off". Setting a rule to "off" skips evaluation and eliminates associated score deductions.