CLAUDE.md on Claude Coden vastine Cursorin .cursorrules-tiedostolle. Se on markdown-tiedosto projektin juuressa, joka kertoo Claudelle miten projektisi toimii, mitä konventioita noudatat ja mitä erityistä pitää huomioida. Hyvin kirjoitettu CLAUDE.md parantaa Clauden vastauksia merkittävästi.
CLAUDE.md on projektikohtainen ohjetiedosto, jonka Claude Code lukee automaattisesti. Se toimii "muistilappuna" Claudelle - kertoo projektisi säännöt, rakenteet ja käytännöt.
Miksi CLAUDE.md on tärkeä: - Claude noudattaa projektikohtaisia konventioita - Vähemmän vääriä oletuksia ja korjattavaa - Tiimin yhtenäiset käytännöt - Toimii projektin dokumentaationa kehittäjille
Missä CLAUDE.md voi olla: - Projektin juuressa (luetaan aina) - Alikansioissa (luetaan kun työskennellään kyseisessä kansiossa) - Kotihakemistossa ~/.claude/CLAUDE.md (globaalit ohjeet)
Claude yhdistää kaikki löytämänsä CLAUDE.md-tiedostot, joten voit käyttää eri tasoisia ohjeita.
Hyvä CLAUDE.md sisältää seuraavat osiot:
1. Projektin kuvaus - Mikä projekti on ja mitä se tekee 2. Teknologiat - Stack, versiot ja tärkeät kirjastot 3. Tärkeät komennot - Build, test, lint, deploy 4. Koodauskonventiot - Nimeämiskäytännöt, tyylit, rakenne 5. Projektirakenne - Kansioiden tarkoitukset 6. Säännöt ja kiellot - Mitä välttää
Pidä CLAUDE.md tiiviinä ja käytännöllisenä. Jokaisen rivin tulisi auttaa Claudea tekemään parempia päätöksiä.
# Projektin nimi
Lyhyt kuvaus: Mitä projekti tekee ja kenelle.
## Teknologiat
- Next.js 15 (App Router)
- TypeScript strict mode
- Tailwind CSS v4
- PostgreSQL + Drizzle ORM
## Tärkeät komennot
- `npm run dev` - kehityspalvelin
- `npm run build` - tuotantobuildi
- `npm test` - testit (Vitest)
- `npm run lint` - ESLint tarkistus
## Koodaustyyli
- Funktionaaliset komponentit, ei class-komponentteja
- Named exports, ei default exports
- camelCase muuttujille, PascalCase komponenteille
- Tiedostot: kebab-case.ts
## Projektirakenne
- src/app/ - Next.js sivut (App Router)
- src/components/ - React-komponentit
- src/lib/ - Apufunktiot ja konfiguraatiot
- src/db/ - Tietokantaskeemat ja migraatiot
## Säännöt
- Älä käytä any-tyyppiä
- Älä jätä console.log-lauseita
- Käytä server components oletuksena
- Kirjoita testit uusille funktioilleCLAUDE.md voi sisältää hyvinkin tarkkoja ohjeita. Mitä tarkempia ohjeet ovat, sitä paremmin Claude toimii:
Virheenkäsittely: Kerro miten projektissasi käsitellään virheitä.
API-käytännöt: Kerro API-endpointtien rakenne ja vastausmuoto.
Testauskäytännöt: Kerro mitä testikehystä käytetään ja miten testit rakennetaan.
## Virheenkäsittely
Käytä Result-patternia API-funktioissa:
```typescript
type Result<T> = { success: true; data: T } | { success: false; error: string }
```
## API-endpointit
Route handlerit kansiossa src/app/api/:
- Validoi input Zod-schemalla
- Palauta NextResponse.json()
- Käsittele virheet try-catchilla
- Logita virheet mutta älä paljasta niitä clientille
## Testaus
- Vitest yksikkötesteille
- Testit samaan kansioon: component.test.ts
- Käytä describe/it/expect syntaksia
- Mockkaa ulkoiset palvelutVoit käyttää CLAUDE.md-tiedostoja useilla tasoilla:
1. Globaali (~/.claude/CLAUDE.md): Ohjeet jotka pätevät kaikkiin projekteihin. Esimerkiksi henkilökohtaiset mieltymykset.
2. Projektin juuri (CLAUDE.md): Projektikohtaiset ohjeet. Tämä on tärkein taso.
3. Alikansiot (src/components/CLAUDE.md): Kansiokohtaiset ohjeet. Hyödyllinen suurissa projekteissa.
Claude yhdistää kaikki löytämänsä ohjeet automaattisesti. Tarkemmat ohjeet (alikansio) ylikirjoittavat yleisemmät (juuri).
# Esimerkki: Globaali ~/.claude/CLAUDE.md
# Kieli ja tyyli
- Vastaa suomeksi kun kysyn suomeksi
- Käytä TypeScript-tyyppejä aina
- Suosi funktionaalista ohjelmointia
# Esimerkki: Projektin juuri CLAUDE.md
# MyApp
SaaS-sovellus Next.js:llä.
[projektikohtaiset ohjeet...]
# Esimerkki: src/components/CLAUDE.md
# Komponentit
- Käytä Radix UI -primitiivejä
- Jokainen komponentti omaan kansioon
- index.ts re-exporttaa komponentinAloita pienestä: Ei tarvitse kirjoittaa täydellistä CLAUDE.md:tä kerralla. Aloita perusasioista ja lisää ohjeita sitä mukaa kun huomaat toistuvia ongelmia.
Päivitä säännöllisesti: Kun stack tai käytännöt muuttuvat, päivitä CLAUDE.md. Vanhentuneet ohjeet ovat pahempia kuin ei ohjeita ollenkaan.
Testaa toimivuus: Kokeile onko Claude Code noudattanut ohjeitasi. Jos ei, muotoile ohjeet selkeämmin.
Vältä näitä: - Liian pitkät tiedostot (yli 500 sanaa) - vie turhaan kontekstitilaa - Ristiriitaiset ohjeet - Claude ei tiedä kumpaa noudattaa - Itsestäänselvyydet - "kirjoita hyvää koodia" ei auta - Ohjeet joita Claude ei voi noudattaa - "testaa selaimessa"
Kyllä, Claude Code lukee CLAUDE.md-tiedoston automaattisesti kun se löytyy projektin juuresta, alikansiosta tai kotihakemistosta. Ei tarvitse konfiguroida erikseen.
Molemmat palvelevat samaa tarkoitusta eri työkaluille. CLAUDE.md on Claude Coden ohjetiedosto, .cursorrules on Cursorin vastaava. Voit pitää molemmat projektissa rinnakkain.
Teknistä rajaa ei ole, mutta suositus on alle 500 sanaa. Liian pitkä tiedosto vie kontekstitilaa ja voi hämmentää Claudea. Keskity olennaisimpiin ohjeisiin.
Opi miten Clauden agenttinen toiminta toimii - anna Clauden suunnitella ja toteuttaa monivaiheisia tehtäviä.
Opas MCP-palvelinten (Model Context Protocol) käyttöön - laajenna Claude Codea uusilla työkaluilla.
Opas Claude Coden käyttöön tiimeissä - jaetut konfiguraatiot, hooks ja parhaat käytännöt.
Löydä lisää vinkkejä ja oppaita Claude Coden tehokäyttöön.
Kaikki Claude Code -oppaat