Agent Rules (.cursorrules / CLAUDE.md / AGENTS.md)
Maschinenlesbare Dateien mit Architekturrichtlinien und Einschränkungen im Repository, die automatisch in den Systemkontext von KI-Agenten eingebunden werden, um eine Degradation der Codebasis zu verhindern.
1. Konzeptüberblick und systemisches Problem
Moderne LLMs werden auf Gigabytes von Open-Source-Code aus GitHub trainiert, weshalb sie standardmäßig „durchschnittlichen“ Code generieren: veraltete Major-Versionen von Bibliotheken, chaotische Import-Muster, any in TypeScript oder ineffiziente Ansätze zur Fehlerbehandlung. Wenn ein Ingenieur im Paradigma des Vibe-Codings ohne festgelegte Regeln arbeitet, wird jeder neue Prompt zu einem Glücksspiel:
- Der Agent installiert veraltetes
moment.jsoderaxiosanstelle von nativemdate-fnsoderfetch. - Der Agent vermischt Architekturschichten (z. B. direkter Zugriff auf die Datenbank aus einer clientseitigen React-Komponente).
- Der Agent erfindet eigene Build- oder Testbefehle, anstatt die vorhandenen Skripte im Projekt zu nutzen.
Agent Rules (Dateien wie .cursorrules, CLAUDE.md, AGENTS.md, .cursor/rules/*.mdc) lösen das Problem der Codebasis-Drift. Sie wandeln die internen Konventionen des Teams in einen systemischen Vertrag um, der von der Entwicklungsumgebung oder dem Terminal-Agenten bereits vor Beginn jeglicher Codegenerierung gelesen wird.
2. Architektonische Taxonomie und mentales Modell
Repository-Regeln lassen sich in drei Ebenen der Isolation und Aktivierung unterteilen:
┌─────────────────────────────────────────────────────────────┐
│ РІВНІ ПРАВИЛ АГЕНТА │
├─────────────────────────────────────────────────────────────┤
│ 1. Global / Machine Layer (~/.cursorrules, ~/.claude.json) │
│ Вподобання конкретного розробника (мова, стиль відповідей)│
├─────────────────────────────────────────────────────────────┤
│ 2. Repository Core Layer (CLAUDE.md, AGENTS.md, root rules) │
│ Глобальний стек, заборонені ліби, команди lint / test │
├─────────────────────────────────────────────────────────────┤
│ 3. Scoped / Event-Driven Rules (.cursor/rules/*.mdc) │
│ Активація за glob-маскою (наприклад, API routes, UI, DB) │
└─────────────────────────────────────────────────────────────┘
- Globale Repository-Regeln (Core Repository Contract):
- Befinden sich im Stammverzeichnis des Projekts (
CLAUDE.mdfür Claude Code,AGENTS.mdoder.cursorrulesfür Editoren). - Beschreiben das kritische Minimum: Umgebungsversionen (Node.js 22, Bun, Python 3.12), Paketmanager (
pnpm), verpflichtende Linter und Anweisungen zur Commit-Struktur.
- Befinden sich im Stammverzeichnis des Projekts (
- Kontextuelle Modulregeln (Scoped Domain Rules):
- Dateien mit Metadaten und Glob-Patterns (z. B.
.cursor/rules/database.mdcmit Filtersrc/db/**/*.ts). - Werden nur dann in den Arbeitspeicher des Modells geladen, wenn der Agent plant, Migrations- oder ORM-Modell-Dateien zu bearbeiten.
- Dateien mit Metadaten und Glob-Patterns (z. B.
- Operative Guardrails (Operational Constraints):
- Klare negative Einschränkungen (Negative Constraints): „NIEMALS
git push --forceausführen“, „NIEMALS.env.productionmodifizieren“, „KEINE neuen Abhängigkeiten ohne ausdrückliche Zustimmung des Ingenieurs hinzufügen“.
- Klare negative Einschränkungen (Negative Constraints): „NIEMALS
3. Technischer Pipeline und interne Mechanik
Der Lebenszyklus der Regeln während einer Vibe-Coding-Sitzung:
- Sitzungsinitialisierung und Repository-Scan:
Die IDE oder der CLI-Agent scannt beim Start das Stammverzeichnis sowie die Serviceverzeichnisse
.cursor/rules/oder.agents/rules/. - Intent-Analyse und Maskenabgleich (Glob Matching):
Der Benutzer sendet eine Anfrage („Erstelle einen neuen Endpoint für das Abo-Zahlungssystem“). Der Agent prognostiziert Dateiänderungen in
src/app/api/stripe/route.ts. Die Regel-Engine aktiviert Regeln fürsrc/app/api/**/*.tsundstripe.mdc. - Zusammenstellung des erweiterten System-Prompts:
Die Engine konkateniert:
- Den Basis-System-Prompt des Modells;
- Den Inhalt der globalen Vertragsdatei;
- Die gefundenen Modulregeln;
- Die aktuelle Baumstruktur der offenen Dateien und die Benutzeranfrage.
- Codegenerierung mit erzwungener Einhaltung der Invarianten: Das Modell formuliert Tool-Aufrufe oder Code, wobei es die Regeln als obligatorischen Systemkontext heranzieht.
- Post-Generierungs-Validierung:
Wenn der Agent Terminalzugriff hat, führt er den in den Regeln definierten Validierungsbefehl aus (z. B.
pnpm typecheck), bevor er den finalen Bericht an den Ingenieur zurückgibt.
4. Praktische Engineering-Szenarien im Produktionsumfeld
01. Architekturgrenzen im Next.js 15+ App Router
Die Datei .cursor/rules/nextjs.mdc mit dem Muster src/app/**/*.tsx verhindert klassische Fehler bei der Verwendung von Server- und Client-Komponenten:
---
description: Архітектурні стандарти Next.js App Router
globs: src/app/**/*.tsx, src/components/**/*.tsx
---
- За замовчуванням усі компоненти є Server Components.
- Директиву 'use client' додавати ЛИШЕ за наявності useState, useEffect або обробників подій onClick/onChange.
- ЗАБОРОНЕНО імпортувати серверні утиліти (db, auth secret) у файли з 'use client'.
- Усі мутації даних виконувати виключно через Server Actions у директорії `src/actions/`.
02. Deterministische Testausführung für Claude Code
Die Konfiguration in CLAUDE.md stellt sicher, dass der Terminal-Agent ausschließlich die korrekten Testskripte verwendet, ohne Versuche, ein inkompatibles globales jest auszuführen:
# Repository Guidelines for Claude Code
## Commands
- Build: `pnpm build`
- Typecheck: `pnpm tsc --noEmit`
- Unit Tests: `pnpm test:unit`
- E2E Tests: `pnpm test:e2e`
## Workflow Discipline
Перед тим як сповістити про успішне виконання завдання:
1. Запусти `pnpm tsc --noEmit`. Якщо є помилки типізації — виправ їх.
2. Запусти `pnpm test:unit` для модифікованих модулів.
3. Не створюй нових файлів без попередньої перевірки наявності існуючих утиліт у `src/lib/`.
03. Erzwungene Typsicherheit und Zod-Validierung in APIs
Eine Backend-Regel macht die Verwendung von untypisierten JSON-Payloads in Controllern unmöglich:
---
description: Стандартизація бекенд-ендпоінтів
globs: src/server/api/**/*.ts
---
- Усі вхідні аргументи запитів повинні проходити парсинг через Zod-схеми (`schema.parseAsync(req.body)`).
- Тип `any` суворо заборонений; при роботі з невідомими даними використовувати `unknown` з наступним type narrowing.
- У разі виникнення бізнес-помилок викидати типізований `TRPCError` або `HttpError` із кодом статусу.
5. Fallstricke, häufige Fehler und Sicherheit
- Rule Bloat & Attention Saturation: Der Versuch, die gesamte Projektdokumentation in die Regeldatei zu schreiben, führt zu Dateien mit über 500 Zeilen. Dies verwässert die Aufmerksamkeit des Modells („Lost in the Middle“) und führt dazu, dass das Modell zentrale Anweisungen ignoriert. Teilen Sie Regeln in modulare Scopes auf.
- Widersprüchliche oder konfligierende Regeln: Wenn das globale
CLAUDE.mddie Nutzung vonpnpmverlangt, aber eine veralteteREADME.mdoder lokale Regelnpm installenthält, kann das Modell in Halluzinationen bezüglich des Paketmanagers feststecken. - Gefahr der Leckage sensibler Daten: Geben Sie niemals Access-Tokens, Passwörter für Testdatenbanken oder persönliche API-Keys in Repository-Regeln an. Alle Umgebungsvariablen sollten nur als abstrakte Namen beschrieben werden (z. B.
DATABASE_URL is required in .env.local). - Fehlendes Versioning: Agenten-Regeln müssen zusammen mit der Codebasis im Git-Versionskontrollsystem weiterentwickelt werden. Änderungen am Tech-Stack sollten von atomaren Updates der entsprechenden Regeldateien im selben Commit begleitet werden.
FAQ: Agent Rules (.cursorrules / CLAUDE.md / AGENTS.md)
Verwandte Begriffe
System-Prompt (Systemanweisungen & Metaprompting)
Ein prioritärer Meta-Kontextblock mit Anweisungen, der an der Nullposition des Kontextfensters übergeben wird und die Rolle, Sicherheitsregeln, verfügbaren Tools sowie Verhaltensgrenzen des Agenten definiert.
Spezifikationsgetriebene Entwicklung (SDD)
Eine führende Methodologie der Software-Ingenieurwissenschaft im KI-Zeitalter, bei der die Erstellung, Abstimmung und Festlegung einer strukturierten, maschinenlesbaren Spezifikation zwingend vor der Codegenerierung erfolgt.
Cursor IDE
Führende KI-first Entwicklungsumgebung auf Basis des VS Code-Kerns, die den Multi-File-Generator Composer, prädiktive Autovervollständigung durch Cursor Tab und eine vektorielle Indexierung der Codebasis integriert.
Claude Code
Der offizielle Terminal-Entwicklungsagent von Anthropic, der direkt in der Befehlszeile über Claude 3.7 Sonnet läuft und native Unterstützung für Bash, Git, Dateisystemzugriff sowie das MCP-Protokoll bietet.