From d135aa643adf19db21bd140812bbbbd26a5ed54e Mon Sep 17 00:00:00 2001 From: Nils-Johan Gynther Date: Tue, 12 May 2026 16:15:37 +0200 Subject: [PATCH] feat: enhance pre-commit quality gate with detailed analysis and output format --- filanalys.md | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/filanalys.md b/filanalys.md index a63afec0..b86b9e3b 100644 --- a/filanalys.md +++ b/filanalys.md @@ -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). +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: 1. Primärt: analysera alla staged filer. 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. - 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: --- @@ -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. - 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). +- 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** - **Backend**: NestJS + Prisma + MariaDB (Docker-container). - **Frontend**: Next.js + TypeScript. -- **Mål**: Förbereda för produktion, minska teknisk skuld, säkra känslig data. \ No newline at end of file +- **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". \ No newline at end of file