Vai al contenuto principale
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 lavoro di Devin (lo snapshot della macchina virtuale). Puoi pensarla come la configurazione della macchina di Devin per il suo primo giorno di lavoro.
Configurare correttamente l’ambiente di lavoro 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!

Configurare un repository

Per prima cosa, assicurati che Devin abbia accesso ai tuoi repository. Puoi aggiungere repository in qualsiasi momento andando su Settings > Integrations e configurando l’accesso di Devin.
Consulta la Guida all’integrazione con GitHub per maggiori informazioni
Ora vai su Settings > Devin’s Workspace e fai clic su un repository su cui vuoi che Devin lavori. Dovresti vedere la seguente schermata.
Devin
Ora puoi usare VS Code integrato sul lato destro per modificare la macchina virtuale di Devin. Ogni repository sarà nella propria directory sotto ~/repos. Non spostare o eliminare queste directory. Il repository che stai configurando è già stato clonato e la macchina contiene anche tutti gli altri repository che hai configurato in passato. Al termine della configurazione del repository, verrà salvata un’istantanea della macchina virtuale. Le sessioni future di Devin partiranno da questa istantanea e includeranno tutti gli strumenti e le dipendenze che hai installato durante il processo di configurazione. Segui i passaggi riportati di seguito e le istruzioni sullo schermo per configurare il repository. Puoi sempre tornare in seguito e modificare la configurazione del repository dopo averla salvata. Puoi anche seguire il nostro video tutorial qui sotto.
1

Git pull

Inserisci il comando che Devin deve eseguire all’inizio di ogni sessione per recuperare le modifiche più recenti dal repository. Nella maggior parte dei casi ti consigliamo di lasciare il comando predefinito. Assicurati che Devin abbia accesso ai sottomoduli del repository.
2

Configurare i segreti

Configura tutti i segreti di cui Devin avrà bisogno. Quando possibile, consigliamo di aggiungere direttamente un file .env allo spazio di lavoro di Devin. Questo esempio mostra come farlo con direnv.Altri segreti, come le password, possono essere aggiunti dal pannello secrets.
3

Installa le dipendenze

Usa VS Code per configurare tutti gli strumenti e le dipendenze di cui Devin avrà bisogno per lavorare nel repository. Dopo questo passaggio, Devin dovrebbe essere in grado di eseguire tutti i comandi necessari (ad es. lint, test, build, ecc.) senza ulteriori passaggi di installazione. La macchina di Devin esegue Ubuntu 22.04 (x86_64).
Prova a premere Ctrl+K o Cmd+K (Mac) nel terminale per generare automaticamente un comando di installazione.
Suggerimenti:
  • Installa compilatori, interpreti, strumenti di build, package manager, linter, formattatori, test runner, ecc.
  • Installa le dipendenze dei pacchetti (ad es. npm install, pip install -r requirements.txt, ecc.)
Tieni presente che le modifiche che apporti verranno applicate anche quando Devin lavorerà su altri repository. Fai attenzione alle installazioni globali di pacchetti e, se possibile, valuta l’uso di un ambiente virtuale.
Devin eseguirà i suoi comandi in una shell bash. Per testare la configurazione, puoi creare un nuovo terminale in VS Code.Per configurazioni più avanzate, come la definizione di versioni personalizzate degli interpreti per ciascun repository o la configurazione delle variabili d’ambiente, consulta la sezione esempi.
4

Mantieni le dipendenze

Inserisci il comando che Devin deve eseguire all’inizio di ogni sessione per mantenere le dipendenze aggiornate. Probabilmente dovrebbe essere lo stesso comando che hai usato per installare manualmente le dipendenze (ad es. npm install, pip install -r requirements.txt, ecc.).Lo scopo di questo passaggio è garantire che Devin possa aggiornare le proprie dipendenze locali se vengono aggiunte al repository Git.
5

Configurare il linting

Inserisci i comandi che Devin deve eseguire per effettuare il linting del repository. Devin esaminerà l’output di questi comandi prima di effettuare il commit delle modifiche.Questi comandi dovrebbero terminare in 5 minuti o meno, così Devin non deve aspettare troppo a lungo. Fai clic su Verify per controllare che i comandi funzionino.Suggerimenti:
  • Se necessario, puoi prima eseguire i comandi nel terminale di VS Code per popolare la cache.
  • Se il comando deve essere eseguito in una directory specifica, puoi usare cd in questo modo: cd <directory> && <lint command>.
  • Se il tuo progetto non ha un comando di linting, puoi includere il comando di build in modo che Devin controlli gli errori di compilazione.
  • Puoi anche includere qui un comando che verifichi lo stile di formattazione del codice.
  • Se la procedura di linting del tuo flusso di lavoro è complessa, puoi saltare questo passaggio e spiegare il linting a Devin nel passaggio Additional Notes qui sotto.
    Consulta la sezione di troubleshooting se riscontri problemi con la verifica dei comandi.
6

Configurare i test

Inserisci i comandi che Devin deve eseguire per testare il repository. Come per i comandi di linting, Devin controllerà l’output di questi comandi prima di effettuare il commit delle modifiche. Anche questi comandi hanno un limite di tempo di 5 minuti. Fai clic su Verify per verificare che i comandi funzionino correttamente.Suggerimenti:
  • Se necessario, puoi prima eseguire i comandi nel terminale di VS Code per sfruttare la cache.
  • Se il comando deve essere eseguito in una directory specifica, puoi usare cd in questo modo: cd <directory> && <test command>.
  • Se la procedura di test per il tuo processo è complessa, puoi saltare questo passaggio e spiegare il testing a Devin nello step Additional Notes qui sotto.
    Dai un’occhiata alla sezione di troubleshooting se riscontri problemi nella verifica dei tuoi comandi.
7

Configurazione dell'app locale

Comunica a Devin come eseguire il tuo codice in locale. Questo è utile quando Devin deve eseguire il tuo codice per testare o effettuare il debug delle modifiche.
Esegui tu stesso i comandi nel terminale di VS Code per verificare che Devin sia effettivamente in grado di eseguirli.
8

Ulteriori note

Aggiungi eventuali note aggiuntive che ritieni importante che Devin conosca quando lavora su questo repository.
Ti consigliamo di automatizzare il più possibile il processo di configurazione. Consulta la sezione examples per alcuni esempi su come farlo. In questo modo Devin potrà iniziare a lavorare subito sulla tua codebase nelle sessioni future.
Una volta completati tutti i passaggi, fai clic su Fine. Verificheremo che tutti i comandi funzionino e quindi salveremo lo snapshot. Questo potrebbe richiedere alcuni minuti. Una volta che lo snapshot è stato salvato, le sessioni future di Devin potranno utilizzare la configurazione che hai definito.
Ti consigliamo di creare un file .gitignore per il repository se non ne hai già uno. Questo aiuterà a impedire che Devin commetta errori quando effettua i commit dei file e renderà anche più semplice per te visualizzare le modifiche di Devin quando lo utilizzi nell’IDE.

Esempi

Di seguito sono riportati alcuni esempi di come configurare l’ambiente di lavoro 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.

Configurare automaticamente gli ambienti per diversi repository

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.
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 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:
nvm install 18
nvm install 20
Apri quindi il file ~/.bashrc eseguendo devin ~/.bashrc nel terminale. Aggiungi quanto segue a ~/.bashrc.
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.

Configurazione delle variabili d’ambiente

Vedremo come usare direnv per gestire le variabili d’ambiente. Per prima cosa seguiremo le istruzioni di installazione di direnv per installarlo sulla macchina di Devin. Dopo il 24 aprile 2025, direnv dovrebbe essere installato automaticamente sulle macchine dei nuovi team. Per prima cosa installeremo direnv eseguendo il seguente comando nel terminale di VS Code:
sudo apt install direnv
Quindi aggiungeremo quanto segue a ~/.bashrc per configurare l’hook di direnv. Puoi aprire ~/.bashrc eseguendo devin ~/.bashrc nel terminale.
eval "$(direnv hook bash)"
Ora possiamo creare un file .envrc nella directory principale del nostro repository che potrebbe essere simile al seguente.
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 suo ambiente le variabili d’ambiente presenti nel nostro file .envrc.
Ti consigliamo di aggiungere .envrc al tuo file .gitignore in modo che Devin non lo faccia accidentalmente il commit nel repository.

Aggiungere directory al PATH di sistema

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.
export PATH="$HOME/bin:$PATH"
Ora Devin potrà eseguire i file eseguibili presenti nella directory ~/bin senza dover specificare il percorso completo.

Accesso ai siti web

Durante la configurazione del repository, puoi usare la scheda Browser per accedere a qualsiasi sito web con cui vuoi che Devin interagisca. I relativi cookie di sessione verranno archiviati nello spazio di lavoro 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.

Risoluzione dei problemi

Cosa faccio se rompo qualcosa per errore durante la configurazione della repo?

Se durante la configurazione della repo introduci accidentalmente una modifica che causa un malfunzionamento, puoi sempre tornare a una precedente machine image. Vai su Settings > Devin’s Workspace e fai clic su Version History per vedere un elenco delle precedenti machine image. Puoi quindi fare clic sulla machine image che sai che funzionava correttamente e fare clic su Restore version.

Perché i miei comandi non vengono verificati?

Se riscontri un errore durante la verifica di uno dei comandi, prova a ispezionare il relativo output nel terminale di VS Code e prova anche a eseguire il comando tu stesso 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.
  2. Assicurati di aver installato gli strumenti e le dipendenze necessari per eseguire il comando. Se non lo hai fatto, usa il terminale per installarli e 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.

I miei comandi funzionano quando li eseguo manualmente

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

Homebrew mi chiede una password

Questo è un bug in Linux Homebrew. Esegui invece CI=1 brew install <package>.

Devin non riesce a eseguire i miei comandi di lint/test nelle sessioni

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’area di lavoro di Devin.

Il passaggio git pull non funziona

Controlla che Devin abbia accesso al repository e ai relativi sottomoduli. Consulta anche la documentazione sull’integrazione con GitHub se riscontri problemi di permessi.

Devi modificare qualcosa?

Puoi sempre modificare o aggiungere un nuovo repository in Settings > Devin’s Workspace. Per modificare un repository esistente, fai clic su di esso in Devin’s Workspace, poi su “edit” e quindi su “Set up in VSCode”.
Devin
Puoi anche azzerare completamente lo stato della macchina di Devin andando alla scheda Settings > Devin’s Workspace, aprendo il menu a discesa Danger Zone e usando l’opzione ‘Reset machine setup’. Tieni presente che questo rimuoverà tutti i repository che hai configurato.

Tutto fatto!

Congratulazioni! Hai completato l’onboarding di Devin e puoi iniziare a sviluppare insieme a lui. È il momento di avviare la tua prima sessione. 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 [email protected].