autopilot - Un développeur d'IA
autopilot est un outil d'IA qui utilise GPT pour lire une base de code, créer un contexte et résoudre les tâches que vous demandez.
Démo du pilote automatique" width="800" data-animated-image="" style="max-width: 100%;">
Rejoignez notre discorde
Rejoignez la conversation sur https://discord.gg/r72ykfvyx7
Comment ça marche
- Vous pointez autopilot vers une base de code avec une tâche.
- autopilot génère et entretient une base de données avec des métadonnées sur les fichiers de base de code. (dans le répertoire de base de code)
- autopilot décide des fichiers existants dont il a besoin pour la tâche en utilisant la base de données de métadonnées.
- autopilot essaie d'implémenter la tâche demandée sur chaque fichier pertinent.
autopilot en tant qu'application GitHub
Vous pouvez utiliser ce projet en installant l'application GitHub disponible sur le site Web Code autopilot . Cette application utilise autopilot pour résoudre automatiquement les problèmes que vous ouvrez sur GitHub et dispose également de fonctionnalités pour Pull Request. Il fournit une interface simple à utiliser et une intégration directe avec Github.
Caractéristiques
- - Prétraite les fichiers de base de code.
- ? - Implémente les modifications de code pour vous.
- - Appels parallèles aux agents lorsque cela est possible.
- - Vous montre ce qui a été mis à jour. (Journal complet du processus avec chaque interaction IA également produit)
- ?️ - Mode interactif - consultez le processus avec les options de réessai, de continuation et d'abandon.
Attentes des tâches
- Référencement du code actuel :
- ✅ Référencement d'un fichier spécifique par chemin relatif du projet.
- ✅ Référencer un fichier spécifique par nom de fichier uniquement, en ignorant le chemin des sous-répertoires.
- ✅ Référencement d'une fonction spécifique dans un fichier sans le nom du fichier.
- ✅Référencer un concept métier majeur qui est exclusivement utilisé dans un seul fichier.
- ✅ Référencement de tous les dossiers du projet.
- ? Requêtes logiques générales. Votre kilométrage diffère selon le modèle, la base de code et la tâche. Certains fonctionnent. (Devrait introduire la notation des tâches)
- Modifications exécutées :
- ✅Créez un nouveau fichier basé sur un fichier existant.
- Démarrez un nouveau fichier à partir de zéro.
- ✅Mettre à jour un fichier existant.
- ✅Mettez à jour plusieurs fichiers existants.
- Supprimez les fichiers existants. (Cela pourrait les vider, mais pas les supprimer actuellement)
- Commencez à utiliser de nouvelles bibliothèques tierces. (Nécessite l'exécution de code arbitraire pour installer la bibliothèque)
- Mise à jour en cascade des fichiers associés comme les tests. (À venir)
- Testez le code qu'il a écrit et corrigez-le automatiquement.
Conditions préalables
nodejs v18 ou supérieur.
Installation
- Cloner le dépôt :
git clone https://github.com/fjrdomingues/autopilot.git
- Faites
cd autopilot
pour installer les dépendances : npm ci
- Créez le fichier
.env
et configurez les variables d'environnement :- Copiez le fichier .env.template dans .env :
cp .env.template .env
- Configurez une clé API OpenAI et un fichier avec la clé :
OPENAI_API_KEY=<your-api-key>
. Créer une clé API openAI - Définissez le chemin d'accès à votre code
CODE_DIR=<path-to-your-code>
(ou utilisez -d path-to-your-code
plus tard) - Mettre à jour
IGNORE_LIST=node_modules,coverage,public,__tests__
- Mettre à jour
FILE_EXTENSIONS_TO_PROCESS=.js,.tsx,.ts,.jsx
En cours d'exécution
-
node ui -t "YOUR_TASK"
- est le moyen le plus simple de démarrer.- Les solutions seront automatiquement appliquées à votre code et un diff git affiché si possible.
- Vous pouvez également spécifier
--auto-apply=false
.
-
node ui -h
- vous montrera toutes les options.
Mode interactif
Utilisez node ui -i
pour un mode interactif, ici vous pouvez consulter le résultat de chaque étape avant de continuer.
? Contribuer
Nous exécutons autopilot sur un serveur connecté au référentiel https://github.com/fjrdomingues/autopilot. Les nouveaux tickets créés déclencheront autopilot et créeront une nouvelle Pull Request avec une proposition. Exécuter avec gpt-4
Nous apprécions les contributions ! Veuillez soumettre des demandes d'extraction au référentiel et assurez-vous que vos modifications correspondent aux objectifs et aux directives du projet. Ensemble, nous pouvons faire autopilot un outil encore plus puissant et efficace pour les développeurs !
Exécution de tests - tout
npm run test
- exécute tous les tests
Exécution de tests - Test unitaire
npm run unit-test
- exécute les tests unitaires
Exécution de tests - Benchmarks
npm run e2e-test
- exécute les tests de bout en bout
Structure du code
- agents - interactions avec les modèles de langage.
- modules - la plupart des autres bibliothèques internes.
- ui.js - Le main().
- journaux - documentent une exécution de tâche.