- Was sind Claude Code-Regeln?
- CLAUDE.md-Dateiorte und -Bereiche
- Was in CLAUDE.md gehört
- Pfadbezogene Regeln mit .claude/rules/
- settings.json vs CLAUDE.md
- Auto-Speicher: Claudes Notizen
- Best Practices für agentisches Codieren
- Verwenden von Open-Source-Modellen mit Ihrer Regelkonfiguration
- Häufig gestellte Fragen (FAQ)
- Empfohlene Artikel
Claude Code-Regeln befinden sich in CLAUDE.md- Dateien – Markdown-Dateien, die Sie in Ihrem Projekt-Rpositorium, Ihrem Hme-Verzeichnis oder Ihrer Organisatonskonfiguration ablegen und die Claude zu Beginn jeder Sitzung liest. In Kombination mit pfadbezogenen Regeln in .claude/rules/, einer settings.json für Berechtigungen und einem Auto-Speicher für gelernte Präferenzen bietet das Regelsystem eine präzise, dauerhafte Kontrolle darüer, wie der Codierungsagent bei jeder Aufgabe agiert.
Was sind Claude Code-Regeln?
Jede Claude Cod e-Sitzung beginnt mit einem leerem Kontextfenster. Regeln sind die Art und Weise, wie Sie den Kontext vorladen, den Claude benötigt, dam it er nicht bei Null anfängt – oder denselben Fehler zweimal macht.
Zwei sich ergänzende Systeme übernehmen dies:
CLAUDE.md-Dateien sind Markdown-Dateien, die Sie schreiben und die Claude zu Beginn jeder Sitzung liest. Verwenden Sie sie für Anweisungen, die immer gelten sollen: Build-Befehle, Code-Konventionen, Architektur-Entscheidungen, harte Einschränkungen.
Auto-Speicher sind Notizen, die Claude selbst schreibt, basierend auf Korrekturen und Vorlieben, die Sie ihm während der Sitzungen geben. Diese sammeln sich automatisch an; Claude entscheidet, was es wert ist, gespeichert zu werden, und liest diese Notizen in zukünftigen Sitzungen wieder ein.
Beide werden zu Sitzungsbeginn in den Kontext geladen, sind jedoch keine erzwungene Konfiguration. Sie sind Anweisungen, die Claude als Kontext befolgt. Für eine harte Durchsetzung – das Blockieren eines bestimmten Befehls unabhängig davon, was Claude zu tun beschließt – benötigen Sie einen PreToolUse-Hook oder eine deny-Regel in settings.json. Der Unterschied ist wichtig für autonome Ausführungen, bei denen Sie vorhersagbares Verhalten erwarten, nicht probabilistische Konformität.
CLAUDE.md-Dateiorte und -Bereiche
Claude Code lädt CLAUDE.md-Dateien von mehreren Orten, jeder deckt einen anderen Bereich ab. Sie laden in der Reihenfolge vom breitesten zum spezifischsten:
| Ort | Bereich | Wofür es dient |
|---|---|---|
~/.claude/CLAUDE.md |
Alle Projekte auf Ihrem Rechner | Persönliche Vorlieben, globale Arbeitsablaufgewohnheiten |
./CLAUDE.md (Repowurzel) |
Alle Sitzungen in diesem Projekt | Projektkonventionen, Buildbefehle, teamweit geteilte Regeln |
./CLAUDE.local.md (Repowurzel) |
Nur Ihre lokalen Sitzungen | Entwicklerspezifische Vorlieben; zu .gitignore hinzufügen |
./src/CLAUDE.md (Unterverzeichnis) |
Sitzungen, die Dateien in diesem Verzeichnis berühren | Modulspezifische Regeln, die nicht projektweit gelten |
Alle gefundenen Dateien werden in den Kontext konkateniert – sie überschreiben sich nicht. Innerhalb dieser Konkatenation wird der Inhalt vom Dateisystemstamm bis zu Ihrem Arbeitsverzeichnis in der Reihenfolge „engster zuletzt“ angeordnet, sodass eine Projektanweisung nach einer Benutzeranweisung erscheint. Das ergibt natürliche Spezifität: Eine Projektregel gewinnt bei Konflikten mit einer Benutzerebene.
Sie können zusätzliche Dateien mit @path-Referenzen innerhalb einer jeden CLAUDE.md importieren:
@./docs/architecture.md
@./CONTRIBUTING.md
Importierte Dateien werden zu Sitzungsbeginn geladen, genau wie die CLAUDE.md selbst. Importe sind für die Organisation nützlich, sparen aber keinen Kontext – der importierte Inhalt wird auf Ihr Tokenbudget angerechnet.
Für Teams: Commiten Sie die Projekt-CLAUDE.md in die Quellcodeverwaltung. Dadurch wird sichergestellt, dass jede Claude-Sitzung eines Entwicklers – und alle CI-basierten Agentenläufe – mit demselben gemeinsamen Kontext beginnen. Behandeln Sie sie wie .eslintrc oder pyproject.toml.
Was in CLAUDE.md gehört
Der nützlichste Inhalt ist das, was Sie sonst in jeder Sitzung neu erklären würden, oder das, was ein neues Teammitglied in seiner ersten Stunde wissen müsste.
Gute Kandidaten:
- Build- und Testbefehle, die von offensichtlichen Standardwerten abweichen (
./scripts/test.sh --ci, nicht nurnpm test) - Codekonventionen, die nicht vom Linter erfasst werden („Wir verwenden überall benannte Exporte; keine Standardexporte in gemeinsamen Dienstprogrammen“)
- Architekturentscheidungen, die nicht offensichtlich aus dem Code hervorgehen („Das
lib/-Verzeichnis wird von mehreren Diensten gemeinsam genutzt – fügen Sie dort keine dienstspezifische Logik hinzu“) - Bekannte Fallstricke („Die
config.ts-Datei wird zur Buildzeit generiert; bearbeiten Sie sie nicht manuell“) - Workflow-Einschränkungen („Verzweigen Sie immer, bevor Sie Änderungen vornehmen; pushen Sie in das Remote-Repository, bevor Sie einen PR öffnen“)
Dinge, die Sie weglassen sollten:
- Verzeichnislisten und Dateibäume – Claude liest diese aus dem Repository
- Abhängigkeitslisten – verfügbar aus
package.json,pyproject.tomlund ähnlichen - Prosa-Beschreibungen dessen, was vorhandener Code tut – Claude liest Quellcode direkt
- Kürzliche Änderungen – Claude verwendet
git logundgit diff, wenn es den Verlauf benötigt
Halten Sie CLAUDE.md auf das konzentriert, was nicht aus dem Lesen der Codebasis abgeleitet werden kann. Dateien über 200 Zeilen verbrauchen mehr Kontext und verringern die Zuverlässigkeit der Befolgung. Der Befehl /doctor in Claude Code prüft eine eingecheckte CLAUDE.md und schlägt vor, Inhalte zu entfernen, die aus dem Code ableitbar sind – eine nützliche Methode, um eine aufgeblähte Datei zu kürzen.
Effektive Regeln schreiben
Spezifität ist wichtig. Vergleichen Sie:
# Vage – weniger konsistent
Follow project coding standards.
# Spezifisch – konsistenter
- Use pnpm, not npm or yarn
- Run pnpm test before every commit; do not commit if tests fail
- Export all shared types from src/types/index.ts — do not define types inline in component files
- The data/ directory is read-only in tests; use test fixtures from tests/fixtures/ instead
Jede Regel sollte ohne weitere Erklärung umsetzbar sein. Wenn Sie jemandem die Begründung einer Regel erklären müssten, fügen Sie die Begründung inline hinzu – das hilft Claude, die Regel in Randfällen korrekt anzuwenden.
Pfadbezogene Regeln mit .claude/rules/
Das Verzeichnis .claude/rules/ ermöglicht es Ihnen, Regeln an bestimmte Dateimuster zu binden, ohne sie in jede Sitzung zu laden. Claude findet Dateien in .claude/rules/ und lädt sie, wenn Sie mit passenden Dateien arbeiten.
Eine typische Struktur für ein TypeScript-Monorepo:
.claude/rules/
api.md # rules for src/api/** — request validation, error formats
components.md # rules for src/components/** — prop types, styling conventions
tests.md # rules for tests/** — fixture patterns, mock setup
database.md # rules for migrations/ and models/ — migration naming, query patterns
Jede Regeldatei verwendet YAML-Frontmatter mit einem paths-Feld, um zu steuern, wann sie geladen wird:
---
paths:
- "src/api/**/*.ts"
- "src/api/**/*.test.ts"
---
# API Development Rules
- All route handlers must validate input with zod before any business logic
- Return errors as `{ error: string; code: string }` — never plain strings
- Rate limiting is applied at the gateway; do not add it inside handlers
Regeln ohne ein paths-Feld werden bedingungslos zu Sitzungsbeginn geladen, genau wie Inhalte in der Projekt-CLAUDE.md. Regeln mit paths werden nur geladen, wenn Claude Dateien öffnet, die diesen Mustern entsprechen.
Dadurch bleibt die CLAUDE.md im Projektstamm prägnant und es wird sichergestellt, dass detaillierte Konventionen für eine Ebene des Stacks nicht den Kontext während Sitzungen füllen, die sich auf einen anderen Bereich konzentrieren.
settings.json vs CLAUDE.md
CLAUDE.md steuert, was Claude weiß und beabsichtigt zu tun. settings.json steuert, was Claude tatsächlich tun darf.
| CLAUDE.md | settings.json | |
|---|---|---|
| Zweck | Anweisungen und Kontext | Berechtigungen und Konfiguration |
| Erzwungen? | Nein – Claude handelt danach als Leitfaden | Ja – deny-Regeln blockieren Werkzeugaufrufe bedingungslos |
| Format | Freiform-Markdown | Strukturiertes JSON |
| Ort | ./CLAUDE.md, ~/.claude/CLAUDE.md |
.claude/settings.json, ~/.claude/settings.json |
Eine Projekt-settings.json unter .claude/settings.json:
{
"permissions": {
"allow": [
"Bash(pnpm test)",
"Bash(pnpm build)",
"Bash(git status)",
"Bash(git diff *)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(git push --force*)",
"Bash(git reset --hard*)"
]
}
}
Die allow-Liste genehmigt bestimmte Befehle vorab, sodass Claude sie ohne Nachfrage ausführen kann. Das beschleunigt interaktive Sitzungen für Operationen, denen Sie vertrauen. Die deny-Liste blockiert Befehle bedingungslos – unabhängig davon, was Claude zu tun beschließt, unabhängig davon, was CLAUDE.md sagt. Verwenden Sie deny für irreversible Operationen auf Produktionsdaten oder -infrastruktur.
Benutzerebene-Einstellungen unter ~/.claude/settings.json gelten für alle Projekte. Projekteinstellungen unter .claude/settings.json gelten nur in diesem Repository. Projekteinstellungen haben Vorrang vor Benutzereinstellungen, wenn sie sich überschneiden.
Wenn Ihr Team auch eine Verpackungsreferenz für MCP-Tools benötigt, nicht nur Regeln für deren Steuerung, kombinieren Sie diese Leitplanken mit dem Claude Code Plugins Docs Guide. Dieser erklärt, wo ein MCP-Plugin im Verhältnis zu Regeln, Hooks und eigenständiger Konfiguration einzuordnen ist.
Auto-Speicher: Claudes Notizen
Auto-Speicher ist das Gegenstück zu CLAUDE.md. Während CLAUDE.md Anweisungen sind, die Sie schreiben, sind Auto-Speicher-Notizen, die Claude selbst schreibt, basierend auf dem, was es während Ihrer Sitzungen lernt.
Wenn Sie Claude während einer Sitzung korrigieren – „wir verwenden Vitest, nicht Jest in diesem Projekt“ – kann es das als Notiz in ~/.claude/projects/<repo>/memory/ speichern. In der nächsten Sitzung liest Claude diese Notiz zurück und wendet die Korrektur an, ohne dass es erneut gesagt werden muss.
Das Speicherverzeichnis enthält:
~/.claude/projects/<repo>/memory/
MEMORY.md # index Claude uses to find other files; first 200 lines load each session
debugging.md # patterns Claude discovered solving problems in this repo
conventions.md # conventions Claude learned from your corrections
Dies ist maschinenlokal und pro Repository. Auto-Speicher ergänzt CLAUDE.md, anstatt es zu ersetzen: CLAUDE.md ist für teamweit geteilte Projektregeln; Auto-Speicher ist für persönliche Muster, die Claude durch die Zusammenarbeit mit Ihnen gelernt hat.
Auto-Speicher ist lesbares Markdown, das Sie jederzeit bearbeiten oder löschen können. Führen Sie /memory innerhalb einer Sitzung aus, um die Dateien zu durchsuchen und zu bearbeiten. Wenn etwas veraltet oder falsch ist, löschen Sie es – Claude wird die veraltete Regel nicht mehr anwenden.
Best Practices für agentisches Codieren
Das autonome Ausführen von Claude Code – über claude -p, das Agent SDK oder CI-Pipelines – erhöht die Anforderungen an Ihre Regelkonfiguration. Der Agent kann Dutzende von Werkzeugaufrufen ohne Pause abschließen, und es gibt kein interaktives Hin und Her, um Missverständnisse während des Laufs zu erkennen.
Schreiben Sie explizite Einschränkungen, nicht nur Präferenzen. Interaktives Claude kann Sie um Klärung bitten. Ein autonomer Lauf arbeitet mit dem, was er im Kontext vorfindet. Wenn „niemals Migrationsdateien ändern, ohne zuerst einen Datenbank-Snapshot zu erstellen“ wichtig ist, muss es in CLAUDE.md stehen. Gehen Sie nicht davon aus, dass Claude die Einschränkung aus der Codebasis-Struktur ableitet.
Verwenden Sie deny-Regeln für alles, was schwer rückgängig zu machen ist. Die Vorabgenehmigung von Bash(pnpm build) beschleunigt interaktive Sitzungen und ist mit geringem Risiko verbunden. Aber für autonome Läufe ist die deny-Liste Ihr Sicherheitsnetz für Operationen, die die Produktionsinfrastruktur berühren, permanent im Git-Verlauf committen oder Daten löschen.
Halten Sie die Projekt-CLAUDE.md in der Versionskontrolle. Eine eingecheckte CLAUDE.md im Repository-Stamm gilt konsistent für interaktive Sitzungen, CI-Läufe und den lokalen Agenten jedes Teammitglieds. Dies ist der richtige Ort für die Regeln, die definieren, was „korrekt“ für Ihre Codebasis bedeutet.
Verwenden Sie .claude/rules/ für domänenspezifische Inhalte. Wenn Ihr Projekt unterschiedliche Ebenen hat – Frontend-Komponenten, Backend-API, Datenbankschema, Infrastrukturskripte – legen Sie die Regeln für jede Ebene in .claude/rules/ mit Pfadbereich fest. Eine einzelne 400-zeilige CLAUDE.md mit allem darin ist für Claude schwerer zu navigieren und kostet mehr Kontext pro Sitzung.
Verschieben Sie Referenzmaterial in Skills. Skills (.claude/skills/) werden bei Bedarf geladen, nicht zu Sitzungsbeginn. Lange API-Dokumentationen, mehrstufige Bereitstellungsverfahren und Fehlerbehebungs-Playbooks gehören in Skills, die Sie mit /deploy oder /debug aufrufen – nicht in CLAUDE.md, wo sie Kontext verbrauchen, auch wenn sie irrelevant sind.
Überprüfen Sie den Auto-Speicher regelmäßig. Auto-Speicher sammelt sich im Laufe der Zeit an. Build-Befehle ändern sich, Konventionen werden umgestaltet, Testmuster verschieben sich. Eine veraltete Speichernotiz, die „verwenden Sie den v1 API-Client“ sagt, wenn Sie zu v2 migriert haben, wird subtile Fehler in autonomen Läufen verursachen. Prüfen Sie ~/.claude/projects/<repo>/memory/, wenn Sie wesentliche Änderungen an der Projektstruktur vornehmen.
Verwenden von Open-Source-Modellen mit Ihrer Regelkonfiguration
Der CLAUDE.md-Kontext und die .claude/rules/, die Sie erstellt haben, funktionieren unabhängig davon, welches Modell die Inferenz übernimmt, gleich. Sobald Ihre Regeln geschrieben sind, bewahrt der Wechsel des Modell-Backends alles – und Open-Source-Modelle über Novita AIs LLM API sind eine praktische Option für agentische Arbeiten mit hohem Volumen.
Die Konfiguration ist eine Umgebungsvariable:
export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_AUTH_TOKEN="<your-novita-api-key>"
export ANTHROPIC_MODEL="qwen/qwen3-coder-480b-a35b-instruct"
Mit ANTHROPIC_BASE_URL, das auf Novita AI verweist, sendet Claude Code alle Inferenzanfragen an den Anthropic-kompatiblen Endpunkt von Novita anstelle von api.anthropic.com. Ihre CLAUDE.md, pfadbezogenen Regeln und settings.json gelten alle genau wie zuvor – die Regelschicht liegt vor der Modellauswahl.
Novita AI hostet codierungsfokussierte Open-Weight-Modelle, darunter Qwen3-Coder, GLM-4.7, MiniMax M2.5 und DeepSeek V4. Diese Modelle sind für mehrschrittigen Werkzeuggebrauch und Funktionsaufrufe optimiert, was gut zu den Werkzeugaufrufmustern passt, die Claude Code intern für Dateibearbeitungen, Shell-Befehle und Repository-Navigation verwendet.
Für Teams, die agentische Aufgaben in großem Umfang ausführen – Code-Review-Pipelines, automatisiertes Refactoring über große Repositorien, Testgenerierung – kosten Open-Weight-Modelle auf Novita typischerweise deutlich weniger pro Million Tokens als Closed-Source-Alternativen, während sie Ihre Projektregeln dennoch effektiv lesen und anwenden.
Wenn Sie Agenten gegen eine Produktionscodebasis ausführen und eine zusätzliche Sicherheitsebene über deny-Regeln hinaus wünschen, erwägen Sie, Novitas LLM API mit Novitas Agent Sandbox zu kombinieren. Die Sandbox bietet dem Agenten eine vollständige Linux-Umgebung für Dateioperationen und Befehlsausführung, isoliert von Ihrem Host-System. Ihr CLAUDE.md-Kontext reist mit der Aufgabe; das Ausführungsrisiko bleibt begrenzt.
Häufig gestellte Fragen (FAQ)
Was ist CLAUDE.md in Claude Code?
CLAUDE.md ist eine Markdown-Datei, die Claude Code dauerhafte Anweisungen über Sitzungen hinweg gibt. Sie wird zu Sitzungsbeginn geladen, damit Claude nicht jedes Mal Ihre Projektkonventionen neu beigebracht werden müssen. Sie können CLAUDE.md-Dateien auf mehreren Ebenen haben: Benutzerebene (~/.claude/CLAUDE.md) für persönliche Vorlieben, die überall gelten, Projektebene (Repowurzel) für teamweit geteilte Regeln, die in der Versionskontrolle eingecheckt sind, und Unterverzeichnisebene für modulspezifische Regeln.
Was sollte ich in claude rules md-Dateien einfügen?
Schreiben Sie, was Sie sonst in jeder Sitzung neu erklären würden: Build- und Testbefehle, Codekonventionen, die von Framework-Standards abweichen, Architektur-Einschränkungen und bekannte Codebase-Fallstricke. Lassen Sie Inhalt weg, den Claude aus der Codebase selbst ableiten kann – Dateibäume, Abhängigkeitslisten und Beschreibungen dessen, was vorhandener Code tut. Halten Sie Dateien unter 200 Zeilen für konsistente Befolgung.
Was ist der Unterschied zwischen CLAUDE.md und settings.json in Claude Code?
CLAUDE.md ist Anweisungen, die Claude als Leitfaden befolgt. settings.json ist eine Konfiguration, die Claude Code auf Systemebene durchsetzt. Eine Regel in CLAUDE.md prägt, was Claude zu tun beabsichtigt; ein deny-Eintrag in settings.json blockiert einen Werkzeugaufruf bedingungslos. Für alles, was unabhängig davon, was Claude entscheidet, nicht passieren darf – irreversible Löschungen, Force-Pushes, Produktionsumgebungsoperationen – verwenden Sie settings.json, nicht CLAUDE.md.
Was ist das .claude/rules/-Verzeichnis?
.claude/rules/ enthält pfadbezogene Regeldateien, die nur geladen werden, wenn Claude mit Dateien arbeitet, die dem Gültigkeitsbereich der Regel entsprechen. Dies ermöglicht es Ihnen, detaillierte, domänenspezifische Regeln zu schreiben, ohne sie in jede Sitzung zu laden. Regeln sind Markdown-Dateien mit optionalem YAML-Frontmatter, das paths-Glob-Muster angibt. Regeln ohne paths-Frontmatter werden bedingungslos zu Sitzungsbeginn geladen, wie zusätzlicher CLAUDE.md-Inhalt.
Funktioniert CLAUDE.md in CI und automatisierten Claude Code-Aufgaben?
Ja. Jeder claude -p-Aufruf, Agent SDK-Aufruf oder CI-Pipeline, der in einem Repository-Verzeichnis ausgeführt wird, lädt die Projekt-CLAUDE.md. Das macht CLAUDE.md effektiv für die Durchsetzung konsistenten Verhaltens sowohl in interaktiven als auch in automatisierten Kontexten. Das Einchecken in die Versionskontrolle stellt sicher, dass jeder Lauf – lokal und CI – mit demselben gemeinsamen Kontext beginnt.
Wie funktioniert der Claude Code-Kontext und wie verwalte ich ihn?
Kontext ist das Token-Budget für die aktuelle Sitzung. CLAUDE.md-Dateien, importierte Referenzen, Auto-Speicher und der Gesprächsverlauf zählen alle dazu. Verwalten Sie ihn, inem Sie CLAUDE.md prägnant halten, .claude/rules/ verwenden, um Domäneninhalte nur bei Bedarf zu laden, und /compact verwenden, um lange Sitzungen zusamenzufassen, ohne die Kontinuität zu verlieren. Nach /compact liest Claude die projektstämmige CLAUDE.md von der Festplatte erneut und fügt sie automtisch in die Sitzung ein.
Wie verwende ich claude code best Practices für agentisches Codieren in einem Team?
Commten Sie die Projekt-CLAUDE.md in Ihr Repository, dam it alle Teammiglieder und CI-Agenten dieselben Regeln teilen. Verwenden Sie .claude/rules/ mit Pfadbereichen für domänenspezifische Inhalte. Fügen Sie deny-Regeln zu .claude/settings.json hinzu für Operationen, die niemals in automatisierten Kontexten ausgeführt werden sollten. Halten Sie den Auto-Speicher aus CI heraus – er ist maschinenlokal und pro Entwickler; die committete CLAUDE.md ist die Quelle der Wahrheit für gemeinsames Verhalten.
Novita AI ist eine AI-Cloud-Plattform, die Entwicklern eine einfache Möglichkeit bietet, AI-Modelle mit unserer einfachen API zu deployen und gleichzeitig erschwingliche und zuverlässige GPU-Cloud für den Aufbau und die Skalierung bereitzustellen.
Empfohlene Artikel
- So verwenden Sie Claude Code Agents: Einrichtung, Werkzeuge, Berechtigungen und Sandbox-Workflow
- Claude Code Plugins: Wie MCP-Tools Claude Code mit externen Fähigkeiten erweitern
- Claude Code CLI-Dokumentation: Einrichtung, Schrägstrich-Befehle und LLM API-Integration
- Claude Code SDK: Erstellen Sie autonome Agenten mit Python & TypeScript
- Aufbau eines Codierungsagenten mit Novitas Agent Sandbox
Quellen geprüft am 21. Juli 2026: Claude Code Speicher-Dokumentation, Claude Code Funktionen-Übersicht, Novita AI LLM API
