Pular para o conteúdo principal
A CLI do Devin carrega configurações de várias fontes e as mescla. Compreender a ordem de precedência ajuda você a definir a configuração certa para sua equipe e para suas preferências pessoais.

Camadas de configuração

Da maior para a menor prioridade: Quando a mesma configuração é definida em vários níveis, prevalece a origem de maior prioridade.

Quando usar cada nível

Configuração do usuário

Caminho: ~/.config/devin/config.json (%APPDATA%\devin\config.json no Windows)Use para preferências pessoais que se aplicam em qualquer lugar:
  • Preferência de modelo padrão
  • Preferência de tema
  • Servidores MCP pessoais (por exemplo, suas próprias Chaves de API)
  • Permissões globais concedidas
Caminho: .devin/config.jsonUse para padrões da equipe registrados no repositório. Somente permissions, mcpServers, read_config_from e hooks estão disponíveis neste nível:
  • Servidores MCP compartilhados (com configuração sem segredos)
  • Políticas de permissão da equipe
  • Configurações de importação
  • Hooks de ciclo de vida
Caminho: .devin/config.local.jsonUse para overrides pessoais que não devem ser registrados no repositório:
  • Chaves de API e segredos
  • Preferências pessoais de ferramentas para este projeto
  • Overrides de permissão
Arquivos de configuração local são excluídos automaticamente do git por meio de .git/info/exclude.
Gerenciadas pelo administrador Enterprise por meio do painel de configurações da equipe. Essas configurações não podem ser alteradas por usuários individuais e aplicam políticas válidas para toda a organização, como restrições de modelo e listas de permissões de servidores MCP.

O que está disponível em cada nível

As configurações do projeto (.devin/config.json e .devin/config.local.json) oferecem suporte apenas a um subconjunto de configurações. A tabela abaixo mostra quais configurações estão disponíveis em cada nível: As configurações marcadas como exclusivas do usuário só podem ser definidas na configuração do usuário (~/.config/devin/config.json; %APPDATA%\devin\config.json no Windows) e não fazem parte da hierarquia de precedência acima.

Como funciona a mesclagem

A tabela de precedência acima se aplica apenas a configurações compatíveis com vários níveis (permissions, mcpServers, read_config_from, hooks).

Permissões

As listas de permissão são mescladas entre os níveis. Uma negação em um nível mais alto não pode ser sobreposta por uma permissão em um nível mais baixo. Por exemplo, se a sua organização negar Exec(sudo), adicionar Exec(sudo) à sua lista de permissões de usuário não terá efeito — a negação da organização sempre prevalece. No entanto, outras permissões, como Read(**) no nível do projeto, são aplicadas normalmente.

Servidores MCP

As configurações de servidores MCP são mescladas por nome. Um servidor definido em um nível superior substitui o servidor de mesmo nome em um nível inferior. Por exemplo, se tanto a configuração do usuário quanto a do projeto definirem um servidor “github”, prevalece a versão da configuração do projeto, porque ela tem prioridade sobre a configuração do usuário.

Hooks

Os hooks são reunidos de todas as fontes e todos são executados. Um hook definido na configuração do usuário é executado junto com os hooks definidos na configuração do projeto — eles não substituem uns aos outros.

Detecção da raiz do projeto

O Devin CLI encontra a raiz do projeto procurando um diretório .git ou .jj e percorrendo os diretórios acima a partir do diretório de trabalho atual. A configuração do projeto (.devin/) é carregada da raiz do projeto.
Se você tiver diretórios .devin/ aninhados (por exemplo, em um monorepo), as configurações de subdiretórios têm precedência sobre as configurações dos diretórios ancestrais.

Resumo da descoberta de arquivos

Windows: Os caminhos mostrados como ~/.config/devin/ usam a convenção XDG no Linux/macOS. No Windows, eles correspondem a %APPDATA%\devin\ (normalmente C:\Users\<YourUser>\AppData\Roaming\devin\).