Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt

Use this file to discover all available pages before exploring further.

Devin CLI charge la configuration à partir de plusieurs sources et les combine. Comprendre cet ordre de priorité vous aide à définir la configuration adaptée à votre Team et à vos préférences personnelles.

Couches de configuration

De la priorité la plus élevée à la plus faible :
PrioritéSourceRemarques
1 (la plus élevée)Organization / Team SettingsNe peut pas être surchargé
2Session (approbations interactives)En mémoire uniquement
3Projet local (.devin/config.local.json)Personnel, ignoré par git
4Projet (.devin/config.json)Partagé avec l’équipe
5 (la plus faible)Utilisateur (~/.config/devin/config.json; %APPDATA%\devin\config.json sous Windows)Vos valeurs par défaut
Lorsque le même paramètre est défini à plusieurs niveaux, c’est la source de priorité la plus élevée qui l’emporte.

Quand utiliser chaque niveau

Configuration utilisateur

Chemin : ~/.config/devin/config.json (%APPDATA%\devin\config.json sous Windows)À utiliser pour les préférences personnelles qui s’appliquent partout :
  • Préférence de modèle par défaut
  • Préférence de thème
  • Serveurs MCP personnels (p. ex. vos propres API keys)
  • Autorisations globales
{
  "agent": { "model": "opus" },
  "permissions": {
    "allow": ["Read(**)", "Exec(git)"]
  }
}
Chemin : .devin/config.jsonÀ utiliser pour les standards de Team versionnés dans le dépôt. Seuls permissions, mcpServers, read_config_from et hooks sont disponibles à ce niveau :
  • Serveurs MCP partagés (avec une configuration non secrète)
  • Politiques d’autorisations de Team
  • Settings d’importation
  • Hooks de cycle de vie
{
  "permissions": {
    "allow": ["Exec(npm run)", "Read(src/**)"],
    "deny": ["Exec(sudo)"]
  },
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"]
    }
  }
}
Chemin : .devin/config.local.jsonÀ utiliser pour les dérogations personnelles qui ne doivent pas être versionnées :
  • API keys et secrets
  • Préférences personnelles d’outil pour ce projet
  • Dérogations d’autorisations
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_my_personal_token"
      }
    }
  }
}
Les fichiers de configuration locaux sont automatiquement exclus de git via .git/info/exclude.
Gérés par votre administrateur Enterprise via le tableau de bord des Settings du Team. Ces paramètres ne peuvent pas faire l’objet de dérogations par les utilisateurs individuels et appliquent des politiques à l’échelle de l’organisation, comme des restrictions sur les modèles et des listes d’autorisation de serveurs MCP.

Ce qui est disponible à chaque niveau

Tous les Settings ne peuvent pas être définis au niveau du projet. Les configurations de projet (.devin/config.json et .devin/config.local.json) prennent en charge :
ParamètreConfig. utilisateurConfig. du projet
permissions
mcpServers
read_config_from
hooks
agent (modèle)
theme_mode
unicode_mode
show_path
include_gitignored_files
sandbox
Les Settings marqués comme disponibles uniquement dans la configuration utilisateur ne peuvent être définis que dans la configuration utilisateur (~/.config/devin/config.json ; %APPDATA%\devin\config.json sous Windows) et n’entrent pas dans la hiérarchie de priorité ci-dessus.

Comment fonctionne la fusion

Le tableau de priorité ci-dessus ne s’applique qu’aux Settings qui prennent en charge plusieurs niveaux (permissions, mcpServers, read_config_from, hooks).

Autorisations

Les listes d’autorisations sont cumulées (combinées) entre les différents niveaux. Un refus à un niveau supérieur ne peut pas être annulé par une autorisation à un niveau inférieur. Par exemple, si votre organisation refuse Exec(sudo), ajouter Exec(sudo) à votre liste d’autorisations utilisateur n’a aucun effet — le refus défini au niveau de l’organisation l’emporte toujours. En revanche, d’autres autorisations comme Read(**) au niveau du projet s’appliquent normalement.

Serveurs MCP

Les configurations des serveurs MCP sont fusionnées en fonction de leur nom. Un serveur défini à un niveau supérieur prend le pas sur un serveur du même nom défini à un niveau inférieur. Par exemple, si votre configuration utilisateur et la configuration du projet définissent toutes deux un serveur “github”, c’est la version de la configuration du projet qui l’emporte, car elle est prioritaire sur la configuration utilisateur.

Hooks

Les hooks sont collectés à partir de toutes les sources et s’exécutent tous. Un hook défini dans la configuration utilisateur s’exécute en parallèle des hooks définis dans la configuration du projet — ils ne se remplacent pas les uns les autres.

Détection de la racine du projet

Devin CLI détecte la racine de votre projet en recherchant un répertoire .git ou .jj en remontant depuis votre répertoire de travail actuel. La configuration du projet (.devin/) est chargée depuis la racine du projet.
Si vous avez des répertoires .devin/ imbriqués (p. ex. dans un monorepo), les configurations des sous-répertoires sont prioritaires sur celles des répertoires parents.

Résumé de la détection des fichiers

FichierDétecté viaPartagé ?
~/.config/devin/config.jsonChemin XDGNon
.devin/config.jsonEn remontant depuis le répertoire courantOui (versionné)
.devin/config.local.jsonEn remontant depuis le répertoire courantNon (ignoré par Git)
.devin/skills/*/SKILL.mdRacine du projetOui (versionné)
~/.config/devin/skills/*/SKILL.mdChemin XDGNon
AGENTS.mdRacine du projetOui (versionné)
~/.config/devin/AGENTS.mdChemin XDGNon
Windows : Les chemins affichés sous la forme ~/.config/devin/ utilisent la convention XDG pour Linux/macOS. Sous Windows, ils correspondent à %APPDATA%\devin\ (généralement C:\Users\<YourUser>\AppData\Roaming\devin\).