2.3 KiB
2.3 KiB
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. - 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
- Uppdatera
main. - Välj nästa feature från roadmapen och dokumentera först eventuell ändring av planen.
- Skapa en avgränsad branch.
- Skapa eller uppdatera feature-dokumentet.
- Implementera specifikationen.
- Kör relevanta automatiska tester och bygge.
- Gör manuell verifiering där det är relevant.
- Uppdatera dokumentationen så att den beskriver den faktiska lösningen.
- Commit och push efter uttrycklig instruktion.
- Merge efter verifiering.
- Radera den mergade branchen.
Verifiering före merge
För nuvarande projekt bör verifieringen normalt omfatta:
cd backend
./mvnw test
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.