Starter templates for building AI-powered apps with Tambo.
| Template | Description | Stack |
|---|---|---|
| tambo-template | Default starter | Next.js + Tambo |
| tambo-template-tanstack | TanStack Router | Vite + TanStack |
| analytics-template | Analytics dashboard | Next.js + Charts |
| betterauth-tambo-example | Auth integration | BetterAuth |
We have a high quality bar for merging templates. Focus on quality over quantity.
Want to add a template? Open a PR that adds a new folder to this directory.
Your PR must include:
- A new folder in
community/templates/named after your template (e.g.,community/templates/remix-clerk-starter/) - Working code that runs with
npm install && npm run devfrom within the template folder - README.md inside your template folder with:
- What the template demonstrates
- Setup instructions
- Screenshot or GIF (upload to GitHub by dragging into the PR, then use that link)
- Video demo - Link to a short video demo in the README and PR description. You can upload videos directly to GitHub by dragging into a comment, then copy the generated link.
Templates should be focused and minimal:
- Starters, not showcases - Templates should be minimal enough that someone can take it and build something completely different. If you've built a polished app with lots of demo UI, strip it down to the essentials before submitting.
- 1-3 technologies is ideal. A template showing "Next.js + Clerk + Tambo" is better than one with 8 different libraries.
- One tool per job - pick ONE auth provider, ONE database, ONE styling solution. Templates with multiple options for the same thing will be rejected.
- Minimal dependencies - only include what's necessary to demonstrate the integration.
- Small, readable files - If your main App file is doing too much, break it up or simplify. Templates should be easy to understand at a glance.
- Clean code - no commented-out code, no unused files, no placeholder TODOs, no hardcoded user names or demo data.
Your template must include linting and type checking appropriate for its stack, and it must pass. Before submitting:
npm run lint # Must pass with no errors
npm run typecheck # Must pass with no errors (if using TypeScript)
npm run build # Must complete successfullyTemplates should include:
- Linting configuration - Include linting with sensible defaults for the technologies in your template (ESLint is recommended for JS/TS stacks). Most of the Tambo repo uses our base config as a reference point, but templates are not required to use it. Anything materially looser in style/consistency is unlikely to be accepted.
- TypeScript strict mode - Enable
"strict": truein tsconfig.json - No type errors - Fix all TypeScript errors, don't use
@ts-ignoreoranyas workarounds
We'll run these checks during review. Templates with lint errors or type issues will be rejected.
Design quality should match our official templates. Or better. Use them as your reference for the visual bar we expect.
We're not expecting a ton of Tambo code. Just one example that proves the integration works:
- Auth template - show that auth works with Tambo
- Database template - one component that can add or display records via AI
- Framework template - existing Tambo components work and are styled correctly in that framework
The video should show a conversation with the AI using your integration. Proper component/tool registration with clear descriptions is required.
No workarounds - Your template must use Tambo's actual APIs correctly. If you run into issues getting components to render or tools to work, open a bug issue and we'll help. Don't hack around problems - templates that bypass Tambo's rendering system will be rejected.
Your template's README must include:
- One-sentence description - what this template is for.
- Screenshot - showing the app running with Tambo UI visible.
- Video link - demonstrating the AI interaction.
- Prerequisites - what accounts/API keys are needed (e.g., "You'll need a Clerk account").
- Setup steps - numbered, copy-pasteable commands.
- What's included - bullet list of the technologies and what they're used for.
- Lint errors or type checking failures
- Missing ESLint or TypeScript configuration
- Use of
@ts-ignore,any, or disabled lint rules as workarounds - Kitchen-sink templates that try to include everything
- Overcomplicated "showcase" apps disguised as starters
- Workarounds that bypass Tambo's actual rendering or tool system
- Broken or incomplete setups
- Missing video demo
- Poor documentation
- Ugly or unstyled UI
- Not responsive
- Generic "todo app" without meaningful Tambo integration
- Duplicating an integration we already have without adding something new
community/templates/
├── your-template-name/
│ ├── README.md # Setup instructions + screenshot
│ ├── package.json
│ ├── src/
│ │ └── components/
│ │ └── tambo/ # Tambo component directory
│ └── ...
- Frameworks - Remix, Expo, Astro, or other React frameworks
- Auth - Clerk, Supabase Auth, NextAuth
- Database - Prisma, Drizzle, Convex
- Backend - tRPC, Hono
- Use cases - Real-time apps, dashboards, specific domains