Saltar a contenido

rules.json

El archivo rules.json define cómo se valida automáticamente un Lab en LANEDU Labs.

Este archivo es leído por la plataforma para verificar si un Pull Request cumple con los requisitos del desafío.


¿Qué es rules.json?

rules.json es un archivo de configuración que describe:

  • Qué se espera del Pull Request
  • Qué archivos deben existir o cambiar
  • Qué acciones están permitidas o prohibidas

No contiene lógica de negocio ni código ejecutable. Solo define reglas claras y objetivas.


Ubicación

El archivo debe estar ubicado en:

.lanedu/rules.json

Si el archivo no existe, el Lab no puede ser validado.


Estructura básica

Ejemplo de estructura mínima:

{
  "pr": {
    "title": {
      "pattern": "^LAB-01: .*"
    }
  }
}

Reglas comunes

Validación del Pull Request

Permite definir reglas sobre el Pull Request:

{
  "pr": {
    "title": {
      "pattern": "^LAB-01: .*"
    },
    "base_branch": "main"
  }
}

Ejemplos de validaciones:

  • Formato obligatorio del título
  • Rama base esperada

Archivos requeridos

Permite exigir que existan ciertos archivos:

{
  "files": {
    "required": [
      "backup.sh",
      "README.md"
    ]
  }
}

Archivos prohibidos

Permite evitar modificaciones no deseadas:

{
  "files": {
    "forbidden": [
      ".lanedu/rules.json"
    ]
  }
}

Rutas específicas

Permite limitar los cambios a ciertas rutas:

{
  "files": {
    "allowed_paths": [
      "scripts/",
      "src/"
    ]
  }
}

Buenas prácticas

  • Mantén las reglas simples
  • Evita validaciones ambiguas
  • Documenta las reglas en el README del Lab
  • No cambies las reglas una vez publicado el Lab

Errores comunes

  • No incluir rules.json
  • Usar reglas demasiado restrictivas
  • Cambiar reglas después de que usuarios comenzaron el Lab

En resumen

rules.json permite:

  • Validar Labs automáticamente
  • Mantener criterios objetivos
  • Escalar sin revisiones manuales
  • Garantizar equidad entre usuarios