Saltar al contenido principal
Raigal lee las preferencias de tu proyecto desde .raigal/config.yml en la raíz del repositorio. El archivo sigue un esquema estricto validado con Zod; cualquier propiedad no reconocida o mal escrita produce un error inmediato de validación.

Ejemplo completo de configuración

A continuación tienes un archivo .raigal/config.yml completo con todos los campos válidos:

Ubicación de archivos y orden de prioridad

Raigal busca el archivo de configuración recorriendo directorios hacia arriba hasta la raíz del repositorio:
  1. .raigal/config.yml o .raigal/config.yaml
  2. .raigal/config.json
  3. Archivos en la raíz: .raigal.yml, .raigal.yaml o .raigal.json
  4. Rutas heredadas de compatibilidad (.aislop/config.yml)

Referencia de opciones

engines

Activa o desactiva motores de análisis individuales:
  • format (booleano, por defecto: true): espacios en blanco, sangrado, ajuste de líneas y orden de importaciones.
  • lint (booleano, por defecto: true): reglas de linters con Oxlint, Ruff, Clippy y herramientas nativas.
  • code-quality (booleano, por defecto: true): exportaciones sin uso (Knip), código muerto y límites de complejidad.
  • ai-slop (booleano, por defecto: true): reglas contra malos patrones generados por IA, comentarios obvios y funciones wrapper redundantes.
  • architecture (booleano, por defecto: false): límites arquitectónicos e importaciones cruzadas entre capas.
  • security (booleano, por defecto: true): secretos expuestos, inyecciones de código y llamadas a funciones peligrosas.

quality

Define los límites estructurales evaluados por el motor code-quality:
  • maxFunctionLoc (número, por defecto: 80): máximo de líneas físicas permitidas por función.
  • maxFileLoc (número, por defecto: 400): máximo de líneas físicas permitidas por archivo.
  • maxNesting (número, por defecto: 5): profundidad máxima de bloques anidados.
  • maxParams (número, por defecto: 6): número máximo de parámetros permitidos por función.

lint

Configura herramientas de compilación y diagnóstico específicas por lenguaje:
  • typecheck (booleano, por defecto: false): ejecuta diagnósticos del compilador de TypeScript (tsc).
  • expoDoctor (booleano, por defecto: false): ejecuta comprobaciones de higiene en proyectos Expo React Native.
  • csharp: opciones para C#, incluyendo roslynator y JetBrains InspectCode (jb).
  • cpp: opciones para C/C++ (cppcheck, clangTidy).

ci

Configura las comprobaciones en integración continua:
  • failBelow (número, por defecto: 70): nota mínima para dar el paso por bueno. Si la nota es inferior o hay algún error, raigal ci devuelve código de salida 1.
  • format ("json", por defecto: "json"): formato de salida en ejecuciones de CI.

baseline

Configura la comparación de regresiones contra .raigal/baseline.json:
  • mode ("strict" | "relaxed", por defecto: "relaxed"): en modo "strict", se desactiva la tolerancia de Stage 3 a nivel de archivo. Cualquier incidencia fuera de la ventana de 11 líneas se considera una regresión bloqueante.

licensing

Define cómo actuar en CI si vence la licencia:
  • onLapse ("fail-open" | "fail-closed", por defecto: "fail-open"): en modo "fail-closed", el CI finaliza con código de salida 2 si no se puede validar la licencia tras el periodo de gracia.

workspace

Aplica estándares mínimos en monorrepositorios:
  • minimumFloor (número, por defecto: 50): suelo mínimo para ci.failBelow que las configuraciones de paquetes hijos no pueden rebajar.

scoring

Calibra los parámetros del cálculo de notas:
  • thresholds: límites de estado en la CLI.
    • good (número, por defecto: 75): nota a partir de la cual el estado es Healthy.
    • ok (número, por defecto: 50): nota a partir de la cual el estado es Needs Work. Por debajo se considera Critical.
  • smoothing (número, por defecto: 5): constante sumada al recuento de archivos para evitar caídas bruscas en repositorios pequeños.
  • maxPerRule (número, por defecto: 40): límite base de deducción para cualquier regla antes de escalar por tamaño de repositorio.
  • weights: pesos personalizados por categoría (por defecto: security: 1.5, ai-slop: 1.0, architecture: 1.0, code-quality: 0.8, lint: 0.6, format: 0.3).

rules

Diccionario de reglas para cambiar su gravedad o desactivarlas:
Los valores válidos son "error", "warning" y "off".

exclude e include

Define qué carpetas y archivos analiza Raigal:
  • exclude (lista de cadenas): rutas y directorios ignorados. Por defecto: ["node_modules", ".git", "dist", "build", "coverage"].
  • include (lista de cadenas): rutas explícitas a analizar. Si está vacía ([]), se analizan todos los archivos compatibles no excluidos.

overrides

Aplica límites o severidades diferentes según patrones de archivos:

telemetry

Controla el envío de métricas a Raigal Cloud:
Fija false para desactivar el envío de telemetría.