developing-genkit-js

安装量: 40
排名: #18013

安装

npx skills add https://github.com/firebase/agent-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-2.5-flash'
)
,
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.):
MANDATORY FIRST STEP
Read
Common Errors
Identify if the error matches a known pattern
Apply the documented solution
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
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.
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.
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.
Ensure Correctness
:
Run type checks (e.g.,
npx tsc --noEmit
) after making changes.
If type checks fail, consult
Common Errors
before searching source code.
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:
Search topics
:
genkit docs:search
Example:
genkit docs:search "streaming"
List all docs
:
genkit docs:list
Read a guide
:
genkit docs:read
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).
返回排行榜