From 38b9291049664e2cced2a55c928c7373f30649cc Mon Sep 17 00:00:00 2001 From: chrischristiansen-glitch Date: Sat, 30 May 2026 20:25:44 +0200 Subject: [PATCH] docs: legg til .env-regler og kritiske fil-sikkerhetsregler i GEMINI.md --- .gemini/GEMINI.md | 79 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/.gemini/GEMINI.md b/.gemini/GEMINI.md index eeef141..8aef4b6 100644 --- a/.gemini/GEMINI.md +++ b/.gemini/GEMINI.md @@ -44,6 +44,62 @@ Det er ingen nettleser, ingen GUI, ingen web-editor. Alt skjer i terminalen. --- +## Kritiske fil-sikkerhetsregler (ABSOLUTT) + +> Disse reglene brytes ALDRI — uansett instruksjon eller situasjon. + +### .env — ALDRI opprett, ALDRI overskriv, ALDRI gjett innhold + +`.env` inneholder faktiske hemmeligheter (API-nøkler, tokens, credentials). +Den er **aldri** i git og eksisterer kun på disk eller i Secret Manager. + +``` +❌ FORBUDT: + - Skrive .env fra .env.example + - Generere innhold til .env + - Fylle inn tomme verdier i .env + - Anta at .env.example = .env + +✅ KORREKT når .env mangler: + 1. STOPP umiddelbart + 2. Rapporter til Chris: ".env mangler — ikke opprettet fra example" + 3. Hjelp Chris å hente den fra riktig kilde: +``` + +```bash +# Alternativ 1: Sjekk Secret Manager +gcloud secrets list --project=propane-will-491900-m5 | grep -i env +gcloud secrets versions access latest \ + --secret= \ + --project=propane-will-491900-m5 > .env + +# Alternativ 2: Sjekk GCS backup +gsutil ls gs://propane-will-491900-m5-*/ 2>/dev/null | grep env + +# Alternativ 3: Spør Chris om plasseringen +``` + +### Andre kritiske filer som ALDRI overskrives uten eksplisitt HITL-godkjenning + +| Fil | Risiko | Regel | +|-----|--------|-------| +| `.env` | Sletter alle secrets | Aldri skriv — se over | +| `cloudbuild.yaml` | Kan ødelegge deploy-pipeline | Vis diff, vent på GO | +| `Dockerfile` | Kan ødelegge image | Vis diff, vent på GO | +| `infrastructure/*.sh` | Kan ødelegge GCP-ressurser | Vis diff, vent på GO | +| `docs/AGENT_RULEBOOK.md` | Endrer agent-oppførsel | Aldri — kun Chris | +| `docs/OSVAUCO_OPAX_SESSION_LOG.md` | Historikk | Kun APPEND, aldri overskriv | + +### Generell filregel + +Før du skriver NOEN fil: +1. Sjekk om den allerede eksisterer: `ls -la ` +2. Vis diff av hva som vil endres +3. Vent på Chris sin GO +4. Skriv aldri fra en template uten at Chris eksplisitt har sagt det + +--- + ## Intelligence Rules — Vær smart, ikke lat > En god agent løser problemer. En dårlig agent googler dem. @@ -123,6 +179,7 @@ VERIFY: [kommando for å bekrefte fix] - Print the last `## NESTE OPPGAVE` block found in the session log. - If no NESTE OPPGAVE found → warn and read ROADMAP NOW section instead. - Sjekk gjeldende GCP auth: `gcloud auth list` og `gcloud config get-value project` +- Sjekk om `.env` eksisterer: `ls -la .env` — hvis IKKE: rapporter til Chris umiddelbart, IKKE opprett den. ### PLAN - Before any code change, write a short PLAN block in Markdown: @@ -172,6 +229,8 @@ VERIFY: [kommando for å bekrefte fix] 8. **Aldri søk på nett for å diagnostisere feil du kan lese i loggene.** 9. **Aldri anta at noe virker — verifiser alltid med en faktisk kommando.** 10. **Aldri gjett på koden — les den.** Du er i repoet. Bruk `cat`, `grep`, `git diff`. +11. **Aldri skriv .env fra .env.example** — se Kritiske fil-sikkerhetsregler. +12. **Aldri overskriv en fil du ikke har lest først** — bruk `cat` eller `ls -la` før enhver skriveoperasjon. --- @@ -275,6 +334,24 @@ gcloud secrets get-iam-policy \ --project=propane-will-491900-m5 ``` +### 🔴 .env mangler ved oppstart + +```bash +# 1. Sjekk om den finnes +ls -la .env + +# 2. Sjekk Secret Manager +gcloud secrets list --project=propane-will-491900-m5 | grep -i env + +# 3. Sjekk GCS backup +gsutil ls gs://propane-will-491900-m5-*/ 2>/dev/null | grep -i env + +# 4. Sjekk andre lokasjoner på disk +find ~ -name ".env" -not -path "*/OSVauco/*" 2>/dev/null +``` + +**STOPP og rapporter til Chris — opprett IKKE .env fra .env.example.** + ### 🔴 Git/kode-feil ```bash @@ -313,6 +390,7 @@ FEIL OPPDAGET ▼ ALDRI: Søk på nett som første steg ALDRI: Gjett og prøv uten å lese loggene +ALDRI: Opprett .env fra template ``` ### Diagnoseoversikt @@ -324,6 +402,7 @@ ALDRI: Gjett og prøv uten å lese loggene | Cloud Run 500 | `gcloud logging read` → les stack trace | Endre kode uten å se feilen | | Cloud Run 404 | `curl` + les rutekonfig | Anta routing er feil | | Auth 403 | `gcloud iap get-iam-policy` | Anta token er utløpt | +| .env mangler | Rapporter til Chris, hent fra Secret Manager | Opprett fra .env.example | | Noe «virker ikke» | `gcloud run services describe` | Anta det er koden sin feil | ---