Guide du développeur
GenAIScript accueille les contributions de la communauté. Ce document fournit des directives pour la configuration de l’environnement de développement, la compilation du projet, et la contribution à la base de code.
Installation
Section intitulée « Installation »Vous pouvez ouvrir ce dépôt dans GitHub CodeSpace/Docker pour obtenir l’environnement de compilation nécessaire.
- Allez sur https://github.com/microsoft/genaiscript
- Cliquez sur Code
- Sélectionnez Créer un nouveau Codespace
- Sélectionnez la branche dev
Configuration manuelle
Section intitulée « Configuration manuelle »- Installez Node.JS LTS
- Exécutez yarn
pnpm install --frozen-lockfile --prefer-offlineCompilation
Section intitulée « Compilation »Vous pouvez effectuer une compilation complète avec esbuild.
pnpm buildou seulement l’interface en ligne de commande (cli)
pnpm build:cliDemandes de tirage (Pull Requests)
Section intitulée « Demandes de tirage (Pull Requests) »Vous devez créer des pull requests contre la branche dev. La branche main est réservée aux versions.
La branche dev est la branche principale de développement. C’est là que toutes les nouvelles fonctionnalités et corrections de bugs sont fusionnées avant d’être publiées.
Lors de la création d’une pull request, veuillez vous assurer que votre code respecte les directives suivantes :
- Respectez le Code de conduite open source Microsoft.
- Assurez-vous que votre code est bien documenté et respecte le style de codage du projet.
- Si possible, ajoutez des tests pour toutes nouvelles fonctionnalités ou corrections de bugs.
Exécution de scripts locaux
Section intitulée « Exécution de scripts locaux »Pour exécuter un script avec l’interface de commande localement compilée,
pnpm genai <scriptid> ...Pour exécuter un script d’exemple dans le dossier samples/sample folder:
pnpm run:script <scriptid> ...In this case, it will use the samples/sample/.envfichier pour les variables d’environnement et l’espace de travail sera raciné à samples/sample.
Débogage des scripts locaux
Section intitulée « Débogage des scripts locaux »Ouvrez un Terminal de débogage JavaScript et lancez le script avec
pnpm genai:debug <scriptid> ...ou pour les exemples
pnpm run:script:debug <scriptid> ...Journalisation
Section intitulée « Journalisation »GenAIScript utilise la bibliothèque debug pour la journalisation. Vous pouvez activer la journalisation en définissant la variable d’environnement DEBUG à genai:*.
DEBUG=genaiscript:* pnpm genai <scriptid> ...Visionneuse web
Section intitulée « Visionneuse web »L’application web (React 19) est conçue pour fonctionner à la fois comme un panneau Visual Studio Code et comme un visualiseur autonome (playground). Pour des tests, le mode autonome est le plus simple.
- React 19, avec très peu de dépendances actuellement
- react-markdown + quelques plugins pour interpréter le markdown
- vscode-elements est le système de design que nous utilisons car il imite l’apparence de vscode.
Utilisez la commande suivante pour démarrer le serveur web local :
pnpm serveIl démarrera un serveur local et reconstruira le client react lors des modifications de fichiers. Il ne reconstruira/niera pas le serveur lors des modifications. Il n’y a pas de rechargement à chaud, vous devez actualiser le navigateur. Si un état doit être sérialisé, nous devrions commencer à l’ajouter au hash.
Développement de l’extension Visual Studio Code
Section intitulée « Développement de l’extension Visual Studio Code »Travailler sur VSCode implique de lancer le débogueur principal du projet, qui ouvre une seconde instance de VSCode avec l’extension GenAIScript.
Vous pouvez placer des points d’arrêt dans les fichiers TypeScript de GenAIScript et ils seront pris en compte.
- désinstallez l’extension officielle GenAIScript sinon elle entrera en conflit avec celle compilée localement
- ouvrez la vue
Débogagedans Vs Code - sélectionnez la configuration de débogage Samples et cliquez sur Exécuter
N’oubliez pas que le débogueur est seulement attaché à l’extension ; pas au serveur GenAIScript.
Précautions
Section intitulée « Précautions »Le lancement du débogueur échoue parfois pour des raisons encore inconnues. Pour contourner ce problème, ouvrez un terminal et exécutez pnpm build une fois. Puis relancez le débogueur.
Documentation
Section intitulée « Documentation »Exécutez docs pour lancer le site de documentation.
pnpm docsExécutez cette commande pour détecter les liens brisés
pnpm build:docsTous les fichiers slides/*slides.md seront compilés et déployés lors de la compilation.
- exécutez
slidespour lancer la présentation (ajoutez le nom du fichier ou il prendraslides.mdpar défaut)
pnpm slides [slides file name]En savoir plus sur Slidev dans la documentation. Pour les diagrammes, utilisez mermaid ou draw.io, tldraw.
GenAIScripts
Section intitulée « GenAIScripts »- Commettre avec un message généré automatiquement
pnpm gcm- Ajouter la documentation aux nouvelles APIs ou mises à jour
pnpm genai:docs- Générer des images pour les articles de blog
pnpm genai:blog-imagesEmballage
Section intitulée « Emballage »Pour compiler et empaqueter l’extension Visual Studio Code, exécutez le script package.
pnpm packageVous trouverez les fichiers du paquet compilé, genaiscript.vsix,
dans le dossier packages/vscode.
Publication
Section intitulée « Publication »Exécutez le script release.
pnpm releaseLes pages GitHub sont automatiquement mises à jour lors d’une nouvelle version ; ou via un déclenchement manuel sur https://github.com/microsoft/genaiscript/actions/workflows/docs.yml .
Contribution
Section intitulée « Contribution »Ce projet accepte les contributions et suggestions. La plupart des contributions exigent que vous acceptiez un Accord de Licence de Contributeur (CLA) déclarant que vous avez le droit, et accordez effectivement, les droits pour utiliser votre contribution. Pour plus de détails, visitez https://cla.opensource.microsoft.com.
Lorsque vous soumettez une pull request, un bot CLA déterminera automatiquement si vous devez fournir un CLA et décorera la PR en conséquence (par ex., vérification de statut, commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devrez faire cela qu’une seule fois sur tous les dépôts utilisant notre CLA.
Ce projet a adopté le Code de conduite open source Microsoft. Pour plus d’informations, consultez la FAQ du Code de conduite ou contactez opencode@microsoft.com pour toute question ou remarque.