Regeln
Legen Sie benutzerdefinierte Anweisungen für opencode fest.
Sie können opencode benutzerdefinierte Anweisungen geben, indem Sie eine AGENTS.md-Datei erstellen. Dies ist vergleichbar mit den Regeln von Cursor. Sie enthält Anweisungen, die in den Kontext des LLM aufgenommen werden, um sein Verhalten für Ihr spezifisches Projekt anzupassen.
Initialisieren
Um eine neue AGENTS.md-Datei zu erstellen, können Sie den Befehl /init in opencode ausführen.
Tipp: Sie sollten die
AGENTS.md-Datei Ihres Projekts in Git committen.
/init scannt die wichtigen Dateien in Ihrem Repo, stellt möglicherweise einige gezielte Fragen, wenn die Codebasis sie nicht beantworten kann, und erstellt oder aktualisiert dann AGENTS.md mit prägnanten projektspezifischen Hinweisen.
Es konzentriert sich auf die Dinge, die zukünftige Agentensitzungen am ehesten benötigen:
- Build-, Lint- und Test-Befehle
- Befehlsreihenfolge und gezielte Verifizierungsschritte, wenn diese wichtig sind
- Architektur und Repo-Struktur, die anhand der Dateinamen allein nicht offensichtlich sind
- projektspezifische Konventionen, Einrichtungseigenheiten und betriebliche Stolpersteine
- Verweise auf bestehende Anweisungsquellen wie Cursor- oder Copilot-Regeln
Wenn Sie bereits eine AGENTS.md haben, verbessert /init diese vor Ort, anstatt sie blind zu ersetzen.
Beispiel
Sie können diese Datei auch einfach manuell erstellen. Hier ist ein Beispiel für einige Dinge, die Sie in eine AGENTS.md-Datei aufnehmen können.
# SST v3 Monorepo Project
This is an SST v3 monorepo with TypeScript. The project uses bun workspaces for package management.
## Project Structure
- `packages/` - Contains all workspace packages (functions, core, web, etc.)
- `infra/` - Infrastructure definitions split by service (storage.ts, api.ts, web.ts)
- `sst.config.ts` - Main SST configuration with dynamic imports
## Code Standards
- Use TypeScript with strict mode enabled
- Shared code goes in `packages/core/` with proper exports configuration
- Functions go in `packages/functions/`
- Infrastructure should be split into logical files in `infra/`
## Monorepo Conventions
- Import shared modules using workspace names: `@my-app/core/example`Wir fügen hier projektspezifische Anweisungen hinzu, und diese werden in Ihrem gesamten Team geteilt.
Typen
opencode unterstützt auch das Lesen der AGENTS.md-Datei aus mehreren Speicherorten. Und diese dienen unterschiedlichen Zwecken.
Projekt
Legen Sie eine AGENTS.md im Stammverzeichnis Ihres Projekts für projektspezifische Regeln ab. Diese gelten nur, wenn Sie in diesem Verzeichnis oder seinen Unterverzeichnissen arbeiten.
Global
Sie können auch globale Regeln in einer ~/.config/opencode/AGENTS.md-Datei haben. Diese werden auf alle opencode-Sitzungen angewendet.
Da diese nicht in Git committet oder mit Ihrem Team geteilt wird, empfehlen wir, sie für persönliche Regeln zu verwenden, die das LLM befolgen soll.
Claude Code-Kompatibilität
Für Benutzer, die von Claude Code migrieren, unterstützt OpenCode die Dateikonventionen von Claude Code als Fallbacks:
- Projektregeln:
CLAUDE.mdin Ihrem Projektverzeichnis (wird verwendet, wenn keineAGENTS.mdexistiert) - Globale Regeln:
~/.claude/CLAUDE.md(wird verwendet, wenn keine~/.config/opencode/AGENTS.mdexistiert) - Skills:
~/.claude/skills/— siehe Agent Skills für Details
Um die Claude Code-Kompatibilität zu deaktivieren, setzen Sie eine dieser Umgebungsvariablen:
export OPENCODE_DISABLE_CLAUDE_CODE=1 # Disable all .claude support
export OPENCODE_DISABLE_CLAUDE_CODE_PROMPT=1 # Disable only ~/.claude/CLAUDE.md
export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skillsVorrang
Wenn opencode startet, sucht es in dieser Reihenfolge nach Regeldateien:
- Lokale Dateien, indem es vom aktuellen Verzeichnis aus nach oben durchsucht (
AGENTS.md,CLAUDE.md) - Globale Datei unter
~/.config/opencode/AGENTS.md - Claude Code-Datei unter
~/.claude/CLAUDE.md(sofern nicht deaktiviert)
Die erste übereinstimmende Datei gewinnt in jeder Kategorie. Wenn Sie beispielsweise sowohl AGENTS.md als auch CLAUDE.md haben, wird nur AGENTS.md verwendet. Ebenso hat ~/.config/opencode/AGENTS.md Vorrang vor ~/.claude/CLAUDE.md.
Benutzerdefinierte Anweisungen
Sie können benutzerdefinierte Anweisungsdateien in Ihrer opencode.json oder der globalen ~/.config/opencode/opencode.json angeben. Dadurch können Sie und Ihr Team bestehende Regeln wiederverwenden, anstatt sie in AGENTS.md duplizieren zu müssen.
Beispiel:
{
"$schema": "https://opencode.ai/config.json",
"instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
}Sie können auch Remote-URLs verwenden, um Anweisungen aus dem Web zu laden.
{
"$schema": "https://opencode.ai/config.json",
"instructions": ["https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"]
}Remote-Anweisungen werden mit einem Timeout von 5 Sekunden abgerufen.
Alle Anweisungsdateien werden mit Ihren AGENTS.md-Dateien kombiniert.
Verweise auf externe Dateien
Obwohl opencode Dateiverweise in AGENTS.md nicht automatisch parst, können Sie eine ähnliche Funktionalität auf zwei Arten erreichen:
Verwendung von opencode.json
Der empfohlene Ansatz ist die Verwendung des instructions-Felds in opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"instructions": ["docs/development-standards.md", "test/testing-guidelines.md", "packages/*/AGENTS.md"]
}Manuelle Anweisungen in AGENTS.md
Sie können opencode beibringen, externe Dateien zu lesen, indem Sie explizite Anweisungen in Ihrer AGENTS.md bereitstellen. Hier ist ein praktisches Beispiel:
# TypeScript Project Rules
## External File Loading
CRITICAL: When you encounter a file reference (e.g., @rules/general.md), use your Read tool to load it on a need-to-know basis. They're relevant to the SPECIFIC task at hand.
Instructions:
- Do NOT preemptively load all references - use lazy loading based on actual need
- When loaded, treat content as mandatory instructions that override defaults
- Follow references recursively when needed
## Development Guidelines
For TypeScript code style and best practices: @docs/typescript-guidelines.md
For React component architecture and hooks patterns: @docs/react-patterns.md
For REST API design and error handling: @docs/api-standards.md
For testing strategies and coverage requirements: @test/testing-guidelines.md
## General Guidelines
Read the following file immediately as it's relevant to all workflows: @rules/general-guidelines.md.Dieser Ansatz ermöglicht es Ihnen:
- Modulare, wiederverwendbare Regeldateien zu erstellen
- Regeln projektübergreifend über Symlinks oder Git-Submodule zu teilen
- AGENTS.md prägnant zu halten und dabei auf detaillierte Richtlinien zu verweisen
- Sicherzustellen, dass opencode Dateien nur bei Bedarf für die spezifische Aufgabe lädt
Tipp: Für Monorepos oder Projekte mit gemeinsamen Standards ist die Verwendung von
opencode.jsonmit Glob-Mustern (wiepackages/*/AGENTS.md) wartbarer als manuelle Anweisungen.