Saltearse al contenido

Reglas

Establezca instrucciones personalizadas para opencode.

Puede proporcionar instrucciones personalizadas a opencode creando un archivo AGENTS.md. Esto es similar a CLAUDE.md o a las reglas de Cursor. Contiene instrucciones que se incluiran en el contexto del LLM para personalizar su comportamiento para su proyecto especifico.


Inicializar

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

Esto escaneara su proyecto y todo su contenido para entender de que se trata el proyecto y generara un archivo AGENTS.md con el mismo. Esto ayuda a opencode a navegar mejor por el proyecto.

Si tiene un archivo AGENTS.md existente, esto intentara agregarlo.


Ejemplo

También puede crear este archivo manualmente. Aqui hay un ejemplo de algunas cosas que puede poner en un archivo AGENTS.md.

AGENTS.md
# Proyecto Monorepo SST v3
Este es un monorepo SST v3 con TypeScript. El proyecto usa espacios de trabajo de bun para la gestion de paquetes.
## Estructura del proyecto
- `packages/` - Contiene todos los paquetes del espacio de trabajo (functions, core, web, etc.)
- `infra/` - Definiciones de infraestructura divididas por servicio (storage.ts, api.ts, web.ts)
- `sst.config.ts` - Configuracion principal de SST con importaciones dinamicas
## Estándares de codigo
- Use TypeScript con modo estricto habilitado
- El codigo compartido va en `packages/core/` con la configuracion de exportacion apropiada
- Las funciones van en `packages/functions/`
- La infraestructura debe dividirse en archivos logicos en `infra/`
## Convenciones de monorepo
- Importe modulos compartidos usando nombres de espacios de trabajo: `@my-app/core/example`

Aqui agregamos instrucciones especificas del proyecto y esto se compartira con su equipo.


Tipos

opencode tambien admite leer el archivo AGENTS.md desde varias ubicaciones. Y esto sirve diferentes propositos.

Proyecto

Los que hemos visto anteriormente, donde el archivo AGENTS.md se coloca en la raiz del proyecto, son reglas especificas del proyecto. Estas solo se aplican cuando esta trabajando en este directorio o sus subdirectorios.

Global

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

Dado que esto no se confirma en Git ni se comparte con su equipo, recomendamos usar esto para especificar cualquier regla personal que el LLM debe seguir.


Precedencia

Entonces, cuando opencode se inicia, busca:

  1. Archivos locales navegando hacia arriba desde el directorio actual
  2. Archivo global verificando ~/.config/opencode/AGENTS.md

Si tiene reglas globales y especificas del proyecto, opencode las combinara.


Instrucciones personalizadas

Puede especificar archivos de instrucciones personalizadas en su opencode.json o el archivo global ~/.config/opencode/opencode.json. Esto le permite a usted y a su 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 puede usar URL 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 sus archivos AGENTS.md.


Referenciacion de archivos externos

Aunque opencode no analiza automaticamente las referencias de archivos en AGENTS.md, puede 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

Puede ensenar a opencode a leer archivos externos proporcionando instrucciones explicitas en su AGENTS.md. Aqui hay un ejemplo practico:

AGENTS.md
# Reglas del proyecto TypeScript
## Carga de archivos externos
CRITICO: Cuando encuentre una referencia de archivo (por ejemplo, @rules/general.md), use su herramienta Read para cargarla segun sea necesario. Son relevantes para la tarea ESPECIFICA en cuestion.
Instrucciones:
- NO cargue todas las referencias anticipadamente - use la carga diferida segun las necesidades reales
- Cuando se cargan, trate el contenido como instrucciones obligatorias que anulan los valores predeterminados
- Siga referencias de forma recursiva cuando sea necesario
## Directrices de desarrollo
Para el estilo de codigo TypeScript y las mejores practicas: @docs/typescript-guidelines.md
Para la arquitectura de componentes de React y patrones de hooks: @docs/react-patterns.md
Para el diseno de API REST y el manejo de errores: @docs/api-standards.md
Para estrategias de prueba y requisitos de cobertura: @test/testing-guidelines.md
## Directrices generales
Lea el siguiente archivo inmediatamente ya que es relevante para todos los flujos de trabajo: @rules/general-guidelines.md.

Este enfoque le permite:

  • Crear archivos de reglas modulares y reutilizables
  • Compartir reglas entre proyectos a traves de enlaces simbolicos o submodulos git
  • Mantener AGENTS.md conciso mientras se hace referencia a directrices detalladas
  • Asegurar que opencode cargue archivos solo cuando sea necesario para la tarea especifica