Español
Documentación
Reglas

Reglas

Establece instrucciones personalizadas para opencode.

Puedes proporcionar instrucciones personalizadas a opencode creando un archivo AGENTS.md. Esto es similar a las reglas de Cursor. Contiene instrucciones que se incluirán en el contexto del LLM para personalizar su comportamiento para tu proyecto específico.


Inicializar

Para crear un nuevo archivo AGENTS.md, puedes ejecutar el comando /init en opencode.

Consejo: Deberías incluir el archivo AGENTS.md de tu proyecto en Git.

/init escanea los archivos importantes de tu repositorio, puede hacer un par de preguntas específicas cuando la base de código no puede responderlas, y luego crea o actualiza AGENTS.md con orientación concisa y específica del proyecto.

Se centra en las cosas que las futuras sesiones del agente probablemente necesitarán más:

  • comandos de compilación, lint y test
  • orden de los comandos y pasos de verificación enfocados cuando importan
  • arquitectura y estructura del repositorio que no son obvias solo por los nombres de los archivos
  • convenciones específicas del proyecto, peculiaridades de configuración y gotchas operativos
  • referencias a fuentes de instrucciones existentes como las reglas de Cursor o Copilot

Si ya tienes un AGENTS.md, /init lo mejorará in situ en lugar de reemplazarlo a ciegas.


Ejemplo

También puedes crear este archivo manualmente. Aquí tienes un ejemplo de algunas cosas que puedes poner en un archivo AGENTS.md.

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`

Aquí estamos agregando instrucciones específicas del proyecto y esto se compartirá con todo tu equipo.


Tipos

opencode también admite leer el archivo AGENTS.md desde múltiples ubicaciones. Y esto sirve para diferentes propósitos.

Proyecto

Coloca un AGENTS.md en la raíz de tu proyecto para reglas específicas del proyecto. Estas solo se aplican cuando trabajas en este directorio o sus subdirectorios.

Global

También puedes tener reglas globales en un archivo ~/.config/opencode/AGENTS.md. Esto se aplica en todas las sesiones de opencode.

Dado que esto no se incluye en Git ni se comparte con tu equipo, recomendamos usarlo para especificar cualquier regla personal que el LLM deba seguir.

Compatibilidad con Claude Code

Para los usuarios que migran desde Claude Code, OpenCode admite las convenciones de archivos de Claude Code como alternativas:

  • Reglas del proyecto : CLAUDE.md en el directorio de tu proyecto (se usa si no existe ningún AGENTS.md)
  • Reglas globales : ~/.claude/CLAUDE.md (se usa si no existe ningún ~/.config/opencode/AGENTS.md)
  • Skills : ~/.claude/skills/ — consulta Agent Skills para más detalles

Para deshabilitar la compatibilidad con Claude Code, establece una de estas variables de entorno:

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/skills

Precedencia

Cuando opencode se inicia, busca archivos de reglas en este orden:

  1. Archivos locales recorriendo hacia arriba desde el directorio actual ( AGENTS.md , CLAUDE.md )
  2. Archivo global en ~/.config/opencode/AGENTS.md
  3. Archivo de Claude Code en ~/.claude/CLAUDE.md (a menos que esté deshabilitado)

El primer archivo coincidente gana en cada categoría. Por ejemplo, si tienes tanto AGENTS.md como CLAUDE.md, solo se usa AGENTS.md. De forma similar, ~/.config/opencode/AGENTS.md tiene prioridad sobre ~/.claude/CLAUDE.md.


Instrucciones personalizadas

Puedes especificar archivos de instrucciones personalizadas en tu opencode.json o en el ~/.config/opencode/opencode.json global. Esto te permite a ti y a tu equipo reutilizar las reglas existentes en lugar de tener que duplicarlas en AGENTS.md.

Ejemplo:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
}

También puedes usar URLs remotas para cargar instrucciones desde la web.

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"]
}

Las instrucciones remotas se obtienen con un tiempo de espera de 5 segundos.

Todos los archivos de instrucciones se combinan con tus archivos AGENTS.md.


Referenciar archivos externos

Aunque opencode no analiza automáticamente las referencias a archivos en AGENTS.md, puedes lograr una funcionalidad similar de dos maneras:

Usando opencode.json

El enfoque recomendado es usar el campo instructions en opencode.json:

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["docs/development-standards.md", "test/testing-guidelines.md", "packages/*/AGENTS.md"]
}

Instrucciones manuales en AGENTS.md

Puedes enseñar a opencode a leer archivos externos proporcionando instrucciones explícitas en tu AGENTS.md. Aquí tienes un ejemplo práctico:

AGENTS.md
# 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.

Este enfoque te permite:

  • Crear archivos de reglas modulares y reutilizables
  • Compartir reglas entre proyectos mediante symlinks o submódulos de git
  • Mantener AGENTS.md conciso mientras referencias directrices detalladas
  • Asegurar que opencode cargue los archivos solo cuando se necesiten para la tarea específica

Consejo: Para monorepos o proyectos con estándares compartidos, usar opencode.json con patrones glob (como packages/*/AGENTS.md) es más fácil de mantener que las instrucciones manuales.