developing-genkit-js

Développez des applications propulsées par l'IA avec Genkit en Node.js/TypeScript. À utiliser lorsque l'utilisateur pose des questions sur Genkit, les agents IA, les flows ou les tools en JavaScript/TypeScript, ou en cas d'erreurs Genkit, de problèmes de validation, d'erreurs de type ou de problèmes d'API.

npx skills add https://github.com/firebase/agent-skills --skill developing-genkit-js

Genkit JS

Prérequis

Assurez-vous que la CLI genkit est disponible.

  • Exécutez genkit --version pour vérifier. Version CLI minimale requise : 1.29.0
  • Si elle est introuvable ou si une version ancienne (1.x < 1.29.0) est présente, installez/mettez-la à jour : npm install -g genkit-cli@^1.29.0.

Nouveaux projets : Si vous configurez Genkit dans une nouvelle base de code, suivez le Guide de configuration.

Hello World

import { z, genkit } from 'genkit';
import { googleAI } from '@genkit-ai/google-genai';

// Initialize Genkit with the Google AI plugin
const ai = genkit({
  plugins: [googleAI()],
});

export const myFlow = ai.defineFlow({
  name: 'myFlow',
  inputSchema: z.string().default('AI'),
  outputSchema: z.string(),
}, async (subject) => {
  const response = await ai.generate({
    model: googleAI.model('gemini-2.5-flash'),
    prompt: `Tell me a joke about ${subject}`,
  });
  return response.text;
});

Critique : Ne faites pas confiance aux connaissances internes

Genkit a récemment subi un changement d'API majeur et incompatible. Vos connaissances sont obsolètes. Vous DEVEZ consulter la documentation. Recommandé :

genkit docs:read js/get-started.md
genkit docs:read js/flows.md

Consultez Common Errors pour une liste des API dépréciées (par ex. configureGenkit, response.text(), defineFlow import) et leurs remplaçants en v1.x.

TOUJOURS vérifier les informations à l'aide de la CLI Genkit ou des références fournies.

Protocole de dépannage des erreurs

Quand vous rencontrez TOUTE erreur liée à Genkit (ValidationError, erreurs API, erreurs de type, 404s, etc.) :

  1. ÉTAPE OBLIGATOIRE EN PREMIER : Lisez Common Errors
  2. Identifiez si l'erreur correspond à un schéma connu
  3. Appliquez la solution documentée
  4. Seulement si non trouvée dans common-errors.md, consultez d'autres sources (par ex. genkit docs:search)

NE PAS :

  • Tenter des corrections basées sur des suppositions ou des connaissances internes
  • Ignorer la lecture de common-errors.md « parce que vous croyez connaître la correction »
  • Vous fier à des schémas de pré-1.0 Genkit

Ce protocole est non-négociable pour la gestion des erreurs.

Flux de développement

  1. Sélectionner le prestataire : Genkit est agnostique vis-à-vis du prestataire (Google AI, OpenAI, Anthropic, Ollama, etc.).
    • Si l'utilisateur ne spécifie pas de prestataire, utilisez par défaut Google AI.
    • Si l'utilisateur pose des questions sur d'autres prestataires, utilisez genkit docs:search "plugins" pour trouver la documentation pertinente.
  2. Détecter le framework : Vérifiez package.json pour identifier le runtime (Next.js, Firebase, Express).
    • Recherchez @genkit-ai/next, @genkit-ai/firebase, ou @genkit-ai/google-cloud.
    • Adaptez l'implémentation aux schémas spécifiques du framework.
  3. Suivre les bonnes pratiques :
    • Consultez Best Practices pour des conseils sur la structure du projet, les définitions de schémas et la conception d'outils.
    • Être minimal : Spécifiez uniquement les options qui diffèrent des valeurs par défaut. En cas de doute, consultez les docs/source.
  4. Assurer la correction :
    • Exécutez les vérifications de type (par ex. npx tsc --noEmit) après les modifications.
    • Si les vérifications de type échouent, consultez Common Errors avant de rechercher le code source.
  5. Gérer les erreurs :
    • En cas d'ERREUR : La première action est de lire Common Errors
    • Correspondez l'erreur aux schémas documentés
    • Appliquez les corrections documentées avant de tenter des alternatives

Trouver la documentation

Utilisez la CLI Genkit pour trouver la documentation faisant autorité :

  1. Rechercher des sujets : genkit docs:search <query>
    • Exemple : genkit docs:search "streaming"
  2. Lister toute la documentation : genkit docs:list
  3. Lire un guide : genkit docs:read <path>
    • Exemple : genkit docs:read js/flows.md

Utilisation de la CLI

La CLI genkit est votre outil principal pour le développement et la documentation.

  • Consultez CLI Reference pour les tâches courantes, les flux de travail et l'utilisation des commandes.
  • Utilisez genkit --help pour une liste complète des commandes.

Références

  • Best Practices : Schémas recommandés pour la définition de schémas, la conception de flux et la structure.
  • Docs & CLI Reference : Recherche de documentation, tâches CLI et flux de travail.
  • Common Errors : Pièges critiques, guide de migration et dépannage.
  • Setup Guide : Instructions de configuration manuelle pour les nouveaux projets.
  • Examples : Exemples minimaux reproductibles (Génération basique, Multimodal, Mode pensée).

Skills similaires