Exo est un projet expérimental qui utilise une application électronique avec accès au système de fichiers pour prendre en charge les tâches courantes de développement logiciel à l'aide de LLM.
En bref, Exo est une application qui peut vous aider à lire, écrire et refactoriser du code directement dans votre base de code. Vous pouvez trouver de nombreuses démos sur ma page Twitter ci-dessus.
Le serveur Exo est le backend de l'application Exo electronic.
Voici le dépôt de l'application Exo Electron. Il s'agit du dépôt du serveur Exo. Vous devrez cloner les deux pour que l'application fonctionne localement.
Capture d'écran de l'application Exo à côté de vscode :
Exo est en construction !
Je l'ai publié dans la nature bien avant qu'il ne soit prêt pour la production. Utilisez à vos propres risques !
https://www.loom.com/share/5f34499ccfb54bfdae32ee50f454b365
Le but de l'application Exo est de créer Jarvis/FRIDAY de Tony Stark - une interface de chat ou vocale avec laquelle vous pouvez interagir pour écrire du code et créer des éléments.
En quoi est-ce différent des autres outils de génération de code ? Exo est une application autonome qui vit sur votre bureau. Nous en sommes loin maintenant, mais à l'avenir, vous pourrez utiliser Exo pour créer des logiciels (par opposition à un IDE).
En tant qu'application autonome, Exo adopte des outils d'interface utilisateur plus alignés sur les pratiques de codage d'un monde post-LLM.
ai_create_code
pour transmettre le code à l'application où il sera écrit dans votre base de code. https://www.loom.com/share/d2ec3f01140746e6ae1d47507f24e5ec
git clone https://github.com/kmgrassi/exo-server
yarn install
Vous avez besoin de deux comptes pour commencer :
Si vous souhaitez simplement commencer à utiliser Exo sans ces comptes, vous pouvez vous inscrire pour utiliser l'application ici : https://www.getexo.dev/auth/signup
Récupérez vos informations d'identification après avoir créé votre compte et collez-les dans le fichier .env-example
:
SUPABASE_ANON=Your-supabase-anon-here
SUPABASE_URL=Your-supabase-url-here
SUPABASE_DB_ID=Your-supabase-id-here
SUPABASE_DATABASE_PASSWORD=Your-supabase-password-here
OPENAI_API_KEY=Your-openai-api-key-here
Renommer .env-example
en .env
Après avoir ajouté vos informations d'identification, exécutez :
yarn run create-db-schema
Cela mettra à jour votre base de données Supabase avec le schéma trouvé dans le fichier schema.sql
.
yarn run dev
Les détails du déploiement seront bientôt disponibles. J'utilise Heroku. Il existe un Procfile, vous devriez donc pouvoir le déployer facilement sur Heroku. TODO - ajouter le bouton "déployer sur Heroku"
Exo est une application de chat. Vous interagissez avec l'interface utilisateur via l'interface de chat. Vous pouvez poser des questions telles que : "Pouvez-vous écrire une fonction ts qui compte les lettres d'une chaîne sur le bloc-notes ?"
Pour indexer un dépôt :
Click on "Select repo"
Then "Save Repo"
Then click on the paper icon with the up arrow
Cela enverra tous les fichiers du dépôt au serveur pour être indexés. Le serveur utilisera le LLM pour obtenir une explication du code, intégrera le code et l'explication et stockera le tout dans la base de données.
Après avoir indexé un dépôt, vous pouvez rechercher du code dans ce dépôt. Par exemple : « Trouver le composant qui restitue le composant de connexion »
TODO - expliquez plusieurs façons d'utiliser l'application pour écrire du code.
TODO - ajouter une feuille de route
Vous pouvez trouver de nombreuses vidéos décrivant comment cela a été construit sur mon fil Twitter.
N'hésitez pas à m'envoyer un message sur Twitter ou par email : kmgrassi
avec le client de messagerie habituel