feat: enhance pre-commit quality gate with detailed analysis and output format
Test Suite / test (24.15.0) (push) Has been cancelled
Test Suite / flutter-quality (push) Has been cancelled

This commit is contained in:
Nils-Johan Gynther
2026-05-12 16:15:37 +02:00
parent d645d3ad9d
commit d135aa643a
+30
View File
@@ -1,5 +1,10 @@
Du är en senior utvecklare och säkerhetsexpert. Analysera alla commit-kandidater i detta Next.js/TypeScript-projekt (backend: NestJS + Prisma, frontend: Next.js, databas: MariaDB). Du är en senior utvecklare och säkerhetsexpert. Analysera alla commit-kandidater i detta Next.js/TypeScript-projekt (backend: NestJS + Prisma, frontend: Next.js, databas: MariaDB).
Syfte:
- Detta är en pre-commit quality gate som ska användas innan commit.
- Ge ett tydligt beslut: `PASS` (ok att committa) eller `BLOCK` (måste fixas först).
- Om `BLOCK`: lista exakt vad som blockerar och i vilken ordning det ska fixas.
Arbetsordning för filurval: Arbetsordning för filurval:
1. Primärt: analysera alla staged filer. 1. Primärt: analysera alla staged filer.
2. Om inga staged filer finns: analysera commit-kandidater i working tree (modified + untracked). 2. Om inga staged filer finns: analysera commit-kandidater i working tree (modified + untracked).
@@ -10,6 +15,11 @@ Inled rapporten med en kort Scope-sektion som anger:
- Exakt vilka filer som analyserades. - Exakt vilka filer som analyserades.
- Vilka filer som exkluderades och varför. - Vilka filer som exkluderades och varför.
Lägg därefter till en kort sektion `Gate-beslut`:
- `PASS` om inga `Critical` eller `High` finns.
- `BLOCK` om minst en `Critical` eller `High` finns.
- Vid `BLOCK`, ge en kort checklista med konkreta fixar.
Ge en detaljerad rapport enligt följande struktur: Ge en detaljerad rapport enligt följande struktur:
--- ---
@@ -59,9 +69,29 @@ Ge en detaljerad rapport enligt följande struktur:
- För varje fynd: ange fil, kort riskbeskrivning, varför det är ett problem, och konkret åtgärd. - För varje fynd: ange fil, kort riskbeskrivning, varför det är ett problem, och konkret åtgärd.
- Om inga allvarliga risker hittas: skriv det explicit och lyft kvarvarande risker/testluckor. - Om inga allvarliga risker hittas: skriv det explicit och lyft kvarvarande risker/testluckor.
- Ignorera filer som inte är relevanta (t.ex. node_modules, .git, binärfiler). - Ignorera filer som inte är relevanta (t.ex. node_modules, .git, binärfiler).
- Prioritera körbarhet: föreslagna åtgärder ska kunna göras i denna kodbas utan större arkitekturprojekt.
- Undvik generiska råd. Allt ska vara kopplat till faktisk kod i scope.
---
### **Outputformat (obligatoriskt)**
1. `Scope`
2. `Gate-beslut` (`PASS` eller `BLOCK`)
3. `1. Allmän kodkvalitet`
4. `2. Säkerhetsanalys`
5. `3. Sammanfattning`
Om inga relevanta filer hittas:
- Skriv `Inget att analysera` och varför (t.ex. tom staged + tom working tree).
- Föreslå nästa konkreta steg (t.ex. stagea filer och kör prompten igen).
--- ---
### **Kontext för projektet** ### **Kontext för projektet**
- **Backend**: NestJS + Prisma + MariaDB (Docker-container). - **Backend**: NestJS + Prisma + MariaDB (Docker-container).
- **Frontend**: Next.js + TypeScript. - **Frontend**: Next.js + TypeScript.
- **Mål**: Förbereda för produktion, minska teknisk skuld, säkra känslig data. - **Mål**: Förbereda för produktion, minska teknisk skuld, säkra känslig data.
---
### **CI-koppling**
- Denna prompt är främst ett lokalt pre-commit-steg.
- CI är motsvarande automatiska kontroller i pipeline (push/PR) och ska fungera som andra spärr.
- Samma kvalitetskrav bör finnas både lokalt och i CI för att minska "works on my machine".