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

# Configurazione classica

> Configura l'ambiente di Devin tramite la procedura guidata interattiva classica.

<Info>Cerchi una configurazione dichiarativa? Consulta [Configurazione dichiarativa (blueprint)](/it/onboard-devin/environment/blueprints) per l'approccio consigliato per le nuove configurazioni.</Info>

Devin funziona caricando uno snapshot di una macchina virtuale all'inizio di ogni sessione. Affinché Devin sia il più efficace possibile, questo snapshot dovrebbe includere tutti i repository su cui vuoi che lavori, oltre a tutti gli strumenti e alle dipendenze di cui potrebbe aver bisogno per lavorare sulla tua codebase. In questo modo Devin può concentrarsi sulla scrittura del codice invece di dover configurare l'ambiente ogni volta!

In questa guida vedremo come effettuare l'onboarding di Devin su uno dei tuoi repository e come configurare l'ambiente di Devin (lo snapshot della macchina virtuale). Puoi pensarla come la configurazione del portatile di Devin per il primo giorno di lavoro.

<Tip>
  Configurare correttamente l'ambiente di Devin migliorerà in modo significativo le
  prestazioni di Devin sulla tua codebase. Immagina se ogni volta che iniziassi un'attività il tuo
  laptop e una parte della tua memoria venissero cancellati: è quello che succede a Devin con
  una configurazione errata o incompleta!
</Tip>

<div id="add-a-repository">
  ## Aggiungi un repository
</div>

Per prima cosa, assicurati che Devin abbia accesso ai tuoi repository. I repository possono essere aggiunti in qualsiasi momento configurando l'accesso di Devin in:

* **Teams**: [Settings > Connections](https://app.devin.ai/settings/connections)
* **Enterprise**: [Enterprise Settings > Integrations](https://app.devin.ai/settings/connected-accounts)

Ora, all'interno di un'Organization, vai su [Devin's Machine](https://app.devin.ai/machine) e fai clic su **Add repository**. Seleziona i repository che vuoi aggiungere all'ambiente di Devin, quindi fai clic su **Start** per iniziare a configurarli.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/w4vSTUGo6EvTx13l/images/onboard-devin/Start-Repo-Setup.png?fit=max&auto=format&n=w4vSTUGo6EvTx13l&q=85&s=6337c4725e562caa5c847e46b5d3353c" alt="Devin" width="1764" height="548" data-path="images/onboard-devin/Start-Repo-Setup.png" />
</Frame>

<Tip>
  La macchina di Devin è in esecuzione su Ubuntu 22.04 (x86\_64). Prova a premere Ctrl+K nel terminale per generare automaticamente un comando di installazione.
</Tip>

<div id="set-up-the-repository-and-development-environment">
  ## Configurare il repository e l'ambiente di sviluppo
</div>

Una volta in Repo Setup, vedrai tre pannelli:

1. **Passaggi per la configurazione del repository**: mostra tutti e 8 i passaggi di configurazione in ordine, insieme ai comandi risultanti che verranno salvati nella tua configurazione.
2. **Devin AI Setup Agent**: Devin può suggerire cosa fare per ciascun passaggio in base al tuo repository specifico e iterare sulla configurazione finché non è pronta per essere salvata.
3. **VSCode Terminal**: ti consente di eseguire qualsiasi comando o esplorare il file system direttamente nell'ambiente VSCode incorporato.

<div id="ai-generated-suggestions">
  ### Suggerimenti generati dall'IA
</div>

Quando aggiungi un repository, Devin genera automaticamente suggerimenti di configurazione per ogni passaggio in base all'analisi della codebase. Puoi accettare o rifiutare ogni suggerimento singolarmente, oppure affinarli ulteriormente con Devin AI Setup Agent.

<div id="repository-setup-steps">
  ### Passaggi per la configurazione del repository
</div>

<Steps>
  <Step title="Git Pull">
    Il comando che Devin esegue all'inizio di ogni sessione per recuperare le ultime modifiche dal repository. Nella maggior parte dei casi è consigliabile mantenere il comando predefinito. Assicurati che Devin abbia accesso a tutti i sottomoduli nel repository.
  </Step>

  <Step title="Configura i segreti">
    Configura tutti i segreti o le variabili di ambiente di cui Devin ha bisogno per lavorare con il tuo repository. Consulta [Configurare i segreti](#configuring-secrets) per maggiori dettagli.
  </Step>

  <Step title="Installa le dipendenze">
    Comandi per installare le dipendenze iniziali del tuo repository. Vengono eseguiti una sola volta durante la configurazione per preparare l'ambiente di Devin.
  </Step>

  <Step title="Mantieni le dipendenze">
    Comandi che Devin esegue dopo il git pull all'avvio della sessione, nel caso siano state aggiunte nuove dipendenze. In genere dovrebbe essere lo stesso comando che usi per installare le dipendenze (ad es. `npm install`, `pip install -r requirements.txt`, ecc.).
  </Step>

  <Step title="Configura il lint">
    Comandi che Devin deve usare per eseguire il linting o controllare gli errori di sintassi. Devin analizzerà l'output di questi comandi prima di effettuare il commit delle modifiche.
  </Step>

  <Step title="Configura i test">
    Comandi che Devin deve usare per eseguire i test. Come per i comandi di linting, Devin analizzerà l'output di questi comandi prima di effettuare il commit delle modifiche.
  </Step>

  <Step title="Esegui l'app in locale">
    Indica a Devin come eseguire il tuo codice in locale. Questo è utile se Devin deve eseguire il tuo codice per testare o eseguire il debug delle modifiche. Puoi usare il browser di Devin per accedere ai siti web che vuoi che Devin utilizzi. Aggiungi le credenziali di accesso ai [segreti](/it/product-guides/secrets) se la sessione di login scade.
  </Step>

  <Step title="Note aggiuntive">
    Aggiungi eventuali istruzioni aggiuntive per Devin quando lavora su questo repository.
  </Step>
</Steps>

<div id="finish-or-save-setup">
  ### Concludi o salva la configurazione
</div>

Quando sei soddisfatto della configurazione, fai clic su **Finish Setup** per salvarla. Questo rieseguirà tutti i comandi dei passaggi di configurazione per preparare l'ambiente di Devin.

Se non hai finito di apportare modifiche, fai clic su **Finish Later** per salvare la configurazione. Questo manterrà la configurazione in corso e ti consentirà di tornarci in seguito. Tuttavia, nota che **può essere attiva una sola configurazione alla volta**, quindi non consigliamo di usare questa opzione se non è strettamente necessario.

<Tip>
  **Suggerimenti per configurare i comandi:**

  * Esegui prima i comandi nel terminale di VS Code per popolare la cache prima della verifica.
  * Se un comando deve essere eseguito in una directory specifica, usa `cd` in questo modo: `cd <directory> && <command>`.
  * Se il tuo progetto non ha un comando di lint, puoi includere il comando di build così che Devin verifichi la presenza di eventuali errori di compilazione.
  * Se la procedura di lint o test per il tuo progetto è complessa, puoi saltare quei passaggi e spiegarli a Devin nel passaggio **Additional Notes**.
  * Consulta la [sezione di troubleshooting](#troubleshooting) se riscontri problemi durante la verifica dei comandi.
</Tip>

<div id="configure-previously-added-repositories">
  ## Configurare i repository aggiunti in precedenza
</div>

Puoi sempre modificare o aggiungere un nuovo repository dalla sezione [Settings > Devin's Machine](https://app.devin.ai/machine).

Per modificare un repository esistente, fai clic su **Configure** in alto a destra nella pagina, poi su Add/Modify/Remove repo, seleziona il repository che vuoi modificare e fai clic su submit.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/w4vSTUGo6EvTx13l/images/onboard-devin/Configure-Devins-Machine.png?fit=max&auto=format&n=w4vSTUGo6EvTx13l&q=85&s=013282a4c4e0f00111f2b150a2fa946b" alt="Devin" width="1742" height="832" data-path="images/onboard-devin/Configure-Devins-Machine.png" />
</Frame>

In alternativa, puoi selezionare dall'elenco il repository esistente che vuoi modificare e fare clic su **Modify repo setup** per modificarne i passaggi di configurazione.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/w4vSTUGo6EvTx13l/images/onboard-devin/modify-repo-setup.png?fit=max&auto=format&n=w4vSTUGo6EvTx13l&q=85&s=9a066de8525859099c694d420ebab1f6" alt="Devin" width="2098" height="1634" data-path="images/onboard-devin/modify-repo-setup.png" />
</Frame>

<div id="machine-version-history">
  ### Cronologia delle versioni della macchina
</div>

Se durante la configurazione introduci per errore una modifica che interrompe il funzionamento, puoi tornare a un'istantanea precedente dell'ambiente. Vai su [Settings > Devin's Machine](https://app.devin.ai/machine), passa alla scheda **Version History** e ripristina un'istantanea precedente di cui sai che funzionava correttamente.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/w4vSTUGo6EvTx13l/images/onboard-devin/Devin-Machine-Version-History.png?fit=max&auto=format&n=w4vSTUGo6EvTx13l&q=85&s=fab3db71873fc8c3049a497730d4ca77" alt="Devin" width="1746" height="1082" data-path="images/onboard-devin/Devin-Machine-Version-History.png" />
</Frame>

<div id="configuring-secrets">
  ## Configurazione dei secret
</div>

I secret come API key, password e token possono essere aggiunti dalla dashboard [secrets](/it/product-guides/secrets). Quando possibile, consigliamo di usare un file `.env` nell'ambiente di Devin con [`direnv`](https://direnv.net/) per gestire automaticamente le variabili d'ambiente. Consulta l'[esempio di configurazione delle variabili d'ambiente](#configuring-environment-variables) riportato di seguito per i dettagli.

<div id="examples">
  ## Esempi
</div>

Di seguito sono riportati alcuni esempi di come configurare l’ambiente di Devin per diversi casi d’uso.

Poiché Devin esegue tutti i comandi utilizzando bash, una pratica comune consiste nel modificare il file `~/.bashrc` per configurare automaticamente la shell di Devin. Puoi eseguire `devin ~/.bashrc` nel terminale per modificare il file in VS Code.

<div id="configuring-environments-automatically-for-different-repositories">
  ### Configurare automaticamente gli ambienti per diversi repository
</div>

<Tip>
  Dopo il 24 aprile 2025, i team che si iscrivono a Devin dovrebbero vedere la sezione `custom_cd`
  già presente nel loro `~/.bashrc`. Dovrai quindi soltanto aggiornare quella sezione
  per i tuoi repository.
</Tip>

Supponiamo che tu abbia due repository che richiedono versioni diverse di Node e che tu voglia che Devin usi automaticamente la versione corretta per ciascun repository. Useremo [`nvm`](https://github.com/nvm-sh/nvm) per installare e gestire le versioni di Node. `nvm` dovrebbe essere già installato sulla macchina di Devin.

Per prima cosa, installeremo le due versioni di Node eseguendo i seguenti comandi nel terminale di VS Code:

```bash theme={null}
nvm install 18
nvm install 20
```

Apri quindi il file `~/.bashrc` eseguendo `devin ~/.bashrc` nel terminale. Aggiungi quanto segue a `~/.bashrc`.

```bash theme={null}
function custom_cd() {
  builtin cd "$@"

  if [[ "$PWD" == "$HOME/repos/node18"* ]]; then
    nvm use 18 >/dev/null 2>&1
  elif [[ "$PWD" == "$HOME/repos/node20"* ]]; then
    nvm use 20 >/dev/null 2>&1
  fi
}

alias cd='custom_cd'
cd $PWD
```

Questo eseguirà `nvm use 18` ogni volta che Devin è nel repository `node18` e `nvm use 20` ogni volta che Devin è nel repository `node20`.

<div id="configuring-environment-variables">
  ### Configurazione delle variabili d'ambiente
</div>

[`direnv`](https://direnv.net/) è preinstallato sulla macchina di Devin e può essere usato per gestire le variabili d'ambiente per ogni repository. L'hook di direnv è già configurato in `~/.bashrc`.

Per configurare le variabili d'ambiente per un repository, crea un file `.envrc` nella directory principale del repository. Ad esempio:

```bash theme={null}
export ENV_VAR=1
export ANOTHER_ENV_VAR=2
```

Infine, eseguiremo il comando `direnv allow` nel terminale per caricare le variabili d'ambiente.

D'ora in poi, quando lavorerà nel nostro repository nelle sessioni future, Devin avrà nel proprio ambiente le variabili d'ambiente presenti nel nostro file `.envrc`.

<Tip>
  Ti consigliamo di aggiungere `.envrc` al tuo file `.gitignore` in modo che Devin non lo
  faccia accidentalmente il commit nel repository.
</Tip>

<div id="adding-directories-to-the-system-path">
  ### Aggiungere directory al PATH di sistema
</div>

Possiamo modificare `~/.bashrc` per aggiungere directory al PATH di sistema. Questo renderà più semplice per Devin eseguire i file eseguibili presenti in tali directory. Ad esempio, possiamo aggiungere quanto segue a `~/.bashrc`, il che aggiungerà la directory `~/bin` al PATH di sistema.

```bash theme={null}
export PATH="$HOME/bin:$PATH"
```

Ora Devin potrà eseguire i file eseguibili presenti nella directory `~/bin` senza dover specificare il percorso completo.

<div id="logging-in-to-websites">
  ## Accesso ai siti web
</div>

Durante la configurazione dell'ambiente, puoi usare la scheda Browser per accedere a qualsiasi sito web con cui vuoi che Devin interagisca. I relativi cookie di sessione verranno archiviati nell'ambiente di Devin e saranno a sua disposizione nelle sessioni future. Se utilizzi un sito web che ti disconnette frequentemente, ti consigliamo anche di configurare le credenziali di Devin nella dashboard [Secrets](/it/product-guides/secrets).

<div id="scripted-browser-use-via-playwright">
  ### Uso del browser tramite script con Playwright
</div>

Per le app che richiedono l'autenticazione tramite browser (SSO, OAuth, ecc.) o l'inserimento sistematico di dati, Devin può scrivere ed eseguire script Playwright per automatizzare questi flussi sul proprio browser in esecuzione. Puoi anche scrivere questi script tu stesso e aggiungerli al tuo repo. Il browser Chrome di Devin espone un endpoint **Chrome DevTools Protocol (CDP)** a cui Playwright può connettersi all'indirizzo `http://localhost:29229`.

```python theme={null}
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp("http://localhost:29229")
    context = browser.contexts[0]
    page = context.pages[0] if context.pages else context.new_page()

    # Automatizza qui il flusso di accesso
    page.goto("https://your-app.com/login")
    page.fill('input[name="email"]', "user@example.com")
    page.fill('input[name="password"]', "password")
    page.click('button[type="submit"]')
    page.wait_for_url("**/dashboard")
```

Dopo l'esecuzione dello script, la sessione autenticata (cookie, localStorage, token di autenticazione) persiste nel browser di Devin. Devin può quindi aggiornare le pagine, navigare e interagire normalmente con l'app: l'accesso resta valido.

<Tip>
  Salva gli script di login nella directory `.agents/skills/` della tua repo e fai riferimento alle credenziali tramite [Secrets](/it/product-guides/secrets), in modo che Devin possa autenticarsi automaticamente in ogni sessione. Per maggiori dettagli, consulta [Computer Use — Scripted Browser Use](/it/work-with-devin/computer-use#scripted-browser-use-via-playwright).
</Tip>

<div id="troubleshooting">
  ## Risoluzione dei problemi
</div>

<div id="why-arent-my-commands-being-verified">
  ### Perché i miei comandi non vengono verificati?
</div>

Se riscontri un errore durante la verifica di uno dei comandi, prova a ispezionarne l'output ed eseguire tu stesso il comando in una nuova sessione di terminale.

1. Controlla il percorso dell'eseguibile che stai eseguendo. Consigliamo vivamente di usare percorsi assoluti oppure di [aggiungere gli eseguibili al PATH di sistema](#adding-directories-to-the-system-path).
2. Assicurati di aver installato gli strumenti e le dipendenze necessari per eseguire il comando. Se non lo hai fatto, usa Setup Agent o il terminale di VS Code per installarli, quindi verifica di nuovo.
3. Controlla che i comandi vengano eseguiti nella directory corretta. Se i comandi devono essere eseguiti in una directory specifica, puoi usare `cd` in questo modo: `cd <directory> && <command>`.
4. Controlla di usare le **versioni corrette dei linguaggi di programmazione** (ad es. le versioni corrette di Node, Python, ecc.).
5. Potresti voler **modificare il tuo `~/.bashrc`** per usare automaticamente l'ambiente corretto.
   Consulta la nostra guida per un esempio di [come usare la versione corretta del linguaggio per repository diversi](#configuring-environments-automatically-for-different-repositories).

<div id="my-commands-work-when-i-run-them-manually">
  ### I miei comandi funzionano quando li eseguo manualmente
</div>

Verifica di aver configurato il tuo bashrc in modo che una nuova sessione bash abbia accesso agli strumenti necessari. Prova a eseguire i tuoi comandi in un nuovo terminale. Se non funzionano, probabilmente dovrai modificare il tuo bashrc, ad esempio eseguendo alcuni comandi di setup o modificando la variabile di sistema PATH.
Consulta la nostra guida per un esempio di [come usare la versione corretta del linguaggio per repository diversi](#configuring-environments-automatically-for-different-repositories).

I comandi vanno in timeout dopo 5 minuti. Puoi attivare la cache eseguendo i comandi nel terminale di VS Code prima di effettuare la verifica. Non consigliamo di dare a Devin comandi che richiedono più di 5 minuti per essere eseguiti, perché lo rallentano in modo significativo.

<div id="devin-cant-run-my-linttest-commands-in-sessions">
  ### Devin non riesce a eseguire i miei comandi di lint/test nelle sessioni
</div>

Dai un'occhiata all'output del terminale di Devin per individuare eventuali errori. Puoi anche provare a eseguire tu stesso i comandi in un nuovo terminale per verificare se funzionano. Se necessario, puoi tornare al processo di configurazione del repository per modificare l'ambiente di Devin.

<div id="the-git-pull-step-isnt-working">
  ### Il passaggio `git pull` non funziona
</div>

Controlla che Devin abbia accesso al repository e ai relativi sottomoduli. Consulta anche la [documentazione sull'integrazione con GitHub](/it/integrations/gh) se riscontri problemi di permessi.

<div id="all-done">
  ## Tutto fatto!
</div>

Congratulazioni! Hai completato l'onboarding di Devin e puoi iniziare a sviluppare insieme a lui. È il momento di avviare [la tua prima sessione](/it/get-started/first-run). Tieni presente che Devin lavora al meglio quando:

* Gli spieghi come verificare i propri progressi
* Suddividi i task più grandi
* Condividi fin da subito requisiti dettagliati
* Esegui più sessioni in parallelo

Se ti serve supporto, non esitare a scriverci a [support@cognition.ai](mailto:support@cognition.ai).
