CLAUDE.md för en webbapp med TypeScript och Postgres
En projektinstruktion som ger agenten det den behöver för att bidra som en ny kollega dag ett: kommandon, struktur, konventioner och vad den aldrig får göra.
- Typ
- Instruktionsfil
- Område
- Kod
- Verktyg
- Claude Code
- Uppdaterad
- 8 september 2026
CLAUDE.md
# Projekt: Bokningstjänsten
Webbapp för bokning av tider. Next.js App Router, TypeScript, Postgres via
Drizzle, Tailwind. Driftas på Vercel. Svenska i UI och i all text som
användare ser, engelska i kod och commit-meddelanden.
## Kommandon
- Installera: `pnpm install`
- Utveckling: `pnpm dev` (port 3000)
- Typkontroll: `pnpm typecheck`
- Tester: `pnpm test` (Vitest). Ett enskilt test: `pnpm test -- <sökväg>`
- Lint och format: `pnpm lint` och `pnpm format`
- Databas: `pnpm db:migrate` kör migrationer, `pnpm db:studio` öppnar Drizzle Studio
- Innan du säger att något är klart: `pnpm typecheck && pnpm lint && pnpm test`
## Struktur
- `app/` routes och layouts. Server components som standard.
- `components/` delade UI-komponenter. En komponent per fil.
- `lib/` domänlogik utan React. All databasåtkomst går via `lib/db/`.
- `db/schema.ts` är sanningen om datamodellen. Migrationer i `db/migrations/`.
- `tests/` speglar `lib/` och `app/`.
## Konventioner
- Lägg "use client" bara på komponenter som faktiskt behöver state, effekter
eller webbläsar-API:er. Hämta data i server components.
- Validera all indata från klienten med Zod i `lib/validation/` innan den
rör databasen.
- Fel: kasta `AppError` från `lib/errors.ts` med en användarvänlig svensk
text. Logga aldrig personuppgifter.
- Datum: lagra som UTC, visa i Europe/Stockholm med `lib/time.ts`. Använd
aldrig `new Date()` direkt i komponenter.
- Formatera pengar med `formatSEK` i `lib/format.ts`.
- Inga nya beroenden utan att fråga. Om du föreslår ett, säg varför och
hur stort det är.
## Tester
- Skriv test för domänlogik i `lib/` innan du skriver koden när uppgiften
är en bugg. Testet ska fallera först.
- Mocka inte databasen i integrationstester. Använd testdatabasen som
`pnpm test` startar.
- Ändra inte befintliga tester för att få dem gröna utan att förklara
varför testet var fel.
## Git
- Arbeta på en gren, aldrig direkt på main.
- Små commits med beskrivande meddelande på engelska i imperativ:
"Add cancellation window to booking form".
- Kör inte `git push --force`, `git reset --hard` eller något som raderar
arbete utan att fråga först.
## Gör inte
- Rör inte `db/migrations/` som redan är körda. Skapa nya.
- Ändra inte `.env*`. Säg vilka variabler som behövs.
- Ta inte bort loggning eller felhantering för att "förenkla".
- Skriv inte kommentarer som beskriver vad koden gör. Skriv kommentarer
som förklarar varför, när det inte är uppenbart.
## När du är osäker
Fråga hellre än att gissa när det gäller datamodellen, betalningar eller
allt som rör personuppgifter. För UI-detaljer: välj det som liknar
befintliga sidor mest och nämn valet i din sammanfattning.
När den gör nytta
- Första dagen du använder Claude Code i ett befintligt projekt.
- När agenten gång på gång gör samma fel: kör fel testkommando, lägger filer på fel plats.
- När flera personer i teamet kör agenter mot samma repo och behöver samma spelregler.
Så installerar du
- Claude Code
- Spara som CLAUDE.md i projektets rot. Om du redan har en AGENTS.md räcker en CLAUDE.md med raden @AGENTS.md.
Om instruktionsfiler
CLAUDE.md eller AGENTS.md i projektets rot. Talar om hur just det här projektet fungerar innan agenten rör en fil.
Närliggande
AGENTS.mdInstruktionsfil ~/.claude/CLAUDE.mdInstruktionsfil SKILL.mdSkill
AGENTS.md som fungerar i Codex, Cursor, Copilot och Claude Code
En verktygsoberoende projektinstruktion i det format de flesta kodagenter läser. Kort nog att faktiskt läsas, konkret nog att göra skillnad.
Personlig CLAUDE.md: så vill jag att du jobbar
Instruktioner som följer med dig mellan alla projekt: språk, hur du vill ha sammanfattningar, hur försiktig agenten ska vara och vad den ska sluta göra.
Kodgranskning som hittar buggar, inte stilfel
Granskar en diff eller pull request med fokus på korrekthet, säkerhet och saker som går sönder i produktion. Stilfrågor lämnas till linters.