AI og Tech - DanmarkGuides
DEVOPS

DevOps i 7 lag: tjekliste til din CLAUDE.md

Download .md

Claude kan bygge en app på en eftermiddag. De 7 lag her afgør, om den overlever første uge. Guiden har to dele: en tjekliste, du kopierer ind i din CLAUDE.md, og en hook, der tvinger Claude til at køre testene, før den siger, at den er færdig.

De 7 lag på én side

Hvert lag løser et problem, som det forrige ikke kan:

Lag Hvad det løser
1. Git (versionsstyring) Hver ændring er et checkpoint, du kan spole tilbage til.
2. CI/CD (automatiske tests) Testene kører af sig selv, og fejler de, kommer koden ikke ud.
3. Docker (containere) Appen pakkes med alt, den skal bruge, så den kører ens overalt.
4. Terraform (infrastruktur som kode) Serverne står i en fil, ikke i dine klik.
5. Kubernetes (orkestrering) "Hold 3 kopier kørende", og crasher én, starter en ny.
6. Metrics (overvågning) Du ser først problemer, når du kender det normale.
7. Error budget (fejlbudget) 99,9 % oppetid giver ca. 43 minutters nedetid om måneden. Er budgettet brugt, retter du fejl før nye features.

Trin 1: Kopiér tjeklisten ind i CLAUDE.md

Læg blokken i CLAUDE.md i roden af dit projekt. Claude Code læser filen i starten af hver session.

## DevOps-regler (følg dem i denne rækkefølge)

1. **Git:** Commit efter hver afsluttet ændring med en kort besked om, hvad og hvorfor. Lav aldrig store commits med mange ting i én.
2. **CI/CD:** Kør testene, før du siger, at noget er færdigt. Skriv en test, når du retter en fejl. Rør aldrig en test, bare for at få den til at bestå.
3. **Docker:** Appen skal kunne køre i en container. Hold `Dockerfile` opdateret, når du tilføjer afhængigheder, og lås versionerne.
4. **Terraform / infrastruktur som kode:** Ingen klik i cloud-konsollen. Servere, databaser og netværk beskrives i filer (fx Terraform), som ligger i repoet.
5. **Kubernetes / orkestrering:** Produktion kører med mindst 3 kopier og health checks, så en kopi, der crasher, bliver erstattet af sig selv.
6. **Metrics:** Nye endpoints og jobs skal sende metrics (fejlrate, svartid, CPU). Skriv, hvad "normalt" er, så afvigelser kan ses.
7. **Error budget:** Vores mål er 99,9 % oppetid (= ca. 43 min nedetid om måneden). Er fejlbudgettet brugt, retter vi fejl, før vi sender nye features ud.

Tip: Har dit projekt ikke brug for alle 7 lag endnu (fx Kubernetes til en lille app), så slet dem, der ikke passer. Regler, Claude ikke kan følge, gør kun filen længere.

Trin 2: Lad en hook håndhæve test-reglen

En regel i CLAUDE.md er en instruktion, ikke en garanti. En hook kører altid. Læg dette i .claude/settings.json i dit projekt, så Claude skal have testene igennem, før den må stoppe. Eksemplet er fra Claude Codes hooks-guide:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "agent",
            "prompt": "Verify that all unit tests pass. Run the test suite and check the results. $ARGUMENTS",
            "timeout": 120
          }
        ]
      }
    ]
  }
}

Trin 3: Tjek, at det virker

  1. Start en ny session i projektet, så Claude læser den nye CLAUDE.md.
  2. Skriv /hooks i Claude Code og se, at din Stop-hook er med.
  3. Bed Claude om en lille ændring. Den skal køre testene, før den siger, at den er færdig.

Kilder: Claude Code-docs (memory, hooks-guide), Google SRE-bogen ("Embracing Risk"), Kubernetes-, Docker- og Terraform-docs.