Passer au contenu principal
Cet article explique comment un membre de votre organisation peut lancer une session Devin. Devin aide votre organisation à accomplir des tâches. Pour en tirer le meilleur parti, commencez par des tâches de moindre envergure et fournissez des instructions détaillées, comme vous le feriez pour un ingénieur junior.

Installation des dépôts

Une entreprise est composée de plusieurs organisations, chacune ayant besoin d’accéder à certains dépôts. Vous devez installer les dépôts pour chaque organisation qui a besoin d’un accès. L’installation d’un dépôt permet à l’espace de travail de Devin d’exécuter des tâches, car Devin est correctement configuré pour build, lint et tester le code. Avant d’utiliser Devin, un membre de chaque organisation doit effectuer la configuration suivante.
Devin

Étape d'onboarding 1 - Connexion à Git


Devin

Étape d'onboarding 2 - Connexion à Slack

Si votre entreprise n’utilise pas Slack, vous utiliserez l’application web.
Devin

Étape d'onboarding 3 - Sélection d’un dépôt

Vous pourrez ajouter d’autres dépôts plus tard.
Devin

Étape d'onboarding 4 - Configuration de l’espace de travail de Devin


Devin

Étape d'onboarding 5 - Configuration des dépendances du dépôt

Par exemple : apt-get {your-package}
Devin

Étape d'onboarding 6 - Configuration du lint

Par exemple : npm run lint
Devin

Étape d'onboarding 7 - Configuration des tests

Par exemple : npm run test
Devin

Étape d'onboarding 8 - Finalisation de la configuration

Démarrer une session Devin

Une fois installé, Devin peut travailler sur le dépôt configuré. Des dépôts supplémentaires peuvent être ajoutés ultérieurement. Il n’y a aucune limitation quant au nombre ou à la taille des dépôts.
Les sessions Devin sont isolées — les sessions simultanées des différents membres n’ont aucun impact les unes sur les autres.
Devin
Pour observer le workflow de Devin, utilisez l’onglet « Follow ». L’exemple de session en vidéo ci-dessous offre un aperçu des capacités de Devin. Remarque : cette vidéo a été accélérée à des fins de démonstration.
a new API endpoint
Créez un nouvel endpoint /users/stats qui renvoie un objet JSON avec le nombre d'utilisateurs et l'âge moyen à l'inscription.

Utilisez notre table users existante dans PostgreSQL.

Référencez l'endpoint /orders/stats dans statsController.js pour la structure des réponses.

Assurez-vous que le nouvel endpoint est couvert par la suite de tests StatsController.test.js.
Petites fonctionnalités front-end
Dans `UserProfileComponent`, ajoute un menu déroulant affichant une liste de rôles utilisateur (`admin`, `editor`, `viewer`).

Utilise les styles de `DropdownBase`.

Lorsqu'un rôle est sélectionné, appelle l'API existante pour définir le rôle de l'utilisateur.

Valide en vérifiant que la sélection met bien à jour le rôle de l'utilisateur dans la base de données. Réfère-toi à ta Knowledge pour savoir comment tester correctement.
Rédigez des tests unitaires
Ajoutez des tests Jest pour les méthodes d'AuthService : login et logout.

Assurez-vous que la couverture des tests pour ces deux fonctions soit d'au moins 80 %.

Utilisez UserService.test.js comme exemple.

Après l'implémentation, exécutez `npm test -- --coverage` et vérifiez que le rapport de couverture indique > 80 % pour les deux fonctions.

Confirmez également que les tests réussissent avec des identifiants valides et invalides, et que logout efface correctement les données de session.
or refactoring existing code
Migrez logger.js de JavaScript vers TypeScript.

Nous avons déjà un tsconfig.json et une suite de tests LoggerTest.test.js pour la validation.

Assurez-vous qu'il compile sans erreurs et veillez à ne pas modifier la configuration existante !

Après la migration, vérifiez en :
1) exécutant `tsc` pour confirmer l'absence d'erreurs de typage
2) exécutant la suite de tests avec `npm test LoggerTest.test.js` pour vous assurer que tous les tests réussissent
3) vérifiant que tous les appels existants aux méthodes du logger dans l'ensemble du code fonctionnent toujours sans erreurs de typage.
unit tests
Nous passons de pg à Sequelize (voir https://sequelize.org/api/v6/identifiers).

Veuillez mettre à jour les requêtes de `UserModel` pour utiliser les méthodes Sequelize.

Référez-vous à `OrderModel` pour voir comment nous procédons dans cette base de code.

Après l’implémentation, vérifiez :
1) en exécutant `npm run test:integration UserModel.test.js` pour vérifier que tous les tests d’intégration passent
2) en confirmant que les performances des requêtes ne se sont pas dégradées en vérifiant le temps d’exécution sur un jeu de données de test de 1000 utilisateurs
3) en validant que toutes les opérations CRUD maintiennent toujours l’intégrité des données en exécutant `npm run test:e2e user-flows.test.js`
Quick PR
## Vue d'ensemble
La tâche consiste à faire une pull request rapide vers un dépôt.
Comme il s'agit d'une PR « rapide », vous n'avez pas besoin d'exécuter de code ni de tester quoi que ce soit ; faites simplement une PR et l'utilisateur se chargera des tests. Votre seule responsabilité est de lire et d'écrire du code.

## Ce dont nous avons besoin de la part de l'utilisateur
- Le dépôt sur lequel créer une pull request

## Procédure
### Préparer votre espace de travail
1. Accédez au dépôt concerné sur votre machine (demandez des précisions à l'utilisateur si vous ne parvenez pas à l'identifier).
    - Basculez sur la branche principale et notez le nom de cette branche principale.
    - Basculez vers une nouvelle branche puisque vous allez créer une pull request. Le nom de la branche doit être au format `devin/<your-branch-name>/X` où X est un nombre aléatoire. Par exemple `devin/fix-popup/3234`. Exécutez `git remote -v && git pull && git checkout -b devin/{branch-name}/$RANDOM` et remplacez `{branch-name}` par le nom de la branche que vous souhaitez créer.
2. Étudiez la demande, la base de code et planifiez les changements
    - Passez en revue les fichiers et sections de code les plus pertinents, en identifiant les extraits importants.
    - Informez l'utilisateur de votre plan
### Travailler sur la PR elle-même
3. Effectuez les modifications de code
    - Ne modifiez rien qui n'ait pas été spécifiquement demandé par l'utilisateur
4. Créez la PR
    - Validez (commit) et poussez les changements, puis informez l'utilisateur.
    - Consultez la section de conseils pour la commande exacte permettant de créer la PR
    - Créez une pull request et relisez la PR pour vous assurer qu'elle est correcte.
    - Assurez-vous que toutes les GitHub Actions passent avec succès et apportez les modifications nécessaires jusqu'à ce que ce soit le cas
    - Envoyez le lien de la PR à l'utilisateur et résumez ce que vous avez modifié.
5. Traitez tout retour de la revue ; renvoyez le lien de la PR à chaque fois que vous effectuez des modifications
    - Si vous devez faire des mises à jour, poussez simplement des commits supplémentaires sur la même branche ; ne créez pas une nouvelle branche


## Spécification de la tâche
- Le lien de la PR est inclus dans vos messages à l'utilisateur
- La PR a été relue après sa création
- La PR n'inclut aucun changement parasite
- La PR ne modifie rien qui n'ait pas été spécifiquement demandé par l'utilisateur
- La description de la PR doit inclure un résumé des changements, mis en forme sous forme de checklist
- La description de la PR doit mentionner que le code a été écrit sans tests, et inclure - [ ] Test the changes comme élément
- La description de la PR doit inclure le pied de page suivant : "This PR was written by [Devin](https://devin.ai/) :angel:"
- La description de la PR doit inclure toutes les métadonnées fournies par l'utilisateur (par exemple les tags de tickets Linear avec la syntaxe appropriée)
- La description de la PR ne doit pas être mal mise en forme (utilisez --body-file au lieu de --body si les sauts de ligne sont corrompus !)

## Actions interdites
- NE PAS essayer d'accéder à github.com via le navigateur, vous ne serez pas authentifié.
- Ne JAMAIS faire de force push sur les branches ! Préférez le merge au rebase afin de ne perdre aucun travail.
- NE PAS pousser directement sur la branche principale.

## Conseils et recommandations
- Vérifiez le nom de la branche principale (qui peut être `main` ou `master`) avec `git branch`.
- Pour les dépôts avec CI/CD sur GitHub Actions, vous pouvez consulter les journaux de build avec l'outil en ligne de commande gh (gh cli). Si l'on vous demande de corriger un build ou des erreurs de lint, commencez par examiner les journaux de build récents.
- Vérifiez `git status` avant de valider (commit) ou d'ajouter des fichiers.
- Utilisez `git diff` pour voir les changements que vous avez effectués avant de valider.
- Si vous mettez à jour un dépôt existant, utilisez `gh cli` pour créer des pull requests.
- Envoyez le lien de la PR à l'utilisateur chaque fois que vous la mettez à jour et demandez-lui de la relire à nouveau afin de lui faciliter la tâche.
- Vous devriez déjà être autorisé à accéder à tous les dépôts indiqués par l'utilisateur. Sinon, demandez à l'utilisateur de vous accorder l'accès.
Si vous souhaitez découvrir des exemples plus détaillés de ce que Devin peut faire (et comment), consultez les tutoriels ci-dessous.

Utiliser vos outils existants

Vous pouvez inviter Devin à travailler dans de nombreux outils ou applications que vous utilisez déjà : il suffit de fournir à Devin les informations d’identification, API keys ou jetons nécessaires pour qu’il puisse opérer dans ces services via le Secrets Manager, ou lorsqu’il vous est demandé de partager ces informations de façon sécurisée dans la discussion. Voici quelques outils courants que Devin a utilisés avec nos premiers utilisateurs :
Devin
Pour plus de détails sur les intégrations de Devin, consultez nos guides d’intégration pour GitHub et Slack : Pour des workflows automatisés et des intégrations avec vos outils existants, vous pouvez également utiliser notre référence de l’API pour créer des sessions et récupérer des résultats structurés de manière programmatique.