46 lines
1.9 KiB
Markdown
46 lines
1.9 KiB
Markdown
|
|
# Cómo trabajamos
|
||
|
|
|
||
|
|
## Ramas
|
||
|
|
|
||
|
|
- `main` siempre funciona: nadie sube directamente a ella. Todo entra mediante *pull request* revisado por la otra persona.
|
||
|
|
- Una rama por tarea, creada desde `main` actualizada, con el prefijo del área:
|
||
|
|
- `motor/...`: procesado (p. ej. `motor/lectura-dwg`)
|
||
|
|
- `app/...`: interfaz y visor (p. ej. `app/visor-ejes`)
|
||
|
|
- `pruebas/...`, `docs/...`
|
||
|
|
- Ramas cortas: mejor varios PR pequeños que uno enorme. Antes de abrir el PR, actualizar la rama con `main`.
|
||
|
|
|
||
|
|
```bash
|
||
|
|
git switch main
|
||
|
|
git pull
|
||
|
|
git switch -c app/visor-ejes
|
||
|
|
# ... trabajo y commits ...
|
||
|
|
git push -u origin app/visor-ejes
|
||
|
|
```
|
||
|
|
|
||
|
|
## Commits
|
||
|
|
|
||
|
|
En español, en imperativo y diciendo qué cambia: `Añade lectura de capas ocultas`, `Corrige escala en planos sin unidades`. Un commit por cambio con sentido propio.
|
||
|
|
|
||
|
|
## Issues y tablero
|
||
|
|
|
||
|
|
- Cada tarea es un *issue* con etiqueta de área (`motor`, `app`, `pruebas`, `docs`) y asignado a quien la hace.
|
||
|
|
- El tablero del proyecto en Gitea tiene las columnas **Pendiente · En curso · En revisión · Hecho**.
|
||
|
|
- Los errores se registran como *issue* con la plantilla de error: son evidencia para el informe de calidad.
|
||
|
|
|
||
|
|
## Pull requests
|
||
|
|
|
||
|
|
- La descripción dice qué cambia, cómo se ha probado y qué *issue* cierra (`Closes #12`).
|
||
|
|
- `uv run pytest` debe pasar antes de pedir revisión.
|
||
|
|
- La otra persona revisa y aprueba. La revisión cruzada es obligatoria: los dos tenemos que entender todo el código para la defensa.
|
||
|
|
|
||
|
|
## Contrato motor/aplicación
|
||
|
|
|
||
|
|
`motor/api.py` es lo único que comparten las dos partes. Cualquier cambio en él se acuerda antes, se anota en `docs/decisiones.md` y va en un PR propio.
|
||
|
|
|
||
|
|
## Documentación continua
|
||
|
|
|
||
|
|
- **Decisiones** (`docs/decisiones.md`): cada decisión de diseño o de alcance, con motivo.
|
||
|
|
- **Bitácora** (`docs/bitacora.md`): qué ha hecho cada uno cada semana.
|
||
|
|
- **Actas** (`docs/actas/`): una por reunión semanal.
|
||
|
|
- **Uso de IA** (`docs/uso-ia.md`): cada uso relevante de herramientas de IA.
|