När du jobbar med Claude Code startar varje ny session med ett tomt minne. Det spelar ingen roll hur bra du förklarade allt i förra sessionen — Claude vet ingenting om ditt projekt, dina preferenser eller dina regler nästa gång du öppnar en chatt.
Det här är inte ett bug, det är hur stora språkmodeller fungerar. Varje konversation är isolerad. Resultatet utan en lösning:
CLAUDE.md är lösningen. Det är en Markdown-fil som Claude läser automatiskt varje gång den startar en ny session i ditt projekt. Tänk på det som en lapp du lämnar till en ny medarbetare:
"Så här jobbar vi. Det här är projektet. Det här är reglerna. Rör inte den här filen."
Claude läser lappen innan ni börjar — och slipper gissa.

Utan filen tvingas Claude gissa hur du vill ha det. Den kommer:
Med en välskriven CLAUDE.md får Claude all kontext direkt och kan hoppa på och börja jobba utan att du behöver repetera dig.
Det finns två distinkta nivåer av CLAUDE.md-filer, och du behöver förstå skillnaden för att använda dem rätt.
Ligger i roten av ditt projekt (samma mapp som din kod). Gäller bara för det projektet.
Typiskt innehåll:
npm run dev, npm run build, etc.)Ligger på din dator (i ~/.claude/CLAUDE.md på Mac/Linux). Gäller för alla projekt och sessioner du någonsin startar.
Typiskt innehåll:

Om du har en regel i både global och projektspecifik CLAUDE.md vinner den projektspecifika — den är mer specifik och relevant för det du jobbar med just nu. Det innebär att du kan ha globala standarder och sedan overrida dem per projekt.
Praktisk tumregel: Allt som gäller bara ett projekt → projektspecifik fil. Allt du alltid vill ha oavsett projekt → global fil.
En välskriven CLAUDE.md är kortfattad men komplett. Videon rekommenderar max 200 rader — håll dig till det. En för lång fil gör att Claude tappar fokus på det viktigaste.
# Projektöversikt
En kort e-handelsplattform för begagnade böcker byggd med Next.js 14,
Supabase och Stripe. Driftsatt på Vercel.
## Tech Stack
- Frontend: Next.js 14 (App Router), TypeScript, Tailwind CSS
- Backend: Supabase (auth + databas)
- Betalningar: Stripe
- Bildhantering: Cloudinary
## Viktiga kommandon
- `npm run dev` — starta lokalt på port 3000
- `npm run build` — bygg för produktion
- `npm run test` — kör testsuite
## Kodkonventioner
- Använd TypeScript strict mode
- Komponenter i /components, sidor i /app
- Alltid hantera loading och error states
- Inga inline styles — använd Tailwind
## Regler och fallgropar
- Spara ALDRIG API-nycklar eller secrets i koden
- Rör inte /lib/auth.ts utan att fråga mig först
- Produktbilder hanteras via Cloudinary, inte lokala filer
- Stripe webhooks är känsliga — ändra inte utan genomgång
## Arbetssätt
- Fråga alltid innan du gör stora strukturella ändringar
- Föreslå uppdatering av CLAUDE.md när något viktigt ändras
- Svara alltid på engelska i detta projekt
| Sektion | Varför det är viktigt |
|---|---|
| Projektbeskrivning | Claude förstår syftet och kan fatta bättre beslut |
| Tech stack | Claude väljer rätt bibliotek och mönster automatiskt |
| Kommandon | Claude kan köra rätt kommandon utan att gissa |
| Kodkonventioner | Konsekvent kodstil utan att du behöver påminna |
| Förbjudna åtgärder | Skyddar känsliga delar av kodbasen |
| Arbetssätt | Styr hur Claude kommunicerar med dig |
Du behöver inte skriva CLAUDE.md för hand. Lägg in en instruktion i filen som säger att Claude alltid ska fråga dig om den ska uppdatera CLAUDE.md efter stora förändringar:
## Meta-instruktioner
När du gör en stor förändring i projektet, fråga alltid om du ska
uppdatera CLAUDE.md med den nya informationen. Uppdatera aldrig
automatiskt utan att fråga.
Detta gör att din CLAUDE.md växer organiskt med projektet — Claude håller den levande åt dig.

Bolla med Claude om hur din CLAUDE.md ska se ut. Det är Claude som vet bäst hur filen bör vara strukturerad för att den ska kunna jobba optimalt. Skriv: "Hjälp mig skapa en CLAUDE.md för ett projekt som [beskriv projektet]. Vad bör den innehålla?" — och låt Claude göra jobbet.
Om du redan har ett befintligt projekt utan CLAUDE.md är det enklaste sättet att använda det inbyggda kommandot /init.
När du skriver /init i Claude Code analyserar Claude hela din projektstruktur — filer, mappar, befintlig kod, package.json, konfigurationsfiler — och genererar en CLAUDE.md som passar just ditt projekt.
Viktigt: /init kräver att det finns tillräckligt med material att analysera. På ett tomt projekt med bara en fil kommer Claude säga att det inte finns tillräckligt underlag. Bygg lite först, kör sedan /init.

1. Öppna ditt projekt i Claude Code
2. Skriv: /init
3. Claude analyserar projektstrukturen
4. Claude genererar ett förslag på CLAUDE.md
5. Du granskar och godkänner (eller tweakar)
6. Filen sparas i projektroten
Efter det är CLAUDE.md aktiv — varje ny session i det här projektet läser filen automatiskt.
Om /init inte ger tillräckligt bra resultat (t.ex. på ett nytt projekt), kan du beskriva projektet och be Claude skriva filen:
Jag ska bygga [beskriv projektet]. Tech stack är [lista].
Jag vill att du alltid [preferenser]. Skriv en CLAUDE.md
för det här projektet.
Claude skriver filen, du sparar den som CLAUDE.md i projektroten.
För att uppdatera din globala CLAUDE.md, be Claude:
Uppdatera min globala CLAUDE.md och lägg till att jag alltid
vill ha svar på engelska i alla projekt.
Claude hittar filen, läser den och lägger till det du vill ha — du behöver inte veta exakt var filen ligger.
En CLAUDE.md som aldrig uppdateras tappar snabbt värde. Projektet förändras, du lär dig vad som fungerar, och filen måste hänga med. Här är de mönster som gör att din fil faktiskt håller sig relevant.
Lägg in denna instruktion i din CLAUDE.md:
Efter varje stor förändring i projektet (ny feature, ny dependency,
arkitekturförändring), fråga alltid: "Vill du att jag uppdaterar
CLAUDE.md med denna information?"
Resultat: Claude håller filen uppdaterad utan att du behöver komma ihåg det.
När Claude gör något du inte gillar — stoppa inte bara det aktuella beteendet. Säg:
Gör inte såhär. Notera detta i CLAUDE.md under "Regler"
så att det aldrig händer igen.
Detta omvandlar varje frustration till en permanent förbättring av din arbetsupplevelse.
Om du lägger till en regel på projektnivå och sedan bestämmer att den ska gälla globalt:
Flytta regeln om [X] från projektets CLAUDE.md till min
globala CLAUDE.md, och ta bort den från projektnivå
eftersom den nu täcks globalt.
Claude hanterar båda filerna åt dig.
Om du är osäker på hur din CLAUDE.md bör se ut, fråga Claude direkt:
Titta på min nuvarande CLAUDE.md. Vad saknas? Vad är onödigt?
Hur kan vi förbättra den för att du ska kunna jobba mer effektivt?
Claude vet bäst hur den vill ha sin egen instruktionsfil strukturerad.

Låt aldrig Claude uppdatera CLAUDE.md automatiskt utan att fråga dig. Instruera alltid Claude att föreslå uppdateringar och vänta på ditt godkännande. Annars kan filen fyllas med instruktioner du inte vill ha — och det kan vara svårt att märka förrän Claude beter sig konstigt.
Skapa en CLAUDE.md för ditt nuvarande eller nästa projekt
Nu är det dags att faktiskt sätta upp din CLAUDE.md. Du ska antingen använda /init på ett befintligt projekt, eller be Claude skriva en från scratch för ett projekt du planerar.
Du jobbar på ett Next.js-projekt med Stripe-integration. Under en session märker du att Claude börjar lägga till hårdkodade test-API-nycklar direkt i koden. Du stoppar det, men vill säkerställa att det aldrig händer igen — varken i den här sessionen eller i framtida sessioner.
Beskriv exakt vad du skriver till Claude för att (1) stoppa det aktuella beteendet, (2) säkerställa att det aldrig händer igen via CLAUDE.md, och (3) kontrollera att uppdateringen faktiskt gjordes korrekt.