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

# Regras e AGENTS.md

> Forneça instruções e contexto sempre ativos que orientem o agente em todas as sessões

As regras são instruções persistentes que definem como o Devin CLI se comporta no seu projeto. Elas são injetadas no contexto do agente no início de cada sessão, garantindo um comportamento consistente em toda a equipe.

Os usos mais comuns das regras incluem padrões de código, diretrizes de arquitetura, bibliotecas preferidas, convenções de testes e restrições específicas do projeto.

**Para melhorar a capacidade de programação, agilizar a conclusão e reduzir custos**, recomendamos fortemente **usar Skills sempre que possível**. As Skills só são injetadas no contexto quando relevantes. **Regras e AGENTS devem ser mantidos o mais enxutos possível.**

**O padrão que recomendamos** é usar uma regra para fazer referência a skills que o modelo deve usar em cenários específicos.

***

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

A maneira mais simples de adicionar regras é usar um arquivo `AGENTS.md` na raiz do seu projeto:

```markdown theme={null}
# Regras do Projeto

- Use TypeScript para todos os novos arquivos
- Siga os padrões existentes em src/components/
- Sempre execute `npm run lint` antes de fazer commit
- Use pnpm, não npm ou yarn
- Escreva testes para todas as novas funções utilitárias
```

O Devin CLI lê este arquivo automaticamente.

<Tip>
  `AGENTS.md` é a forma recomendada de definir regras do projeto. É fácil de ler, fica em controle de versão e funciona em várias ferramentas de IA.
</Tip>

***

<div id="global-rules">
  ## Regras globais
</div>

Você também pode criar regras que se aplicam a **todos os projetos** adicionando um arquivo `AGENTS.md` ao diretório de configuração do usuário:

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

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

As regras globais são carregadas no início de cada sessão, independentemente do projeto em que você estiver trabalhando. Use-as para preferências pessoais que se aplicam em qualquer lugar:

```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
```

As regras globais funcionam junto com as regras do projeto — ambas são carregadas e ficam ativas ao mesmo tempo. `AGENT.md` também é aceito nesse local.

<Tip>
  Se você usa Claude Code, o Devin CLI também lê `~/.claude/CLAUDE.md` como regra global.
</Tip>

***

<div id="personal-rules-with-agentslocalmd">
  ## Regras pessoais com AGENTS.local.md
</div>

Se você tiver instruções pessoais que não devam ser compartilhadas com colaboradores — como seu estilo de trabalho preferido, práticas de teste ou preferências de revisão — crie um arquivo `AGENTS.local.md` ao lado do seu `AGENTS.md`:

```markdown theme={null}
# Minhas Regras Pessoais

- Sempre comece escrevendo testes com falha antes de implementar uma correção
- Prefira padrões funcionais em vez de código imperativo
- Execute o conjunto completo de testes antes de marcar uma tarefa como concluída
```

Este arquivo é carregado junto com `AGENTS.md` e tem o mesmo comportamento sempre ativo. Adicione-o ao seu `.gitignore` para que permaneça local:

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

<Tip>
  Isso segue a mesma convenção de `.devin/config.local.json` — o sufixo `.local.` indica um override pessoal que não deve ser comitado.
</Tip>

***

<div id="supported-file-names">
  ## Nomes de arquivo compatíveis
</div>

O Devin CLI lê regras de qualquer um destes arquivos:

| Arquivo           | Observações                            |
| ----------------- | -------------------------------------- |
| `AGENTS.md`       | Recomendado                            |
| `AGENTS.local.md` | Regras pessoais (gitignored)           |
| `AGENT.md`        | Alternativa no singular                |
| `.windsurfrules`  | Regras de workspace do Legacy Windsurf |
| `CLAUDE.md`       | Compatível com Claude Code             |

Todos eles recebem o mesmo tratamento — seu conteúdo é carregado como regras sempre ativas.

Esses arquivos podem existir em vários níveis do seu projeto (não apenas na raiz). Os arquivos na raiz do workspace são carregados no início da sessão. Os arquivos em subdiretórios são descobertos sob demanda quando o agente acessa arquivos nesse diretório, mantendo o contexto focado na parte relevante da base de código.

Eles também podem ser colocados no [diretório de configuração global](#global-rules) para se aplicar a todos os projetos, exceto `CLAUDE.md`, que é lido globalmente em `~/.claude/CLAUDE.md`.

***

<div id="rules-from-other-tools">
  ## Regras de Outras Ferramentas
</div>

Se você está migrando de outra ferramenta de programação com IA, o Devin CLI pode ler suas regras existentes:

<AccordionGroup>
  <Accordion title="Cursor">
    O Devin CLI lê de `.cursor/rules/*.md` e `.cursor/rules/*.mdc`.

    As regras do Cursor oferecem suporte a frontmatter para controlar a ativação:

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

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

    **Comportamento de ativação:**

    * `alwaysApply: true` — Sempre ativa
    * `globs` especificado — Ativa ao trabalhar com arquivos correspondentes
    * Apenas `description` — O agente decide quando aplicar
    * Nenhum dos itens acima — O usuário deve acionar manualmente
  </Accordion>

  <Accordion title="Windsurf">
    O Devin CLI lê de `.windsurf/rules/*.md` e `.windsurf/global_rules.md`.

    **Suporte a subdiretórios:** os diretórios `.windsurf/rules/` podem existir em vários níveis do seu projeto, não apenas na raiz. As regras na raiz do workspace são carregadas no início da sessão. As regras em subdiretórios são descobertas sob demanda — quando o agente acessa arquivos nesse diretório, qualquer `.windsurf/rules/` encontrado ali (e nos diretórios pai até a raiz do workspace) é carregado automaticamente. Isso evita poluir o contexto do agente com regras de partes não relacionadas do projeto.

    As regras do Windsurf oferecem suporte a 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">
    O Devin CLI lê do diretório `.claude/`.
  </Accordion>
</AccordionGroup>

<Warning>
  O Devin CLI não oferece suporte a arquivos `.codeiumignore`. Se você usa o preenchimento automático do Codeium e configurou padrões de exclusão, esses padrões não se aplicarão ao Devin CLI.
</Warning>

***

<div id="controlling-imports">
  ## Controle de importações
</div>

Você pode ativar ou desativar a leitura de formatos específicos de ferramentas no seu arquivo de configuração (`~/.config/devin/config.json` — ou `%APPDATA%\devin\config.json` no Windows — ou `.devin/config.json`):

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

As regras padrão do projeto em `AGENTS.md`, `AGENTS.local.md`, `AGENT.md` e `.windsurfrules` são lidas por padrão. Defina `"agents_standard": false` para desativar a importação dessas regras.

***

<div id="rule-activation-types">
  ## Tipos de ativação de regras
</div>

Regras carregadas de formatos externos podem ter diferentes comportamentos de ativação:

| Tipo                       | Comportamento                                                                      |
| -------------------------- | ---------------------------------------------------------------------------------- |
| **Sempre ativa**           | Ativa em todas as sessões, sem necessidade de ação do usuário                      |
| **Ativada por glob**       | Ativa quando o agente trabalha com arquivos que correspondem a padrões específicos |
| **Decidida pelo agente**   | O agente escolhe quando aplicá-la com base na descrição da regra                   |
| **Invocável pelo usuário** | Ativa somente quando explicitamente acionada pelo usuário                          |

As regras de `AGENTS.md` são sempre "sempre ativas".

***

<div id="best-practices">
  ## Boas práticas
</div>

<CardGroup cols={2}>
  <Card title="Mantenha as regras concisas" icon="compress">
    Regras longas e verbosas dispersam a atenção do agente. Foque no que é mais importante.
  </Card>

  <Card title="Seja específico" icon="bullseye">
    "Use pnpm" é melhor do que "use o gerenciador de pacotes correto". Instruções concretas são mais fáceis de seguir.
  </Card>

  <Card title="Inclua exemplos" icon="code">
    Mostre o padrão que você quer, não apenas descreva-o.
  </Card>

  <Card title="Mantenha-as sob controle de versão" icon="code-branch">
    Mantenha as regras no seu repo para que toda a equipe se beneficie das mesmas diretrizes.
  </Card>
</CardGroup>

<Note>
  Para a maioria dos tipos comuns de regras, considere usar skills. Elas dão a você mais controle sobre quando e como são aplicadas.
</Note>
