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-offline
Compilation
Section intitulée « Compilation »Vous pouvez effectuer une compilation complète avec esbuild.
pnpm build
ou seulement l’interface en ligne de commande (cli)
pnpm build:cli
Demandes 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/.env
fichier 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 serve
Il 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ébogage
dans 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 docs
Exécutez cette commande pour détecter les liens brisés
pnpm build:docs
Tous les fichiers slides/*slides.md
seront compilés et déployés lors de la compilation.
- exécutez
slides
pour lancer la présentation (ajoutez le nom du fichier ou il prendraslides.md
par 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-images
Emballage
Section intitulée « Emballage »Pour compiler et empaqueter l’extension Visual Studio Code, exécutez le script package
.
pnpm package
Vous trouverez les fichiers du paquet compilé, genaiscript.vsix
,
dans le dossier packages/vscode
.
Publication
Section intitulée « Publication »Exécutez le script release
.
pnpm release
Les 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.