Contribuir a OrpycaMCP / Contributing to OrpycaMCP¶
¡Gracias por tu interés en mejorar OrpycaMCP! Thank you for your interest in improving OrpycaMCP!
Antes de contribuir / Before Contributing¶
- Lee la arquitectura y los ADRs
- Revisa el roadmap para ver qué está planificado
- Abre un issue en GitLab describiendo tu propuesta antes de codificar
Reglas de contribución / Contribution Rules¶
- Código en inglés — identificadores, comentarios, mensajes de commit
- Documentación bilingüe — español en
docs/es/, inglés endocs/en/ - Tests obligatorios — al menos un test por endpoint nuevo
- Tipos anotados — Python 3.11+ type hints en todas las funciones
- AGPL v3 — no incluyas código con licencias incompatibles
Flujo de trabajo / Workflow¶
# 1. Fork del repositorio
# 2. Crea una rama con formato feat/nombre o fix/nombre
git checkout -b feat/document-service-radicacion-entrada
# 3. Desarrolla con tests
cd services/document-service
pytest tests/ -v
# 4. Actualiza la documentación correspondiente
# (el CI lo verifica automáticamente)
# 5. Commit siguiendo Conventional Commits
git commit -m "feat(document): implement entrada document registration"
# 6. Push y abre Merge Request
Convención de commits / Commit Convention¶
| Tipo | Cuándo usarlo |
|---|---|
feat |
Nueva funcionalidad |
fix |
Corrección de bug |
docs |
Solo documentación |
refactor |
Reestructuración sin cambio de comportamiento |
test |
Añadir o corregir pruebas |
chore |
Mantenimiento, dependencias |
ci |
Cambios en el pipeline |
Ejemplo: feat(archive): add expediente state machine (open → closed → transferred)
Checklist de PR / PR Checklist¶
- [ ] El código pasa
ruff checkymypy - [ ] Los tests nuevos pasan con
pytest - [ ]
docs/es/api.mdactualizado si cambié endpoints - [ ]
CHANGELOG.mdtiene entrada para este cambio - [ ] No hay credenciales hardcodeadas
- [ ] Los modelos SQLAlchemy tienen migraciones Alembic