Aller au contenu

Guide du développeur

AI generated translation.

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.

Vous pouvez ouvrir ce dépôt dans GitHub CodeSpace/Docker pour obtenir l’environnement de compilation nécessaire.

Ouvrir dans GitHub Codespaces

Fenêtre de terminal
pnpm install --frozen-lockfile --prefer-offline

Vous pouvez effectuer une compilation complète avec esbuild.

Fenêtre de terminal
pnpm build

ou seulement l’interface en ligne de commande (cli)

Fenêtre de terminal
pnpm build:cli

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.

Pour exécuter un script avec l’interface de commande localement compilée,

Fenêtre de terminal
pnpm genai <scriptid> ...

Pour exécuter un script d’exemple dans le dossier samples/sample folder:

Fenêtre de terminal
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.

Ouvrez un Terminal de débogage JavaScript et lancez le script avec

Fenêtre de terminal
pnpm genai:debug <scriptid> ...

ou pour les exemples

Fenêtre de terminal
pnpm run:script:debug <scriptid> ...

GenAIScript utilise la bibliothèque debug pour la journalisation. Vous pouvez activer la journalisation en définissant la variable d’environnement DEBUG à genai:*.

Fenêtre de terminal
DEBUG=genaiscript:* pnpm genai <scriptid> ...

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 :

Fenêtre de terminal
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.

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.

Exécutez docs pour lancer le site de documentation.

Fenêtre de terminal
pnpm docs

Exécutez cette commande pour détecter les liens brisés

Fenêtre de terminal
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 prendra slides.md par défaut)
Fenêtre de terminal
pnpm slides [slides file name]

En savoir plus sur Slidev dans la documentation. Pour les diagrammes, utilisez mermaid ou draw.io, tldraw.

  • Commettre avec un message généré automatiquement
Fenêtre de terminal
pnpm gcm
  • Ajouter la documentation aux nouvelles APIs ou mises à jour
Fenêtre de terminal
pnpm genai:docs
  • Générer des images pour les articles de blog
Fenêtre de terminal
pnpm genai:blog-images

Pour compiler et empaqueter l’extension Visual Studio Code, exécutez le script package.

Fenêtre de terminal
pnpm package

Vous trouverez les fichiers du paquet compilé, genaiscript.vsix, dans le dossier packages/vscode.

Exécutez le script release.

Fenêtre de terminal
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 .

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.