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.
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.
casos.json) son comunes a todos los lenguajes.# 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.
mainmain 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.