developing-genkit-js

bởi genkit-ai

Phát triển ứng dụng hỗ trợ AI bằng Genkit trong Node.js/TypeScript. Sử dụng khi người dùng hỏi về Genkit, tác nhân AI, luồng hoặc công cụ trong JavaScript/TypeScript, hoặc khi gặp lỗi Genkit, vấn đề xác thực, lỗi kiểu hoặc vấn đề API.

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

Genkit JS

Prerequisites

Ensure the genkit CLI is available.

  • Run genkit --version to verify. Minimum CLI version needed: 1.29.0
  • If not found or if an older version (1.x < 1.29.0) is present, install/upgrade it: npm install -g genkit-cli@^1.29.0.

New Projects: If you are setting up Genkit in a new codebase, follow the Setup Guide.

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-flash-latest'),
    prompt: `Tell me a joke about ${subject}`,
  });
  return response.text;
});

Critical: Do Not Trust Internal Knowledge

Genkit recently went through a major breaking API change. Your knowledge is outdated. You MUST lookup docs. Recommended:

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

See Common Errors for a list of deprecated APIs (e.g., configureGenkit, response.text(), defineFlow import) and their v1.x replacements.

ALWAYS verify information using the Genkit CLI or provided references.

Error Troubleshooting Protocol

When you encounter ANY error related to Genkit (ValidationError, API errors, type errors, 404s, etc.):

  1. MANDATORY FIRST STEP: Read Common Errors
  2. Identify if the error matches a known pattern
  3. Apply the documented solution
  4. Only if not found in common-errors.md, then consult other sources (e.g. genkit docs:search)

DO NOT:

  • Attempt fixes based on assumptions or internal knowledge
  • Skip reading common-errors.md "because you think you know the fix"
  • Rely on patterns from pre-1.0 Genkit

This protocol is non-negotiable for error handling.

Development Workflow

  1. Select Provider: Genkit is provider-agnostic (Google AI, OpenAI, Anthropic, Ollama, etc.).
    • If the user does not specify a provider, default to Google AI.
    • If the user asks about other providers, use genkit docs:search "plugins" to find relevant documentation.
  2. Detect Framework: Check package.json to identify the runtime (Next.js, Firebase, Express).
    • Look for @genkit-ai/next, @genkit-ai/firebase, or @genkit-ai/google-cloud.
    • Adapt implementation to the specific framework's patterns.
  3. Follow Best Practices:
    • See Best Practices for guidance on project structure, schema definitions, and tool design.
    • Be Minimal: Only specify options that differ from defaults. When unsure, check docs/source.
  4. Ensure Correctness:
    • Run type checks (e.g., npx tsc --noEmit) after making changes.
    • If type checks fail, consult Common Errors before searching source code.
  5. Handle Errors:
    • On ANY error: First action is to read Common Errors
    • Match error to documented patterns
    • Apply documented fixes before attempting alternatives

Finding Documentation

Use the Genkit CLI to find authoritative documentation:

  1. Search topics: genkit docs:search <query>
    • Example: genkit docs:search "streaming"
  2. List all docs: genkit docs:list
  3. Read a guide: genkit docs:read <path>
    • Example: genkit docs:read js/flows.md

CLI Usage

The genkit CLI is your primary tool for development and documentation.

  • See CLI Reference for common tasks, workflows, and command usage.
  • Use genkit --help for a full list of commands.

References

  • Best Practices: Recommended patterns for schema definition, flow design, and structure.
  • Docs & CLI Reference: Documentation search, CLI tasks, and workflows.
  • Common Errors: Critical "gotchas", migration guide, and troubleshooting.
  • Setup Guide: Manual setup instructions for new projects.
  • Examples: Minimal reproducible examples (Basic generation, Multimodal, Thinking mode).

Skills liên quan

agents-md
sentry
This skill should be used when the user asks to "create AGENTS.md", "update AGENTS.md", "maintain agent docs", "set up CLAUDE.md", or needs to keep agent…
official
skill-creator
vercel
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's…
official
diagnosing-failed-warehouse-syncs
posthog
Làm việc từ trên xuống khi một nguồn hoặc bảng trong kho dữ liệu bị lỗi, bị kẹt hoặc tạo ra dữ liệu xấu: nguồn → lược đồ → hành động khôi phục. Đừng vội nhảy ngay đến "đồng bộ lại từ đầu" — điều đó sẽ loại bỏ dữ liệu đã đồng bộ và bắt đầu lại từ con số không, hiếm khi là bước đầu tiên đúng đắn.
official
azure-web-pubsub-ts
microsoft
Xây dựng ứng dụng nhắn tin thời gian thực bằng Azure Web PubSub SDKs cho JavaScript (@azure/web-pubsub, @azure/web-pubsub-client). Sử dụng khi triển khai…
official
flux-2-klein
runcomfy-com
Tạo hình ảnh với Flux 2 Klein (biến thể nhanh được chưng cất của Flux 2 từ Black Forest Labs) trên RunComfy — tích hợp sẵn các mẫu prompt đã được ghi chép của mô hình để kỹ năng đạt đầu ra sắc nét hơn so với prompt thông thường trên cùng mô hình. Ghi lại các điểm mạnh của Flux 2 Klein (độ trễ dưới giây, tạo kiểu thương hiệu đa tham chiếu, prompt ưu tiên chủ ngữ khai báo), chiến lược số bước (4–8 để lặp nhanh, ~25 để hoàn thiện), sự đánh đổi giữa biến thể 9B và 4B, và thời điểm chuyển hướng sang Flux 2 Pro /...
creativeimageresearch
phaser-2d-game
openai
Triển khai game 2D trên trình duyệt với Phaser. Sử dụng khi người dùng muốn stack Phaser, TypeScript và Vite cho các scene, hệ thống gameplay, camera, hoạt ảnh sprite,…
official
flutter-plugins
flutter
Tạo khung Flutter plugins với tương tác native, kênh phương thức, tích hợp FFI và kiến trúc liên hợp. Tạo plugin tiêu chuẩn, plugin FFI hoặc kiến trúc đa gói liên hợp dựa trên yêu cầu mã native và cấu trúc nhóm. Cấu hình giao diện vòng đời nhúng Android v2, môi trường native theo nền tảng (Kotlin/Java, Swift/Objective-C) và đăng ký kênh phương thức. Triển khai plugin liên hợp tách gói với giao diện ứng dụng và nền tảng cụ thể...
official
arxiv-search
langchain-ai
Tìm kiếm kho lưu trữ bản in trước arXiv cho các bài báo trong lĩnh vực vật lý, toán học, khoa học máy tính, sinh học định lượng và các lĩnh vực liên quan
official