Init Genkit Project
Initialize a new Firebase Genkit project with best practices, proper
- Type
- Slash Command
- Repository
- jeremylongshore/tons-of-skills-marketplace
- GitHub stars
- 2.8k
- License
- MIT
- Repo last updated
- Sep 27, 2026
- Model
- sonnet
What Init Genkit Project is
Init Genkit Project is a slash command published in the jeremylongshore/tons-of-skills-marketplace repository on GitHub, which has about 2.8k stars. The repository describes itself as: “Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.”
A slash command is a reusable prompt saved as a markdown file and run by typing its name after a slash. In Claude Code, custom commands have been merged into skills: a file in .claude/commands/ and a skill folder in .claude/skills/ both create the same kind of command, and existing command files keep working.
Init Genkit Project gives you a repeatable way to run the same instructions without retyping them, optionally with arguments.
How to install Init Genkit Project
Claude Code
- Download init-genkit-project.md from the repository.
- Save it to ~/.claude/commands/ (all projects) or .claude/commands/ (one project). As a skill, you can instead save it as ~/.claude/skills/<name>/SKILL.md.
- Run it by typing / followed by its name.
Claude Cowork
- Turn the command into a skill: create a folder with the file saved as SKILL.md and zip it.
- In Customize → Skills, click +, then upload the ZIP.
- Run it from any task with / and the skill name.
New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.
Inside the source file
An excerpt from plugins/ai-ml/jeremy-genkit-pro/commands/init-genkit-project.md, shared under the repository's MIT license. Read the full file on GitHub.
Initialize a production-ready Firebase Genkit project with proper structure, configuration, and best practices.
Step 1: Determine Project Language
Ask the user to choose the target language:
- Node.js/TypeScript (Genkit 1.0 - Stable, recommended for most use cases)
- Python (Alpha - Early adopters, Python ecosystem integration)
- Go (1.0 - High performance, backend services)
Step 2: Initialize Project Structure
For Node.js/TypeScript
# Create project directory
mkdir my-genkit-app && cd my-genkit-app
# Initialize npm project
npm init -y
# Install Genkit dependencies
npm install genkit @genkit-ai/googleai @genkit-ai/firebase zod
# Install dev dependencies
npm install --save-dev typescript @types/node
# Initialize TypeScript
npx tsc --initCreate tsconfig.json:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"lib": ["ES2020"],
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"moduleResolution": "node",
"resolveJsonModule": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}Create src/index.ts:
import { genkit, z } from 'genkit';
import { googleAI, gemini25Flash } from '@genkit-ai/googleai';
import { firebase } from '@genkit-ai/firebase';
const ai = genkit({
plugins: [
googleAI({
apiKey: process.env.GOOGLE_API_KEY,
}),
firebase({
projectId: process.env.GOOGLE_CLOUD_PROJECT,
}),
],
model: gemini25Flash,
enableTracingAndMetrics: true,
});
// Example flow
…Create package.json scripts:
{
"scripts": {
"dev": "genkit start -- tsx --watch src/index.ts",
"build": "tsc",
"deploy": "firebase deploy --only functions",
"genkit:dev": "genkit start"
}
}For Python
# Create project directory
mkdir my-genkit-app && cd my-genkit-app
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install Genkit
pip install genkit google-generativeai
# Create requirements.txt
pip freeze > requirements.txtCreate main.py:
from genkit import genkit
from genkit.plugins import google_ai
ai = genkit(
plugins=[
google_ai.google_ai(api_key=os.environ.get("GOOGLE_API_KEY"))
],
model="gemini-2.5-flash"
)
@ai.flow
async def example_flow(query: str) -> str:
"""Example Genkit flow."""
response = await ai.generate(
model="gemini-2.5-flash",
prompt=f"You are a helpful assistant. Respond to: {query}"
)
return response.text
…For Go
# Create project directory
mkdir my-genkit-app && cd my-genkit-app
# Initialize Go module
go mod init my-genkit-app
# Install Genkit
go get github.com/firebase/genkit/go/genkit
go get github.com/firebase/genkit/go/plugins/googleaiCreate main.go:
package main
import (
"context"
"fmt"
"log"
"os"
"github.com/firebase/genkit/go/genkit"
"github.com/firebase/genkit/go/plugins/googleai"
)
func main() {
ctx := context.Background()
// Initialize Genkit with Google AI
if err := genkit.Init(ctx, &genkit.Config{
Plugins: []genkit.Plugin{
…Step 3: Environment Configuration
Create .env file:
# Google API Key (for Google AI plugin)
GOOGLE_API_KEY=your_api_key_here
# Google Cloud Project (for Firebase/Vertex AI)
GOOGLE_CLOUD_PROJECT=your-project-id
# Environment
NODE_ENV=developmentCreate .env.example (committed to git):
GOOGLE_API_KEY=
GOOGLE_CLOUD_PROJECT=
NODE_ENV=developmentStep 4: Project Structure
Create recommended directory structure:
my-genkit-app/
├── src/ # Source code
│ ├── flows/ # Flow definitions
│ ├── tools/ # Tool definitions
│ ├── retrievers/ # RAG retrievers
│ └── index.ts # Main entry point
├── tests/ # Test files
├── .env # Environment variables (gitignored)
├── .env.example # Example env file (committed)
├── .gitignore # Git ignore
├── tsconfig.json # TypeScript config (for TS)
├── package.json # Dependencies (for Node.js)
├── requirements.txt # Dependencies (for Python)
├── go.mod # Dependencies (for Go)
└── README.md # Project documentationStep 5: Configure Monitoring (Production)
For Firebase deployment with AI monitoring:
# Install Firebase CLI
npm install -g firebase-tools
# Login to Firebase
firebase login
# Initialize Firebase
firebase init
# Select:
# - Functions
# - Enable AI monitoring (when prompted)Update firebase.json:
{
"functions": [
{
"source": ".",
"codebase": "default",
"runtime": "nodejs20",
"ai": {
"monitoring": {
"enabled": true
}
}
}
]
} Before you install
- Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
- Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
- Try it in a test project or a copy of your files before pointing it at real work.
- Pin the version you tested, and review changes before updating.
- Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.
FAQ
What is Init Genkit Project?
Init Genkit Project is a slash command for Claude Code and Claude Cowork from the jeremylongshore/tons-of-skills-marketplace repository on GitHub. Initialize a new Firebase Genkit project with best practices, proper
How do I install Init Genkit Project in Claude Code?
Download init-genkit-project.md from the repository. Save it to ~/.claude/commands/ (all projects) or .claude/commands/ (one project). As a skill, you can instead save it as ~/.claude/skills/<name>/SKILL.md. Run it by typing / followed by its name.
Can I use Init Genkit Project in Claude Cowork?
Turn the command into a skill: create a folder with the file saved as SKILL.md and zip it. In Customize → Skills, click +, then upload the ZIP. Run it from any task with / and the skill name.
Is Init Genkit Project safe to install?
It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.
Similar resources
- Documenso Pack Claude Code skill pack for Documenso (24 skills) Plugin · jeremylongshore/tons-of-skills-marketplace
- Dolt Mcp Vcs Dolt/DoltHub version-control toolkit for Claude Code, via the dolthub/dolt-mcp server. A version-control-surface skill + expert agents over a Dolt backend — diagnosing DoltHub visibility, taming server sprawl, auditing the graph, and recovering incidents — with a verb-class mutation gate that keeps destructive ops (push/merge/reset/branch-delete) recommend-only. Ships the beads (bd) task-tracker… Plugin · jeremylongshore/tons-of-skills-marketplace
- Dr Plan Plan and implement disaster recovery procedures Slash Command · jeremylongshore/tons-of-skills-marketplace
- Dolt Sync Advisor Use this agent when bead work is not visible on DoltHub, when configuring or repairing a bd Dolt remote, when deciding between bd backup and bd dolt push, when taming sprawled per-project dolt servers by reaping idle ones, or when diagnosing Dolt-remote drift. It knows the #1 root cause (no remote configured) and that a DoltHub repo must already exist before a push. Subagent · jeremylongshore/tons-of-skills-marketplace
- Itinerary AI-powered itinerary generator with personalized day-by-day travel plans Slash Command · jeremylongshore/tons-of-skills-marketplace
- Index Advisor Analyze query patterns and recommend optimal database indexes Slash Command · jeremylongshore/tons-of-skills-marketplace
- K8s Deploy Create Kubernetes deployments and services Slash Command · jeremylongshore/tons-of-skills-marketplace
- Incident P0 Disk Full Emergency response for SOP-203 P0 - Disk Space Emergency Slash Command · jeremylongshore/tons-of-skills-marketplace