> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Reglas y AGENTS.md

> Proporciona instrucciones y contexto activos que guían al agente en cada sesión

Las reglas son instrucciones persistentes que determinan cómo se comporta Devin CLI en tu proyecto. Se inyectan en el contexto del agente al inicio de cada sesión, lo que garantiza un comportamiento coherente en todo tu equipo.

Los usos habituales de las reglas incluyen estándares de código, directrices de arquitectura, bibliotecas preferidas, convenciones de testing y restricciones específicas del proyecto.

**Para mejorar la capacidad de programación, acelerar la finalización y reducir el costo**, recomendamos encarecidamente **usar skills siempre que sea posible en lugar de reglas**. Las skills solo se inyectan en el contexto cuando son relevantes. **Las reglas y AGENTS deben mantenerse lo más pequeñas posible.**

**El patrón que recomendamos** es usar una regla para hacer referencia a skills que el modelo debe usar en situaciones concretas.

***

<div id="agentsmd">
  ## AGENTS.md
</div>

La forma más sencilla de agregar reglas es mediante un archivo `AGENTS.md` en la raíz de tu proyecto:

```markdown theme={null}
# Reglas del proyecto

- Usar TypeScript para todos los archivos nuevos
- Seguir los patterns existentes en src/components/
- Ejecutar siempre `npm run lint` antes de confirmar
- Usar pnpm, no npm ni yarn
- Escribir pruebas para todas las nuevas funciones utilitarias
```

La CLI de Devin lee este archivo automáticamente.

<Tip>
  `AGENTS.md` es la opción recomendada para las reglas del proyecto. Es fácil de leer, tiene control de versiones y funciona con múltiples herramientas de IA.
</Tip>

***

<div id="global-rules">
  ## Reglas globales
</div>

También puedes crear reglas que se apliquen a **todos los proyectos** colocando un archivo `AGENTS.md` en tu directorio de configuración de usuario:

<Tabs>
  <Tab title="Linux / macOS">
    ```
    ~/.config/devin/AGENTS.md
    ```
  </Tab>

  <Tab title="Windows">
    ```
    %APPDATA%\devin\AGENTS.md
    ```
  </Tab>
</Tabs>

Las reglas globales se cargan al inicio de cada sesión, sin importar en qué proyecto estés trabajando. Úsalas para definir preferencias personales que se apliquen en todas partes:

```markdown theme={null}
# My Global Rules

- Always write commit messages in conventional commit format
- Prefer functional patterns over imperative code
- Run tests before suggesting a task is complete
```

Las reglas globales funcionan junto con las reglas del proyecto; ambas se cargan y están activas al mismo tiempo. `AGENT.md` también se admite en esta ubicación.

<Tip>
  Si usas Claude Code, Devin CLI también lee `~/.claude/CLAUDE.md` como regla global.
</Tip>

***

<div id="personal-rules-with-agentslocalmd">
  ## Rules personales con AGENTS.local.md
</div>

Si tienes instrucciones personales que no deberían compartirse con colaboradores —como tu estilo de trabajo preferido, tus hábitos de pruebas o tus preferencias de revisión—, crea un archivo `AGENTS.local.md` junto a tu `AGENTS.md`:

```markdown theme={null}
# Mis Rules Personales

- Siempre comenzar escribiendo pruebas que fallen antes de implementar una corrección
- Preferir patrones funcionales sobre código imperativo
- Ejecutar el conjunto de prueba completo antes de marcar una tarea como completada
```

Este archivo se carga junto con `AGENTS.md` y tiene el mismo comportamiento activo. Agrégalo a tu `.gitignore` para que se mantenga local:

```gitignore theme={null}
AGENTS.local.md
```

<Tip>
  Esto sigue la misma convención que `.devin/config.local.json` — el sufijo `.local.` indica una anulación personal que no debería guardarse en el control de versiones.
</Tip>

***

<div id="supported-file-names">
  ## Nombres de archivo compatibles
</div>

Devin CLI lee Rules de cualquiera de estos archivos:

| Archivo           | Notas                                 |
| ----------------- | ------------------------------------- |
| `AGENTS.md`       | Recomendado                           |
| `AGENTS.local.md` | Rules personales (gitignored)         |
| `AGENT.md`        | Alternativa en singular               |
| `.windsurfrules`  | Rules de workspace de Legacy Windsurf |
| `CLAUDE.md`       | Compatible con Claude Code            |

Todos se tratan por igual: su contenido se carga como Rules activas.

Estos archivos pueden existir en múltiples niveles de tu proyecto (no solo en la raíz). Los archivos en la raíz del workspace se cargan al inicio de la sesión. Los archivos en subdirectorios se detectan de forma diferida cuando el agente accede a archivos de ese directorio, lo que mantiene el contexto centrado en la parte relevante de la base de código.

También pueden colocarse en el [directorio de configuración global](#global-rules) para que se apliquen a todos los proyectos, excepto `CLAUDE.md`, que se lee globalmente desde `~/.claude/CLAUDE.md`.

***

<div id="rules-from-other-tools">
  ## Reglas de otras herramientas
</div>

Si vienes de otra herramienta de codificación con IA, Devin CLI puede leer tus reglas existentes:

<AccordionGroup>
  <Accordion title="Cursor">
    Devin CLI lee las reglas de `.cursor/rules/*.md` y `.cursor/rules/*.mdc`.

    Las reglas de Cursor admiten frontmatter para controlar la activación:

    ```markdown theme={null}
    ---
    description: "React component guidelines"
    globs: "src/components/**/*.tsx"
    alwaysApply: false
    ---

    Use functional components with hooks. Never use class components.
    ```

    **Comportamiento de activación:**

    * `alwaysApply: true` — Siempre activa
    * `globs` especificado — Activa al trabajar con archivos que coinciden
    * Solo `description` — El agente decide cuándo aplicarla
    * Ninguno de los anteriores — El usuario debe invocarla manualmente
  </Accordion>

  <Accordion title="Windsurf">
    Devin CLI lee las reglas de `.windsurf/rules/*.md` y `.windsurf/global_rules.md`.

    **Compatibilidad con subdirectorios:** Los directorios `.windsurf/rules/` pueden existir en múltiples niveles de tu proyecto, no solo en la raíz. Las reglas en la raíz del workspace se cargan al inicio de la sesión. Las reglas en subdirectorios se detectan de forma diferida: cuando el agente accede a archivos de ese directorio, cualquier `.windsurf/rules/` que encuentre allí (y en los directorios superiores hasta la raíz del workspace) se carga automáticamente. Esto evita contaminar el contexto del agente con reglas de partes no relacionadas del proyecto.

    Las reglas de Windsurf admiten frontmatter:

    ```markdown theme={null}
    ---
    description: "API design rules"
    trigger: always_on
    ---

    All API endpoints must return JSON with a consistent envelope format.
    ```

    **Valores de `trigger`:** `always_on`, `manual`, `model_decision`, `agent`, `glob`
  </Accordion>

  <Accordion title="Claude Code">
    Devin CLI lee las reglas del directorio `.claude/`.
  </Accordion>
</AccordionGroup>

<Warning>
  Devin CLI no admite archivos `.codeiumignore`. Si usas el autocompletado de Codeium y has configurado patrones de exclusión, esos patrones no se aplicarán a Devin CLI.
</Warning>

***

<div id="controlling-imports">
  ## Control de importaciones
</div>

Puedes habilitar o deshabilitar la lectura de formatos de herramienta específicos en tu archivo de configuración (`~/.config/devin/config.json` — o `%APPDATA%\devin\config.json` en Windows — o `.devin/config.json`):

```json theme={null}
{
  "read_config_from": {
    "agents_standard": true,
    "cursor": true,
    "windsurf": true,
    "claude": true
  }
}
```

De forma predeterminada, se leen las Rules estándar del proyecto de `AGENTS.md`, `AGENTS.local.md`, `AGENT.md` y `.windsurfrules`. Establece `"agents_standard": false` para desactivar su importación.

***

<div id="rule-activation-types">
  ## Tipos de activación de reglas
</div>

Las reglas cargadas desde formatos externos pueden tener distintos comportamientos de activación:

| Tipo                          | Comportamiento                                                                       |
| ----------------------------- | ------------------------------------------------------------------------------------ |
| **Siempre activas**           | Activas en todas las sesiones, sin necesidad de ninguna acción por parte del usuario |
| **Activadas por glob**        | Activas cuando el agente trabaja con archivos que coinciden con patrones específicos |
| **Decididas por el agente**   | El agente decide cuándo aplicarlas según la descripción de la regla                  |
| **Invocables por el usuario** | Solo se activan cuando el usuario las invoca explícitamente                          |

Las reglas de `AGENTS.md` son siempre "siempre activas".

***

<div id="best-practices">
  ## Mejores prácticas
</div>

<CardGroup cols={2}>
  <Card title="Mantén las reglas concisas" icon="compress">
    Las reglas largas y verbosas dispersan la atención del agente. Céntrate en lo más importante.
  </Card>

  <Card title="Sé específico" icon="bullseye">
    "Usa pnpm" es mejor que "usa el gestor de paquetes adecuado". Las instrucciones concretas son más fáciles de seguir.
  </Card>

  <Card title="Incluye ejemplos" icon="code">
    Muestra el patrón que quieres, no solo lo describas.
  </Card>

  <Card title="Contrólalas con versiones" icon="code-branch">
    Mantén las reglas en tu repo para que todo el equipo se beneficie de las mismas pautas.
  </Card>
</CardGroup>

<Note>
  Para la mayoría de los tipos de reglas más comunes, considera usar skills en su lugar. Las skills te dan más control sobre cuándo y cómo se aplican.
</Note>
