🤝 Contribuir

⬅️ Volver al programa · 📚 Índice completo · 🔐 Seguridad

Gracias por querer mejorar Polyglot Programming Labs. Este es un programa conceptual: se compara la programación entre lenguajes, no se enseña un lenguaje aislado. Por eso una contribución se juzga por lo que explica, no solo por el código que añade. No se acepta una nueva implementación que se limite a traducir tokens sin explicar sus diferencias semánticas o idiomáticas.

Qué puedes aportar

Qué se edita a mano y qué se genera

Editar un archivo generado es trabajo perdido: la siguiente ejecución del generador lo sobrescribe. Antes de tocar nada, mira en qué columna cae.

Archivo ¿Se edita a mano?
classes/parte-N/NNN-*/README.md y sus concepto/comparacion/reto/primos/vivos/casos.json ✅ sí, es el contenido del curso
classes/parte-N/README.md (README de parte) ❌ no — se genera; el texto vive en scripts/guias.py
classes/README.md (índice) y classes/_manifest.json ❌ no — los genera scripts/build.py
glosario/README.md ❌ no — lo genera scripts/generar_glosario.py desde las clases
site/, manual/MANUAL.pdf, material/ ❌ no — artefactos generados
atlas/, rutas/, autoevaluaciones/, labs/, docs/ ✅ sí

Para cambiar la narrativa de una parte o la descripción de una clase en su índice, edita scripts/guias.py y ejecuta python scripts/build.py.

Lista de comprobación

Antes de abrir el PR

# Si tocaste una implementación, verifica la equivalencia
python scripts/verificar_equivalencia.py <clase>

# Si tocaste un primos.md o un vivos.md, ejecútalos también
python scripts/verificar_primos.py <clase>
python scripts/verificar_vivos.py <clase>

# Comprueba la estructura y los enlaces
python scripts/validar_estructura.py

# Si tocaste scripts/guias.py o el currículo, regenera partes e índice
python scripts/build.py

# Lint de los .md que modificaste
npx markdownlint-cli2 "ruta/al/archivo.md"

Rellena la plantilla de pull request. La CI ejecutará la estructura, el markdown y el verificador de equivalencia por lenguaje; el workflow de seguridad escanea secretos con gitleaks y el tooling con bandit.

Cómo está protegida main

main no acepta force push ni borrado, exige historial lineal y no se puede fusionar nada cuyo lint de Markdown, validación de estructura, equivalencia de Python, Java o Rust, o escaneo de secretos esté en rojo. El historial del curso es su documentación: una reescritura destruiría la trazabilidad de por qué cada clase dice lo que dice.