Contribuyendo¶
¡Las contribuciones son bienvenidas! Aquí te indicamos cómo hacerlo.
Proceso¶
- Fork el repositorio
- Crea una rama feature:
git checkout -b feature/my-rule - Haz commits con mensajes claros:
git commit -m "feat: add rule for XYZ" git commit -m "docs: improve architecture section" - Push a tu fork
- Pull Request con descripción clara
Estilo de Contribución¶
Estructura de una regla (bloques tipados)¶
Las reglas usan el compilador helpers/python/rules_compiler.py. Cada regla se compone de bloques tipados con formato ### Tipo: Nombre. La definición completa del esquema, el AST y la taxonomía de 14 tipos vive en rules/.config/RULES_COMPILER.md (interna).
---
id: nn-topic
title: Título descriptivo
status: Borrador # Definida | Borrador
tags: [tag1, tag2]
---
Secciones obligatorias (el validador falla si faltan):
- ## Premisa — por qué existe esta regla.
- ## Restricciones — qué NO hacer (prohibiciones explícitas).
- ## Ejemplos — al menos un bloque de código correcto.
- ## Referencias — enlaces a templates, otras reglas, fuentes externas.
Secciones opcionales (requeridas cuando status: Definida):
- ## Estructura — tree de directorios/archivos.
- ## Comandos — comandos canónicos que un agente debe usar.
- ## Nombres Sugeridos — convenciones de naming.
- ## Plantilla — enlace a los templates asociados.
Usa templates/rule-template.md.tmpl como punto de partida. Ejecuta make test para verificar el compilador y make check para validar pruebas, helpers y reglas antes de commitear.
Nuevas Reglas¶
Si agregas una nueva regla:
- Crear archivo
rules/NN-topic.md - Seguir formato de reglas existentes
- Actualizar
rules/00-index.md - Agregar referencias cruzadas si aplica
Mejoras a Reglas Existentes¶
- Clarificar ejemplos
- Agregar references
- Corregir errores o desactualización
Plantillas¶
- Mantener genéricas y reutilizables
- Incluir comentarios de uso
- Documentar qué debe adaptarse
Estándares de Código¶
- Markdown bien formateado
- Títulos jerárquicos coherentes
- Ejemplos de código correctos y testados
- Enlaces funcionales
Reportar Problemas¶
Abre un Issue si: - Encuentras errores en las reglas - Una práctica no funciona en tu caso - Tienes sugerencias de mejora
Licencia¶
Al contribuir, aceptas que tu código se publique bajo MIT License.