developing-genkit-js

द्वारा genkit-ai

Node.js/TypeScript में Genkit का उपयोग करके AI-संचालित एप्लिकेशन विकसित करें। इसका उपयोग तब करें जब उपयोगकर्ता JavaScript/TypeScript में Genkit, AI एजेंट, फ्लो या टूल के बारे में पूछे, या Genkit त्रुटियों, मान्यता समस्याओं, प्रकार त्रुटियों या 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;
});

Prompts (Dotprompt)

.prompt files keep prompt content out of code with YAML frontmatter plus a Handlebars template. See Dotprompt: promptDir, ai.prompt() (call/stream/render), variants, partials, named schemas via ai.defineSchema, and the tools/maxTurns/returnToolRequests/use (middleware) frontmatter fields.

Agents (Beta)

Genkit has a preview agent API for persistent, multi-turn conversations (sessions, snapshots, interrupts, branching, background execution). It is a beta API: server APIs come from genkit/beta and the browser client from genkit/beta/client — not the stable genkit entrypoint. **Requires genkit

= 1.39.0.**

For more details see:

Middleware

Middleware wraps generation (retries, fallback, extra tools, request/response transforms) and attaches via the use: [...] array on ai.generate, prompts, and agents.

  • Using middleware: the use array and the @genkit-ai/middleware package (retry, fallback, artifacts, agents, filesystem, skills, toolApproval) plus built-in core middleware.
  • Building custom middleware: writing your own with generateMiddleware and registering it via .plugin().

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

संबंधित Skills

image-to-video
runcomfy-com
We need to translate the given English text into Hindi, preserving the specified terms: "image-to-video" (though it's not in the text, it's the name to preserve but not to include unless in source), and also preserve product names like RunComfy, HappyHorse 1.0 I2V, Arena #1, Wan 2.7, Seedance 2.0 Pro, etc. Also preserve technical terms like i2v, audio_url, etc. The instruction says "Do not include the name unless it appears in the source text." The name "image-to-video" does not appear in the source text, so we don't include it. We only translate the text inside <text>. We must not add any labels or extra commentary. The translation should be natural Hindi. Let's translate: "Animate any still image on RunComfy — this skill is a smart router that matches the user's intent to the right i2v model in the RunComfy catalog. Picks HappyHorse 1.0 I2V (
creativevideomedia
zoom-general
anthropic
क्रॉस-प्रोडक्ट ज़ूम संदर्भ कौशल। जब वर्कफ़्लो स्पष्ट हो और आपको साझा प्लेटफ़ॉर्म मार्गदर्शन, ऐप-मॉडल तुलना, प्रमाणीकरण संदर्भ,… की आवश्यकता हो, तब उपयोग करें।
official
auth
vercel
प्रमाणीकरण एकीकरण मार्गदर्शन — Clerk (मूल Vercel Marketplace), Descope, और Auth0 सेटअप Next.js अनुप्रयोगों के लिए। मिडलवेयर प्रमाणीकरण पैटर्न को शामिल करता है,…
official
test-management
microsoft
QuarantineTools उपयोगिता का उपयोग करके अस्थिर/समस्याग्रस्त परीक्षणों को क्वारंटीन या अक्षम करता है
official
create-issue
nvidia
किसी विफल GitHub Actions रन या जॉब की जांच करें और विफलता के लिए GitHub issue बनाएं।
official
integration-laravel
posthog
PostHog का Laravel अनुप्रयोगों के लिए एकीकरण
official
video-use
browser-use
किसी भी वीडियो को बातचीत के ज़रिए संपादित करें। ट्रांसक्राइब करें, काटें, कलर ग्रेड करें, ओवरले एनिमेशन बनाएं, सबटाइटल बर्न करें — टॉकिंग हेड्स, मोंटाज, ट्यूटोरियल, यात्रा वीडियो आदि के लिए।
official
discover-brand
anthropic
एंटरप्राइज़ प्लेटफ़ॉर्म पर ब्रांड सामग्री की स्वायत्त खोज का आयोजन करें। यह स्किल discover-brand एजेंट को कनेक्टेड प्लेटफ़ॉर्म (Notion, Confluence, Google Drive, Box, Microsoft 365, Figma, Gong, Granola, Slack) पर खोज करने, स्रोतों को वर्गीकृत करने और खुले प्रश्नों के साथ एक संरचित खोज रिपोर्ट तैयार करने का निर्देश देती है।
official