Règles
Définissez des instructions personnalisées pour opencode.
Vous pouvez fournir des instructions personnalisées à opencode en créant un fichier AGENTS.md. Ceci est similaire aux règles du curseur. Il contient des instructions qui seront incluses dans le contexte du LLM pour personnaliser son comportement pour votre projet spécifique.
Initialiser
Pour créer un nouveau fichier AGENTS.md, vous pouvez exécuter la commande /init dans opencode.
Cela analysera votre projet et tout son contenu pour comprendre de quoi il s’agit et générera un fichier AGENTS.md avec celui-ci. Cela aide opencode à mieux naviguer dans le projet.
Si vous avez un fichier AGENTS.md existant, cela tentera de l’ajouter.
Exemple
Vous pouvez également simplement créer ce fichier manuellement. Voici un exemple de certaines choses que vous pouvez mettre dans un fichier AGENTS.md.
# 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`Nous ajoutons ici des instructions spécifiques au projet et celles-ci seront partagées au sein de votre équipe.
Types
opencode prend également en charge la lecture du fichier AGENTS.md à partir de plusieurs emplacements. Et cela répond à des objectifs différents.
Projet
Placez un AGENTS.md à la racine de votre projet pour les règles spécifiques au projet. Celles-ci ne s’appliquent que lorsque vous travaillez dans ce répertoire ou ses sous-répertoires.
Mondial
Vous pouvez également avoir des règles globales dans un fichier ~/.config/opencode/AGENTS.md. Ceci est appliqué à toutes les sessions opencode.
Étant donné que cela n’est pas validé par Git ni partagé avec votre équipe, nous vous recommandons de l’utiliser pour spécifier les règles personnelles que le LLM doit suivre.
Compatibilité des codes Claude
Pour les utilisateurs migrant depuis Claude Code, OpenCode prend en charge les conventions de fichiers de Claude Code comme solutions de secours :
- Règles du projet :
CLAUDE.mddans le répertoire de votre projet (utilisé si aucunAGENTS.mdn’existe) - Règles globales :
~/.claude/CLAUDE.md(utilisé si aucun~/.config/opencode/AGENTS.mdn’existe) - Compétences :
~/.claude/skills/— voir Compétences de l’agent pour plus de détails
Pour désactiver la compatibilité Claude Code, définissez l’une de ces variables d’environnement :
export OPENCODE_DISABLE_CLAUDE_CODE=1 # Disable all .claude supportexport OPENCODE_DISABLE_CLAUDE_CODE_PROMPT=1 # Disable only ~/.claude/CLAUDE.mdexport OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skillsPriorité
Lorsque opencode démarre, il recherche les fichiers de règles dans cet ordre :
- Fichiers locaux en parcourant le répertoire actuel (
AGENTS.md,CLAUDE.md) - Fichier global à
~/.config/opencode/AGENTS.md - Fichier Claude Code à
~/.claude/CLAUDE.md(sauf si désactivé)
Le premier fichier correspondant gagne dans chaque catégorie. Par exemple, si vous possédez à la fois AGENTS.md et CLAUDE.md, seul AGENTS.md est utilisé. De même, ~/.config/opencode/AGENTS.md a priorité sur ~/.claude/CLAUDE.md.
Instructions personnalisées
Vous pouvez spécifier des fichiers d’instructions personnalisés dans votre opencode.json ou dans le ~/.config/opencode/opencode.json global. Cela vous permet, à vous et à votre équipe, de réutiliser les règles existantes plutôt que d’avoir à les dupliquer dans AGENTS.md.
Exemple:
{ "$schema": "https://opencode.ai/config.json", "instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]}Vous pouvez également utiliser des URL distantes pour charger des instructions à partir du Web.
{ "$schema": "https://opencode.ai/config.json", "instructions": ["https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"]}Les instructions à distance sont récupérées avec un délai d’attente de 5 secondes.
Tous les fichiers d’instructions sont combinés avec vos fichiers AGENTS.md.
Référencement de fichiers externes
Bien que opencode n’analyse pas automatiquement les références de fichiers dans AGENTS.md, vous pouvez obtenir des fonctionnalités similaires de deux manières :
Utilisation de opencode.json
L’approche recommandée consiste à utiliser le champ instructions dans opencode.json :
{ "$schema": "https://opencode.ai/config.json", "instructions": ["docs/development-standards.md", "test/testing-guidelines.md", "packages/*/AGENTS.md"]}Instructions manuelles dans AGENTS.md
Vous pouvez apprendre à opencode à lire des fichiers externes en fournissant des instructions explicites dans votre AGENTS.md. Voici un exemple pratique :
# 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.mdFor React component architecture and hooks patterns: @docs/react-patterns.mdFor REST API design and error handling: @docs/api-standards.mdFor 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.Cette approche vous permet de :
- Créez des fichiers de règles modulaires et réutilisables
- Partagez des règles entre projets via des liens symboliques ou des sous-modules git
- Gardez AGENTS.md concis tout en faisant référence à des directives détaillées
- Assurez-vous que opencode charge les fichiers uniquement lorsque cela est nécessaire pour une tâche spécifique.