Vai al contenuto principale

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 carica la configurazione da più fonti e le combina tra loro. Comprendere l’ordine di precedenza ti aiuta a impostare la configurazione più adatta al tuo team e alle tue preferenze personali.

Livelli di configurazione

Dalla priorità più alta a quella più bassa:
PrioritàFonteNote
1 (più alta)organizzazione / Team SettingsNon può essere sovrascritta
2Sessione (approvazioni interattive)Solo in memoria
3Progetto locale (.devin/config.local.json)Personale, ignorato da Git
4Progetto (.devin/config.json)Condiviso con il team
5 (più bassa)Utente (~/.config/devin/config.json; %APPDATA%\devin\config.json su Windows)I tuoi valori predefiniti
Quando la stessa impostazione è definita a più livelli, ha la precedenza la fonte con priorità più alta.

Quando usare ciascun livello

Configurazione utente

Percorso: ~/.config/devin/config.json (%APPDATA%\devin\config.json su Windows)Usala per le preferenze personali che si applicano ovunque:
  • Preferenza del modello predefinito
  • Preferenza del tema
  • Server MCP personali (ad es. le tue API key)
  • Autorizzazioni concesse a livello globale
{
  "agent": { "model": "opus" },
  "permissions": {
    "allow": ["Read(**)", "Exec(git)"]
  }
}
Percorso: .devin/config.jsonUsala per gli standard del team salvati nel repository. Solo permissions, mcpServers, read_config_from e hooks sono disponibili a questo livello:
  • Server MCP condivisi (con configurazione non sensibile)
  • Criteri di autorizzazione del team
  • Impostazioni di importazione
  • Hook del ciclo di vita
{
  "permissions": {
    "allow": ["Exec(npm run)", "Read(src/**)"],
    "deny": ["Exec(sudo)"]
  },
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"]
    }
  }
}
Percorso: .devin/config.local.jsonUsala per gli override personali che non devono essere committati:
  • API key e segreti
  • Preferenze personali degli strumenti per questo progetto
  • Override delle autorizzazioni
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_my_personal_token"
      }
    }
  }
}
I file di configurazione locali vengono esclusi automaticamente da git tramite .git/info/exclude.
Gestite dall’amministratore della tua Enterprise tramite la dashboard delle impostazioni del team. Queste impostazioni non possono essere sovrascritte dai singoli utenti e applicano criteri validi per tutta l’organizzazione, come limitazioni del modello e allowlist dei server MCP.

Cosa è disponibile a ciascun livello

Non tutte le impostazioni possono essere configurate a livello di progetto. Le configurazioni del progetto (.devin/config.json e .devin/config.local.json) supportano:
ImpostazioneConfigurazione utenteConfigurazione del progetto
permissions
mcpServers
read_config_from
hooks
agent (modello)
theme_mode
unicode_mode
show_path
include_gitignored_files
sandbox
Le impostazioni contrassegnate come disponibili solo nella configurazione utente possono essere definite solo nella configurazione utente (~/.config/devin/config.json; %APPDATA%\devin\config.json su Windows) e non rientrano nella gerarchia di precedenza sopra descritta.

Come funziona l’unione

La tabella di precedenza sopra si applica solo alle Settings che supportano più livelli (permissions, mcpServers, read_config_from, hooks).

Autorizzazioni

Gli elenchi di autorizzazioni vengono combinati tra i vari livelli. Un divieto a un livello superiore non può essere annullato da un’autorizzazione concessa a un livello inferiore. Per esempio, se la tua organizzazione nega Exec(sudo), aggiungere Exec(sudo) al tuo elenco di autorizzazioni utente non ha alcun effetto: il divieto dell’organizzazione prevale sempre. Tuttavia, altre autorizzazioni come Read(**) a livello di progetto vengono applicate normalmente.

Server MCP

Le configurazioni dei server MCP vengono combinate in base al nome. Un server definito a un livello superiore sovrascrive il server con lo stesso nome definito a un livello inferiore. Ad esempio, se sia la configurazione utente sia la configurazione del progetto definiscono un server “github”, prevale la versione della configurazione del progetto perché ha una priorità superiore rispetto alla configurazione utente.

Hooks

Gli hook vengono raccolti da tutte le fonti e vengono tutti eseguiti. Un hook definito nella configurazione dell’utente viene eseguito insieme agli hook definiti nella configurazione del progetto: non si sovrascrivono a vicenda.

Rilevamento della directory radice del progetto

Devin CLI individua la directory radice del progetto cercando una directory .git o .jj e risalendo dalla directory di lavoro corrente. La configurazione del progetto (.devin/) viene caricata dalla directory radice del progetto.
Se hai directory .devin/ annidate (ad es. in un monorepo), le configurazioni delle sottodirectory hanno la precedenza su quelle delle directory padre.

Riepilogo del rilevamento dei file

FileTrovato tramiteCondiviso?
~/.config/devin/config.jsonPercorso XDGNo
.devin/config.jsonRisalendo dalla cwdSì (nel commit)
.devin/config.local.jsonRisalendo dalla cwdNo (ignorato da git)
.devin/skills/*/SKILL.mdRadice del progettoSì (nel commit)
~/.config/devin/skills/*/SKILL.mdPercorso XDGNo
AGENTS.mdRadice del progettoSì (nel commit)
~/.config/devin/AGENTS.mdPercorso XDGNo
Windows: I percorsi mostrati come ~/.config/devin/ usano la convenzione XDG per Linux/macOS. In Windows, corrispondono a %APPDATA%\devin\ (in genere C:\Users\<YourUser>\AppData\Roaming\devin\).