Passer au contenu principal
Devin fonctionne en chargeant un instantané d’une machine virtuelle au début de chaque session. Pour que Devin soit le plus efficace possible, cet instantané doit inclure tous les dépôts sur lesquels vous voulez que Devin travaille, ainsi que tous les outils et dépendances dont Devin pourrait avoir besoin pour intervenir sur votre base de code. De cette façon, Devin peut se concentrer sur l’écriture de code au lieu de devoir configurer son environnement à chaque fois ! Dans ce guide, nous allons voir comment intégrer Devin à l’un de vos dépôts et configurer l’espace de travail de Devin (l’instantané de machine virtuelle). Vous pouvez considérer cela comme la configuration de la machine de Devin pour son premier jour de travail.
Configurer correctement l’espace de travail de Devin améliorera significativement les performances de Devin sur votre base de code. Imaginez que, chaque fois que vous commenciez une tâche, votre ordinateur portable et une partie de votre mémoire soient effacés : c’est ce qui arrive à Devin avec une configuration incorrecte ou incomplète !

Configurer un dépôt

Commencez par vous assurer que Devin a accès à vos dépôts. Vous pouvez ajouter des dépôts à tout moment en allant dans Settings > Integrations et en configurant les autorisations d’accès de Devin.
Consultez le Guide d’intégration GitHub pour plus d’informations
Ensuite, allez dans Settings > Devin’s Workspace et cliquez sur un dépôt sur lequel vous souhaitez que Devin travaille. Vous devriez voir l’écran suivant.
Devin
Vous pouvez maintenant utiliser l’éditeur VS Code intégré sur la droite pour modifier la machine virtuelle de Devin. Chaque dépôt sera dans son propre répertoire sous ~/repos. Ne déplacez ni ne supprimez ces répertoires. Le dépôt que vous êtes en train de configurer a déjà été cloné, et la machine contient également tous les autres dépôts que vous avez configurés auparavant. Une fois la configuration du dépôt terminée, un instantané (snapshot) de la machine virtuelle sera enregistré. Les prochaines sessions de Devin démarreront à partir de cet instantané et incluront tous les outils ou dépendances que vous avez installés lors du processus de configuration. Suivez les étapes ci-dessous ainsi que les instructions à l’écran pour configurer le dépôt. Vous pourrez toujours revenir ultérieurement et modifier la configuration du dépôt après l’avoir enregistrée. Vous pouvez également suivre notre guide vidéo ci-dessous.
1

git pull

Saisissez la commande que Devin doit exécuter au début de chaque session pour récupérer les dernières modifications du dépôt. Dans la plupart des cas, vous pouvez conserver la commande par défaut. Assurez-vous que Devin a accès aux sous-modules du dépôt.
2

Configurer les secrets

Configurez tous les secrets dont Devin aura besoin. Lorsque c’est possible, nous recommandons d’ajouter directement un fichier .env dans l’espace de travail de Devin. Cet exemple montre comment procéder avec direnv.D’autres secrets, comme les mots de passe, peuvent être ajoutés dans le tableau de bord Secrets.
3

Installer les dépendances

Utilisez VS Code pour configurer tous les outils et dépendances dont Devin aura besoin pour travailler sur le dépôt. Après cette étape, Devin devrait pouvoir exécuter toutes les commandes nécessaires (par exemple lint, test, build, etc.) sans étapes d’installation supplémentaires. La machine de Devin tourne sous Ubuntu 22.04 (x86_64).
Essayez d’appuyer sur Ctrl+K ou Cmd+K (Mac) dans le terminal pour générer automatiquement une commande d’installation.
Suggestions :
  • Installez les compilateurs, interpréteurs, outils de build, gestionnaires de paquets, linters, formateurs, test runners, etc.
  • Installez les dépendances de paquets (par exemple npm install, pip install -r requirements.txt, etc.)
Gardez à l’esprit que les modifications que vous effectuez seront également appliquées lorsque Devin travaillera sur d’autres dépôts. Faites attention aux installations de paquets globales et envisagez d’utiliser un environnement virtuel si possible.
Devin exécutera ses commandes dans un shell bash. Pour tester votre configuration, vous pouvez ouvrir un nouveau terminal dans VS Code.Pour une configuration plus avancée, comme définir des versions d’interpréteur personnalisées pour chaque dépôt ou configurer des variables d’environnement, consultez la section exemples.
4

Maintenir les dépendances

Saisissez la commande que Devin doit exécuter au début de chaque session pour garder les dépendances à jour. Il s’agira probablement de la même commande que celle que vous avez utilisée pour installer manuellement les dépendances (par exemple npm install, pip install -r requirements.txt, etc.).L’objectif est de garantir que Devin puisse mettre à jour ses dépendances locales si de nouvelles dépendances sont ajoutées au dépôt Git.
5

Configurer le lint

Saisissez les commandes que Devin doit exécuter pour analyser le dépôt avec un linter. Devin examinera la sortie de ces commandes avant de valider ses modifications.Ces commandes doivent se terminer en 5 minutes ou moins afin que Devin n’ait pas à attendre trop longtemps. Cliquez sur « Verify » pour vérifier que les commandes fonctionnent.Conseils :
  • Si nécessaire, vous pouvez d’abord exécuter les commandes dans le terminal VS Code pour mettre en cache certains résultats.
  • Si la commande doit être exécutée dans un répertoire spécifique, vous pouvez utiliser cd comme suit : cd <directory> && <lint command>.
  • Si votre projet n’a pas de commande de lint, vous pouvez inclure votre commande de build pour que Devin vérifie les erreurs de compilation.
  • Vous pouvez également inclure ici une commande qui vérifie le style de formatage du code.
  • Si la procédure de lint de votre projet est complexe, vous pouvez ignorer cette étape et expliquer le linting à Devin dans l’étape « Additional Notes » ci-dessous.
    Consultez la section de dépannage si vous rencontrez des problèmes lors de la vérification de vos commandes.
6

Configuration des tests

Saisissez les commandes que Devin doit exécuter pour tester le dépôt. Comme pour les commandes de lint, Devin examinera la sortie de ces commandes avant de valider ses modifications. Ces commandes sont également soumises à une limite de temps de 5 minutes. Cliquez sur « Verify » pour vérifier que les commandes fonctionnent.Conseils :
  • Si nécessaire, vous pouvez d’abord exécuter les commandes dans le terminal VS Code pour favoriser la mise en cache.
  • Si la commande doit être exécutée dans un répertoire spécifique, vous pouvez utiliser cd comme ceci : cd <directory> && <test command>.
  • Si la procédure de test de votre projet est complexe, vous pouvez ignorer cette étape et expliquer les tests à Devin dans l’étape « Additional Notes » ci-dessous.
    Consultez la section de dépannage si vous rencontrez des problèmes lors de la vérification de vos commandes.
7

Configurer l’application locale

Indiquez à Devin comment exécuter votre code en local. C’est utile si Devin doit exécuter votre code pour tester ou déboguer des modifications.
Testez vous-même les commandes dans le terminal VS Code pour vous assurer que Devin peut bien les exécuter.
8

Remarques supplémentaires

Ajoutez toutes les notes supplémentaires que vous jugez importantes pour que Devin en ait connaissance lorsqu’il travaillera sur ce dépôt.
Nous recommandons d’automatiser autant que possible le processus de configuration. Consultez la section exemples pour voir comment procéder. Cela permettra à Devin de commencer plus rapidement à travailler sur votre base de code lors des futures sessions.
Une fois que vous avez terminé toutes les étapes, cliquez sur Terminer. Nous vérifierons que toutes les commandes fonctionnent correctement, puis nous enregistrerons le snapshot. Cela peut prendre quelques minutes. Une fois le snapshot enregistré, les futures sessions Devin pourront utiliser la configuration que vous avez définie.
Nous vous recommandons de configurer un fichier .gitignore pour le dépôt si vous n’en avez pas encore. Cela aidera à éviter que Devin ne fasse des erreurs lors de la validation de fichiers et facilitera également la consultation des modifications de Devin lorsque vous travaillez avec lui dans l’IDE.

Exemples

Voici quelques exemples de configuration de l’espace de travail de Devin pour différents cas d’utilisation. Comme Devin exécute toutes les commandes avec bash, une pratique courante consiste à modifier le fichier ~/.bashrc pour configurer automatiquement le shell de Devin. Vous pouvez exécuter devin ~/.bashrc dans le terminal pour modifier le fichier dans VS Code.

Configurer automatiquement les environnements pour différents dépôts

Après le 24 avril 2025, les équipes qui adoptent Devin devraient voir la section custom_cd déjà présente dans leur ~/.bashrc. Il vous suffira alors de mettre à jour cette section pour vos propres dépôts.
Supposons que vous ayez deux dépôts qui nécessitent des versions différentes de Node, et que vous vouliez que Devin utilise automatiquement la bonne version pour chaque dépôt. Nous allons utiliser nvm pour installer et gérer les versions de Node. nvm devrait déjà être installé sur la machine de Devin. Tout d’abord, nous allons installer les deux versions de Node en exécutant les commandes suivantes dans le terminal de VS Code :
nvm install 18
nvm install 20
Ensuite, ouvrez ~/.bashrc en exécutant devin ~/.bashrc dans le terminal. Ajoutez ce qui suit à la fin de ~/.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
Cela exécutera nvm use 18 lorsque Devin sera dans le dépôt node18 et nvm use 20 lorsque Devin sera dans le dépôt node20.

Configuration des variables d’environnement

Nous allons voir comment utiliser direnv pour gérer les variables d’environnement. Nous allons d’abord suivre les instructions d’installation de direnv pour l’installer sur la machine de Devin. Après le 24 avril 2025, direnv devrait être automatiquement installé sur les machines des nouvelles équipes. Nous allons d’abord installer direnv en exécutant la commande suivante dans le terminal de VS Code :
sudo apt install direnv
Ensuite, nous ajouterons ce qui suit à ~/.bashrc pour configurer le hook de direnv. Vous pouvez ouvrir ~/.bashrc en exécutant devin ~/.bashrc dans le terminal.
eval "$(direnv hook bash)"
Nous pouvons maintenant créer, à la racine de notre dépôt, un fichier .envrc qui pourrait ressembler à ceci.
export ENV_VAR=1
export ANOTHER_ENV_VAR=2
Enfin, nous allons exécuter direnv allow dans le terminal pour charger les variables d’environnement. Devin disposera désormais des variables d’environnement définies dans notre fichier .envrc, ajoutées à son environnement lorsqu’il travaillera dans notre dépôt lors de futures sessions.
Nous recommandons d’ajouter .envrc à votre fichier .gitignore afin que Devin ne le commette pas accidentellement dans le dépôt.

Ajout de répertoires au PATH système

Nous pouvons modifier ~/.bashrc pour ajouter des répertoires au PATH système. Cela permettra à Devin d’exécuter plus facilement les exécutables présents dans ces répertoires. Par exemple, nous pouvons ajouter ce qui suit à la fin de ~/.bashrc, ce qui ajoutera le répertoire ~/bin au PATH système.
export PATH="$HOME/bin:$PATH"
Désormais, Devin pourra exécuter les fichiers exécutables du répertoire ~/bin sans avoir à spécifier le chemin complet.

Connexion aux sites web

Lors de la configuration du dépôt, vous pouvez utiliser l’onglet Browser pour vous connecter à n’importe quel site web avec lequel vous souhaitez que Devin interagisse. Ces cookies de session seront stockés dans l’espace de travail de Devin et resteront disponibles pour Devin lors de sessions ultérieures. Si vous utilisez un site web qui vous déconnecte fréquemment, vous devrez également configurer des identifiants pour Devin dans votre tableau de bord Secrets.

Dépannage

Que faire si je casse quelque chose par erreur lors de la configuration du dépôt ?

Si, lors de la configuration du dépôt, vous introduisez par inadvertance une modification incompatible, vous pouvez toujours revenir à une image machine antérieure. Accédez à Settings > Devin’s Workspace et cliquez sur Version History pour voir la liste des images machine précédentes. Vous pouvez ensuite cliquer sur l’image machine dont vous savez qu’elle fonctionnait correctement, puis cliquer sur Restore version.

Pourquoi mes commandes ne sont-elles pas validées ?

Si vous rencontrez une erreur lors de la validation de l’une des commandes, essayez d’inspecter sa sortie dans le terminal VS Code et tentez également d’exécuter vous-même la commande dans un nouveau terminal.
  1. Vérifiez le chemin de l’exécutable que vous lancez. Nous recommandons fortement d’utiliser des chemins absolus ou d’ajouter les exécutables au PATH système.
  2. Assurez-vous d’avoir installé les outils et dépendances nécessaires pour exécuter la commande. Si ce n’est pas le cas, utilisez le terminal pour les installer puis relancez la validation.
  3. Vérifiez que les commandes sont exécutées dans le bon répertoire. Si les commandes doivent être exécutées dans un répertoire spécifique, vous pouvez utiliser cd comme suit : cd <directory> && <command>.
  4. Vérifiez que vous utilisez les bonnes versions de langage (par exemple, les bonnes versions de Node, Python, etc.).
  5. Vous pouvez modifier votre ~/.bashrc pour utiliser automatiquement le bon environnement. Consultez notre guide pour un exemple de configuration de la bonne version de langage pour différents dépôts.

Mes commandes fonctionnent lorsque je les exécute manuellement

Vérifiez que vous avez configuré votre fichier bashrc de sorte qu’un nouveau shell bash ait accès aux outils nécessaires. Essayez d’exécuter vos commandes dans un nouveau terminal. Si elles ne fonctionnent pas, vous devrez probablement modifier votre bashrc, par exemple en exécutant certaines commandes de configuration ou en modifiant le PATH système. Consultez notre guide pour un exemple montrant comment utiliser la bonne version du langage pour différents dépôts. Les commandes expirent au bout de 5 minutes. Vous pouvez forcer la mise en cache en exécutant les commandes dans le terminal VS Code avant de lancer la vérification. Nous ne recommandons pas de donner à Devin des commandes qui prennent plus de 5 minutes à s’exécuter, car cela le ralentira considérablement.

Homebrew me demande un mot de passe

Il s’agit d’un bug dans Homebrew pour Linux. Exécutez plutôt la commande CI=1 brew install <package>.

Devin ne peut pas exécuter mes commandes de lint/test pendant les sessions

Examinez la sortie du terminal de Devin pour voir si vous pouvez repérer d’éventuelles erreurs. Vous pouvez également essayer d’exécuter les commandes vous-même dans un nouveau terminal pour vérifier qu’elles fonctionnent. Si nécessaire, vous pouvez reprendre le processus de configuration du dépôt pour modifier l’espace de travail de Devin.

L’étape git pull ne fonctionne pas

Vérifiez que Devin a bien accès au dépôt et à ses sous-modules. Consultez également la documentation de l’intégration GitHub si vous rencontrez des problèmes de permissions.

Besoin de modifier ?

Vous pouvez à tout moment modifier ou ajouter un nouveau repo dans Settings > Devin’s Workspace. Pour modifier un repo existant, cliquez dessus dans Devin’s Workspace, puis cliquez sur « edit », puis sur « Set up in VSCode ».
Devin
Il est également possible de réinitialiser complètement l’état de la machine de Devin en allant dans votre onglet Settings > Devin’s Workspace, en ouvrant le menu déroulant Danger Zone et en utilisant l’option « Reset machine setup ». Notez que cela supprimera tous les repos que vous avez configurés.

Terminé !

Félicitations ! Vous avez terminé l’onboarding de Devin et pouvez commencer à travailler ensemble. Il est temps de lancer votre première session. Gardez en tête que Devin fonctionne au mieux lorsque vous :
  • Indiquez à Devin comment vérifier sa progression
  • Décomposez les tâches importantes
  • Partagez des exigences détaillées dès le départ
  • Exécutez plusieurs sessions en parallèle
Si vous avez besoin d’aide, n’hésitez pas à nous envoyer un e-mail à [email protected].