🤝Guía de Contribución - ToLearn
¡Gracias por tu interés en contribuir a ToLearn! Esta guía te ayudará a realizar contribuciones de manera efectiva.
📋 Tabla de Contenidos
📜 Código de Conducta
Nuestro Compromiso
Nos comprometemos a hacer de la participación en nuestro proyecto una experiencia libre de acoso para todos, independientemente de:
Edad
Tamaño corporal
Discapacidad visible o invisible
Etnicidad
Características sexuales
Identidad y expresión de género
Nivel de experiencia
Educación
Estatus socioeconómico
Nacionalidad
Apariencia personal
Raza
Religión
Identidad y orientación sexual
Comportamiento Esperado
✅ Hacer:
Usar lenguaje acogedor e inclusivo
Respetar puntos de vista y experiencias diferentes
Aceptar críticas constructivas con gracia
Enfocarse en lo mejor para la comunidad
Mostrar empatía hacia otros miembros
❌ No Hacer:
Usar lenguaje o imágenes sexualizadas
Hacer comentarios insultantes o despectivos
Acosar públicamente o privadamente
Publicar información privada sin permiso
Otras conductas no profesionales
Aplicación
Los administradores del proyecto son responsables de aclarar y hacer cumplir estos estándares. Tomarán acciones correctivas apropiadas en respuesta a cualquier comportamiento inaceptable.
🎯 Cómo Contribuir
Tipos de Contribuciones
1. Reportar Bugs 🐛
¿Encontraste un error? Ayúdanos reportándolo.
2. Sugerir Funcionalidades 💡
¿Tienes una idea para mejorar ToLearn? Compártela.
3. Mejorar Documentación 📚
La documentación siempre puede mejorar.
4. Escribir Código 💻
Implementa nuevas funcionalidades o arregla bugs.
5. Revisar Pull Requests 👀
Ayuda revisando código de otros contribuidores.
6. Traducir 🌍
Ayuda a traducir la plataforma a más idiomas.
Primeros Pasos
Fork el Repositorio
Configurar Upstream
Crear Rama de Trabajo
Configurar Entorno
Áreas que Necesitan Ayuda
Busca issues con las siguientes etiquetas:
good first issue- Perfecto para principianteshelp wanted- Necesitamos ayudabug- Bugs reportadosenhancement- Nuevas funcionalidadesdocumentation- Mejoras de documentación
🔄 Proceso de Pull Request
Antes de Empezar
Busca issues existentes
Revisa si alguien más ya está trabajando en ello
Comenta en el issue para indicar que trabajarás en ello
Discute cambios grandes
Para funcionalidades grandes, abre un issue primero
Discute el diseño antes de invertir mucho tiempo
Hacer el Pull Request
1. Realiza tus Cambios
2. Escribe Tests
Ejecuta tests:
3. Actualiza Documentación
Si tu cambio afecta la funcionalidad pública:
Actualiza docstrings
Actualiza README si es necesario
Agrega ejemplos de uso
4. Commit tus Cambios
5. Push a tu Fork
6. Crear Pull Request
Ve a GitHub
Click en "New Pull Request"
Selecciona tu rama
Llena la plantilla del PR (ver abajo)
Plantilla de Pull Request
Proceso de Revisión
Revisión Automática
CI ejecuta tests automáticamente
Verifica linters y formateo
Revisión por Pares
Al menos un maintainer revisará tu código
Puede solicitar cambios
Hacer Cambios Solicitados
Merge
Una vez aprobado, un maintainer hará merge
Tu contribución aparecerá en el proyecto
🐛 Reportar Bugs
Antes de Reportar
Busca en issues existentes
Verifica que usas la última versión
Confirma que es un bug y no un problema de configuración
Cómo Reportar
Crea un nuevo issue con la siguiente información:
Pega logs de error aquí
💡 Sugerir Mejoras
Tipos de Sugerencias
Nuevas Funcionalidades
Describe el problema que resuelve
Explica la solución propuesta
Considera alternativas
Mejoras de UX/UI
Explica el problema actual
Proporciona mockups si es posible
Considera impacto en usuarios
Mejoras de Rendimiento
Identifica el cuello de botella
Proporciona benchmarks si es posible
Sugiere optimización
Plantilla de Feature Request
🎨 Guía de Estilo
Python
Seguimos PEP 8 con adaptaciones:
Django Específico
JavaScript
CSS/HTML
📝 Estructura de Commits
Usamos Conventional Commits:
Formato
Tipos
feat: Nueva funcionalidadfix: Corrección de bugdocs: Cambios en documentaciónstyle: Cambios de formato (no afectan código)refactor: Refactorización de códigotest: Agregar o modificar testschore: Tareas de mantenimientoperf: Mejoras de rendimiento
Ejemplos
Alcance
El alcance especifica qué parte del código se afecta:
courses- Sistema de cursosdashboard- Panel de controlwebinar- Sistema de webinarsauth- Autenticaciónapi- API endpointsadmin- Panel administrativodocs- Documentación
👥 Comunidad
Canales de Comunicación
GitHub Issues: Bugs y feature requests
GitHub Discussions: Preguntas y discusiones generales
Email: [email protected]
Reconocimientos
Reconocemos a todos los contribuidores en:
README.md
CONTRIBUTORS.md (si existe)
Release notes
Niveles de Contribución
Contributor
Ha realizado al menos una contribución aceptada
Regular Contributor
5+ contribuciones aceptadas
Ayuda en revisiones de PR
Participa activamente en discusiones
Core Contributor
20+ contribuciones significativas
Experiencia profunda en el proyecto
Ayuda a mantener el proyecto
Maintainer
Responsable de revisión y merge de PRs
Toma decisiones sobre roadmap
Administra el repositorio
🎓 Recursos para Nuevos Contribuidores
Tutoriales
Documentación
Herramientas
GitHub Desktop - Cliente Git visual
VS Code - Editor recomendado
PyCharm - IDE Python
❓ Preguntas Frecuentes
P: ¿Necesito saber Django para contribuir? R: No necesariamente. Puedes contribuir con documentación, traduciones, reportar bugs, etc.
P: ¿Cuánto tiempo toma que revisen mi PR? R: Típicamente 2-7 días. Si no recibes respuesta en una semana, comenta en el PR.
P: ¿Puedo trabajar en múltiples issues a la vez? R: Sí, pero recomendamos enfocarte en uno a la vez para mantener la calidad.
P: ¿Qué hago si mi PR no es aceptado? R: No te desanimes. Revisa los comentarios, aprende de ellos, y sigue contribuyendo.
P: ¿Dónde encuentro issues para principiantes? R: Busca el label good first issue en GitHub Issues.
📜 Licencia
Al contribuir a ToLearn, aceptas que tus contribuciones serán licenciadas bajo la misma licencia del proyecto (MIT License).
🙏 Agradecimientos
¡Gracias por considerar contribuir a ToLearn! Cada contribución, sin importar su tamaño, es valiosa y apreciada.
Juntos estamos construyendo una mejor plataforma educativa para todos. 🎓✨
¿Listo para contribuir?
Encuentra un issue
Comenta que trabajarás en él
Fork el repo
Haz tus cambios
Envía un PR
¡Esperamos tu contribución! 🚀
Last updated