Projektkontext
CLAUDE.md
Projektkontext als Schlüssel zu gutem Output
Dein Projekt-Briefing für Claude
CLAUDE.md ist eine spezielle Datei im Root deines Projekts. Claude liest sie automatisch und kennt damit den Kontext deines Projekts – ohne dass du es jedes Mal erklären musst.
Warum CLAUDE.md?
Stell dir vor, du hast einen neuen Kollegen. Jeden Tag musst du erklären: "Das ist Rails, wir nutzen Hotwire, hier sind die Konventionen..." Anstrengend, oder?
Mit CLAUDE.md schreibst du das einmal auf. Claude liest es automatisch bei jeder Session und kennt den Kontext.
Ohne CLAUDE.md
"Wir nutzen Rails 8 mit Hotwire. Tailwind für Styling. Tests mit Minitest. Konventionen sind..."
→ Jedes Mal erklären
Mit CLAUDE.md
"Füge Validierung zum User-Model hinzu."
→ Claude kennt den Kontext
Grundstruktur
Eine gute CLAUDE.md enthält:
# Projektname Kurze Beschreibung des Projekts. ## Tech Stack - Ruby 3.3 / Rails 8 - SQLite - Hotwire (Turbo + Stimulus) - Tailwind CSS ## Architektur Beschreibe die wichtigsten Teile: - Models: User, Post, Comment - Hauptflows: Authentication, Posting ## Konventionen - Tests mit Minitest - Kein Devise, eigene Magic Link Auth - Service Objects im app/services/ Ordner ## Commands ```bash bin/dev # Server starten bin/rails test # Tests laufen ```
Was gehört rein?
1. Tech Stack
Welche Technologien nutzt du? Versionen sind wichtig.
2. Domain Model
Die wichtigsten Models und ihre Beziehungen. Ein ASCII-Diagramm hilft:
3. Konventionen
Wie ihr Dinge macht. Beispiele:
- "Wir nutzen Service Objects für komplexe Business Logic"
- "Keine Callbacks in Models – explizite Aufrufe"
- "Tests sind Pflicht für neue Features"
4. Commands
Wie man das Projekt startet, testet, deployed.
Fortgeschrittene Patterns
Personas definieren
Gib Claude eine Rolle, die zum Projekt passt:
## Persona
Du bist ein Senior Rails Developer mit 10+ Jahren Erfahrung.
Du kennst die Rails-Konventionen und wendest sie konsequent an.
Du schreibst sauberen, getesteten Code.
Wenn du unsicher bist, fragst du nach bevor du handelst.
Projekt-Glossar
Domain-spezifische Begriffe definieren:
## Glossar
- **Tenant**: Ein Kunde/Account in unserem Multi-Tenant System
- **Workspace**: Bereich innerhalb eines Tenants
- **Member**: User mit Zugang zu einem Workspace
Verbotene Patterns
Explizit sagen, was du NICHT willst:
## Anti-Patterns (NICHT verwenden)
- Keine Callbacks in Models (außer Timestamps)
- Keine before_action für Business Logic
- Keine Service Objects für Simple CRUD
- Kein Devise (wir nutzen eigene Auth)
Response-Templates
Standardisiere Claudes Antworten:
## Response Format
Bei Code-Änderungen:
1. Zeige ERST was du ändern willst
2. Erkläre WARUM
3. Führe dann aus
Bei Fehlern:
1. Analysiere die Ursache
2. Zeige Lösungsoptionen
3. Warte auf meine Entscheidung
CLAUDE.md aktuell halten
Tipp
"Wir haben gerade Feature X hinzugefügt. Update die CLAUDE.md entsprechend."
Gute Zeitpunkte zum Updaten:
- Neues Model oder wichtiges Feature
- Neue Konvention eingeführt
- Tech Stack geändert
Wichtig
Keine Secrets in CLAUDE.md! Die Datei gehört ins Git-Repository und sollte keine API Keys oder Passwörter enthalten.
Weiterführend: Skills, Agents & Commands
CLAUDE.md ist der Anfang. Für wiederkehrende Workflows und spezialisierte Aufgaben gibt es noch mehr Möglichkeiten:
- Commands – Wiederholbare Prompts als Slash-Befehle
- Skills – Domänen-Wissen mit strukturierten Workflows
- Agents – Spezialisierte Assistenten für isolierte Tasks
Mehr dazu im Artikel Skills, Agents & Commands.
Zusammenfassung
- CLAUDE.md ist dein Projekt-Briefing – einmal schreiben, immer verfügbar
- Tech Stack, Domain Model, Konventionen – das Wichtigste dokumentieren
- Personas und Anti-Patterns – steuere Claudes Verhalten
- Aktuell halten – lass Claude selbst updaten