64 lines
2.3 KiB
Markdown
64 lines
2.3 KiB
Markdown
# Utvecklingsprocess
|
|
|
|
Repositoryt är projektets facit. ChatGPT- eller Codex-dialoger kan användas som
|
|
arbetsyta, men implementation, tester och dokumentation ska tillsammans göra
|
|
projektets läge begripligt utan tidigare dialoger eller raderade branches.
|
|
|
|
## Arbetssätt
|
|
|
|
- Använd en kortlivad branch per feature eller annan avgränsad ändring.
|
|
- Skapa branchen från en uppdaterad `main`.
|
|
- En feature per ChatGPT-dialog är en praktisk arbetsform, inte en
|
|
dokumentationskälla.
|
|
- Välj nästa feature från [`roadmap.md`](roadmap.md).
|
|
- Uppdatera roadmapen innan en feature delas, flyttas, ersätts eller läggs till.
|
|
En dialog får inte skapa en parallell featureplan som saknas i repositoryt.
|
|
- Skapa eller uppdatera feature-dokumentet inom samma feature.
|
|
- Ge Codex en tydligt avgränsad specifikation.
|
|
- Implementera endast uttryckliga krav och undvik spekulativ funktionalitet.
|
|
- Kör relevanta tester före commit och gör manuell verifiering när beteendet
|
|
motiverar det.
|
|
- Commit och push sker först efter uttrycklig instruktion.
|
|
- Merge sker först när ändringen har verifierats.
|
|
- Uppdatera arkitektur- och beslutsdokument när övergripande beslut förändras.
|
|
|
|
`main` ska innehålla verifierad kod. När en feature har mergats ska dess branch
|
|
kunna raderas utan att projektkunskap går förlorad.
|
|
|
|
## Rekommenderad featureprocess
|
|
|
|
1. Uppdatera `main`.
|
|
2. Välj nästa feature från roadmapen och dokumentera först eventuell ändring av
|
|
planen.
|
|
3. Skapa en avgränsad branch.
|
|
4. Skapa eller uppdatera feature-dokumentet.
|
|
5. Implementera specifikationen.
|
|
6. Kör relevanta automatiska tester och bygge.
|
|
7. Gör manuell verifiering där det är relevant.
|
|
8. Uppdatera dokumentationen så att den beskriver den faktiska lösningen.
|
|
9. Commit och push efter uttrycklig instruktion.
|
|
10. Merge efter verifiering.
|
|
11. Radera den mergade branchen.
|
|
|
|
## Verifiering före merge
|
|
|
|
För nuvarande projekt bör verifieringen normalt omfatta:
|
|
|
|
```bash
|
|
cd backend
|
|
./mvnw test
|
|
```
|
|
|
|
```bash
|
|
cd frontend
|
|
pnpm test
|
|
pnpm build
|
|
```
|
|
|
|
Kör även `git diff --check` och granska `git status --short`. Manuell lokal
|
|
verifiering av berörda flöden kompletterar, men ersätter inte, automatiska
|
|
tester.
|
|
|
|
Om ett befintligt test misslyckas av ett skäl utanför ändringens omfattning ska
|
|
det rapporteras; produktionskod ska inte ändras enbart för att dölja felet.
|