Gracias por tu interés en contribuir. Este documento describe el proceso y las convenciones del proyecto para mantener un flujo de trabajo ordenado y consistente.
git clone https://github.com/WorkTeam01/team-practice.git
cd team-practice
pip install -r requirements.txt
# Verificar que todo funciona
pytest -vEste proyecto sigue Git Flow. Todo el desarrollo ocurre en dev; main solo recibe merges de releases estables.
git checkout dev
git pull origin dev
git checkout -b <tipo>/nombre-descriptivo| Prefijo | Cuándo usarlo |
|---|---|
feature/ |
Nueva funcionalidad |
bugfix/ |
Corrección de un error |
hotfix/ |
Corrección urgente directamente en main |
release/ |
Preparación de una nueva versión |
Sigue el formato de Conventional Commits:
<tipo>: <descripción breve en imperativo>
| Tipo | Cuándo usarlo |
|---|---|
feat |
Nueva funcionalidad |
fix |
Corrección de bug |
test |
Agregar o modificar tests |
docs |
Cambios en documentación |
refactor |
Cambios de código sin afectar comportamiento |
style |
Formato, espaciado, nombres (sin cambios de lógica) |
chore |
Tareas de mantenimiento, dependencias, CI |
Ejemplos:
feat: agregar función de historial de operaciones
fix: corregir validación de paréntesis desbalanceados
test: cubrir casos borde en abs_value con negativos
- La rama destino siempre es
dev(nunca directamente amain) - Usa la plantilla de PR del repositorio
- Referencia el issue relacionado con
Closes #<número> - Ejecuta los tests antes de hacer push:
pytest -v- Todo PR requiere al menos una aprobación antes de mergear
- Responde los comentarios y realiza los cambios solicitados
- No hagas force push a una rama que ya tiene un PR abierto
Usa las plantillas disponibles en GitHub según el caso:
- Reporte de error — para bugs o comportamiento inesperado
- Mejora de función — para proponer cambios en funcionalidad existente
- Nueva funcionalidad — para proponer features nuevas
- Sugerencia general — para ideas o discusiones abiertas
- Estilo: PEP 8
- Docstrings: PEP 257 — todas las funciones públicas deben tenerlos
- Tests: Toda nueva funcionalidad debe incluir tests en
tests/. Los tests de GUI deben usar los mocks deconftest.pypara ser ejecutables sin pantalla
Si tienes dudas, abre un issue con la plantilla de sugerencia general o comenta directamente en el PR correspondiente.