This is a Next.js catalog site for Agora Voice AI recipes. Recipe implementations live in separate GitHub repositories; this repo stores catalog metadata, fetches each recipe's markdown during build, and renders static recipe pages.
npm run devOpen http://localhost:3000.
See CONTRIBUTING.md for the full submission flow. In short:
- Fork this repo and create a branch from
staging. - Create
content/recipes/<slug>/recipe.json. - Use
templates/recipe.jsonas the starting point. - Set
mainRepoUrlto the implementation repository. - Set
recipeUrlto the GitHubblobURL for the markdown recipe file. - Run:
npm run buildThe build runs npm run recipes:build, which fetches the configured markdown, expands relative markdown links to absolute GitHub links, and writes generated artifacts under content/generated/recipes/.
{
"title": "Python Quickstart",
"tagline": "Build a basic Agora Conversational AI agent in Python.",
"description": "Set up the Python quickstart agent, configure credentials, and run a minimal voice AI workflow.",
"platforms": ["Python"],
"useCases": ["Quickstart", "Voice AI"],
"capabilities": ["Conversational AI", "Voice Agent", "Python"],
"mainRepoUrl": "https://github.com/OWNER/REPO",
"recipeUrl": "https://github.com/OWNER/REPO/blob/main/docs/ai/RECIPE.md",
"author": "Agora",
"updated": "2026-05-28",
"difficulty": "Beginner"
}difficulty must be Beginner, Intermediate, or Advanced.
For content-only changes:
npm run buildFor TypeScript, React, styling, or routing changes:
npm run lint
npm run buildPrivate recipe repositories cannot be fetched by the unauthenticated build script. Make the repo public or expect the generated artifact to contain a fetch error for that recipe's markdown.