docs: legg til .env-regler og kritiske fil-sikkerhetsregler i GEMINI.md
This commit is contained in:
parent
dc2f5e6288
commit
38b9291049
|
|
@ -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=<env-secret-navn> \
|
||||||
|
--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 <fil>`
|
||||||
|
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
|
## Intelligence Rules — Vær smart, ikke lat
|
||||||
|
|
||||||
> En god agent løser problemer. En dårlig agent googler dem.
|
> 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.
|
- Print the last `## NESTE OPPGAVE` block found in the session log.
|
||||||
- If no NESTE OPPGAVE found → warn and read ROADMAP NOW section instead.
|
- 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 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
|
### PLAN
|
||||||
- Before any code change, write a short PLAN block in Markdown:
|
- 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.**
|
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.**
|
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`.
|
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 <SECRET_NAME> \
|
||||||
--project=propane-will-491900-m5
|
--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
|
### 🔴 Git/kode-feil
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -313,6 +390,7 @@ FEIL OPPDAGET
|
||||||
▼
|
▼
|
||||||
ALDRI: Søk på nett som første steg
|
ALDRI: Søk på nett som første steg
|
||||||
ALDRI: Gjett og prøv uten å lese loggene
|
ALDRI: Gjett og prøv uten å lese loggene
|
||||||
|
ALDRI: Opprett .env fra template
|
||||||
```
|
```
|
||||||
|
|
||||||
### Diagnoseoversikt
|
### 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 500 | `gcloud logging read` → les stack trace | Endre kode uten å se feilen |
|
||||||
| Cloud Run 404 | `curl` + les rutekonfig | Anta routing er feil |
|
| Cloud Run 404 | `curl` + les rutekonfig | Anta routing er feil |
|
||||||
| Auth 403 | `gcloud iap get-iam-policy` | Anta token er utløpt |
|
| 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 |
|
| Noe «virker ikke» | `gcloud run services describe` | Anta det er koden sin feil |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user