Files
hemhub/docs/development.md
2026-07-26 14:48:05 +02:00

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

  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:

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.