- Usar la plantilla de reporte de issues
- Incluir logs, steps para reproducir y screenshots si aplica
- Especificar versión y entorno
- Describir el caso de uso claro y el valor agregado
- Proponer diseño técnico inicial
- Evaluar impacto y esfuerzo estimado
- Seguir las convenciones de código establecidas
- Incluir tests unitarios y de integración
- Documentar los cambios adecuadamente
- Fork del repositorio principal
- Crear branch descriptivo (
feature/nueva-caracteristica) - Desarrollar en entorno local
- Ejecutar tests y verificaciones de calidad
- Enviar Pull Request con descripción detallada
- Seguir PEP 8 para Python
- Usar type hints en todas las funciones
- Documentar con docstrings completos
- Mantener cobertura de tests >80%
- Tests unitarios para todas las nuevas funcionalidades
- Tests de integración para componentes clave
- Tests de rendimiento para cambios significativos
- Tests de seguridad para funcionalidades sensibles
- Revisión de código por al menos 2 maintainers
- Verificación de cumplimiento de estándares
- Pruebas en entorno de staging
- Approbación final antes de merge
- Cobertura de tests
- Complejidad ciclomática
- Deuda técnica
- Velocidad de desarrollo
- Sistema de créditos por contribuciones
- Mención en release notes
- Posibilidad de convertirse en maintainer