# Product
TurboStarter provides SaaS starter kits: Core includes Next.js web, Expo mobile, and WXT browser extension on one backend; AI Kit provides AI product templates; Edge Kit uses TanStack Start and Cloudflare.
- Site: https://turbostarter.dev/
- AI Kit: https://turbostarter.dev/ai
- Edge Kit: https://turbostarter.dev/edge
- Compare hub: https://turbostarter.dev/compare
- Docs: https://turbostarter.dev/docs
- Core vs AI Kit: Core covers auth, billing, organizations, admin, and multi-platform apps; AI Kit adds AI product templates on top.
- Pricing: lifetime license (see live pricing on the site).
- AI-assisted development: agent rules, skills, MCP docs access, and CLI for Cursor, Claude, and similar tools on a production monorepo.
## Comparisons
Live comparison pages on this site:
- [Compare hub](/compare)
- [ShipFast vs Makerkit](/compare/shipfast-vs-makerkit)
- [ShipFast vs supastarter](/compare/shipfast-vs-supastarter)
- [Makerkit vs supastarter](/compare/makerkit-vs-supastarter)
- [TurboStarter vs ShipFast](/compare/turbostarter-vs-shipfast)
- [TurboStarter vs MakerKit](/compare/turbostarter-vs-makerkit)
- [TurboStarter vs supastarter](/compare/turbostarter-vs-supastarter)
- [TurboStarter vs Achromatic](/compare/turbostarter-vs-achromatic)
- [TurboStarter vs IndieKit Pro](/compare/turbostarter-vs-indiekit)
- [TurboStarter vs LaunchSaaS](/compare/turbostarter-vs-launchsaas)
- [TurboStarter vs ixartz SaaS Boilerplate](/compare/turbostarter-vs-ixartz)
- [TurboStarter vs SaaSBold](/compare/turbostarter-vs-saasbold)
# TurboStarter documentation
> Official documentation index for TurboStarter. Choose a kit below, then fetch `.md` URLs for markdown content.
## Documentation
### Core Kit
- Core: Web, mobile, and browser extension starter kit.
- Web: Frontend & API with Next.js
- [Introduction](/docs/web): Start building with the TurboStarter web kit. Monorepo layout, auth, billing, database, and deployment patterns for production SaaS apps.
- [Tech Stack](/docs/web/stack): Explore the web stack behind TurboStarter: Next.js, Hono, React Query, Better Auth, Drizzle, Tailwind, and shared monorepo packages.
- [CLI](/docs/web/cli): Bootstrap Core, AI, or Edge with @turbostarter/cli. Pick a kit, apps, and providers in minutes, then keep your repo in sync with project update.
- [Extras](/docs/web/extras): Tips, community links, and launch resources beyond the codebase. Practical extras that help you ship and grow your SaaS product.
- [FAQ](/docs/web/faq): Answers to common TurboStarter web questions about setup, auth, billing, deployment, and day-to-day development.
- Installation
- [Cloning repository](/docs/web/installation/clone): Clone the TurboStarter repository and prepare your local workspace. From git checkout to a running dev environment on your machine.
- [Editor setup](/docs/web/installation/editor-setup): Set up your editor for fast TurboStarter development. Recommended extensions, formatters, and settings for a smooth DX.
- [AI-assisted development](/docs/web/installation/ai-development): Use Cursor, Claude Code, ChatGPT Codex, or Antigravity effectively with TurboStarter. Skills, rules, and workflows that speed up feature work.
- [Development](/docs/web/installation/development): Run the web app locally with hot reload and shared monorepo packages. The everyday workflow after your environment is ready.
- [Conventions](/docs/web/installation/conventions): Naming, folder layout, and coding conventions used across the TurboStarter monorepo. Keep new code consistent with the starter.
- [Common commands](/docs/web/installation/commands): Common pnpm and Turborepo commands for daily TurboStarter work. Dev servers, builds, linting, database tasks, and useful scripts.
- [Project structure](/docs/web/installation/structure): Understand the TurboStarter monorepo layout for your web app. Where apps, packages, configs, and shared code live.
- [Updating codebase](/docs/web/installation/update): Pull upstream TurboStarter changes into your fork or project. Merge strategies, conflict hotspots, and safe upgrade checks.
- [Managing dependencies](/docs/web/installation/dependencies): Add, update, and sync packages across the TurboStarter monorepo. Workspace rules, version alignment, and safe upgrade habits.
- [MCP server](/docs/web/installation/mcp): Connect TurboStarter to AI assistants through the built-in MCP server. Give Cursor, Claude, and other tools structured access to your codebase.
- Configuration
- [Environment variables](/docs/web/configuration/environment-variables): Shared variables live in the root .env file, while app-specific ones go in apps/web; local secrets use .env.local, which is excluded from version control.
- [App configuration](/docs/web/configuration/app): Global web settings in apps/web/src/config/app.ts. Site name, URLs, feature flags, and other application-wide configuration.
- [Paths configuration](/docs/web/configuration/paths): Define app routes in apps/web/config/paths.ts. Shared path constants for links, redirects, and navigation across the Next.js app.
- Database
- [Overview](/docs/web/database/overview): Drizzle ORM for typed SQL, migrations, and queries. How the database layer connects to Better Auth and the Hono API modules.
- [Schema](/docs/web/database/schema): Design tables and relations in the shared Drizzle schema. Migrations, conventions, and extending the data model for new features.
- [Migrations](/docs/web/database/migrations): Generate and apply Drizzle migrations with ready-made CLI commands — use db:generate to create SQL files and db:migrate to push them to your database.
- [Database client](/docs/web/database/client): Use database client to interact with the database. How data is modeled, migrated, and accessed from your web app.
- [SQLite](/docs/web/database/sqlite): Switch the project from PostgreSQL to SQLite. Database setup, schema changes, and client usage with Drizzle ORM.
- [MySQL](/docs/web/database/mysql): Switch from the default PostgreSQL to MySQL: update the Drizzle driver, schema imports, Better Auth adapter, and a handful of PostgreSQL-specific patterns.
- API
- [Overview](/docs/web/api/overview): Learn how the TurboStarter API is built with Hono. Modular routers, protected routes, mutations, and the typed RPC client used across apps.
- [Adding new endpoint](/docs/web/api/new-endpoint): Add a Hono endpoint to the API: create a module with a router file, validate input with Zod, and register it in the main application router.
- [Protected routes](/docs/web/api/protected-routes): Protect Hono routes with middleware before handlers run. Session checks, role gates, and patterns for secure API endpoints.
- [Using API client](/docs/web/api/client): Use the Hono RPC client from Server Components, Route Handlers, and client components. Two patterns for type-safe API calls in Next.js.
- [Mutations](/docs/web/api/mutations): Create, update, and delete data through Hono routes and server actions. Auth checks, Zod validation, and cache invalidation with React Query.
- [Internationalization](/docs/web/api/internationalization): Return localized API errors and messages using the same i18n stack as the frontend. Translate server responses per user locale.
- [OpenAPI](/docs/web/api/openapi): Add OpenAPI docs to the TurboStarter API. Document routes once and unlock SDKs, agents, and partner integrations.
- Authentication
- [Overview](/docs/web/auth/overview): Better Auth for email, OAuth, sessions, and organizations on the web app. Secure authentication wired to your database and UI.
- [Configuration](/docs/web/auth/configuration): Toggle password, magic link, OTP, passkey, anonymous, and OAuth providers independently through the Better Auth server config and UI provider list.
- [User flow](/docs/web/auth/flow): Follow the TurboStarter authentication flow from sign-up to session. How login, callbacks, and protected routes work in your web app.
- [OAuth](/docs/web/auth/oauth): Configure OAuth sign-in for your web app. Provider credentials, redirect URLs, and session handling with Better Auth.
- [Two-Factor Authentication (2FA)](/docs/web/auth/2fa): Enable Better Auth two-factor authentication (MFA) in Next.js with TOTP authenticator apps, email or SMS OTP, and backup codes for recovery.
- Organizations/teams
- [Overview](/docs/web/organizations/overview): Everything you need for multi-tenant SaaS: TurboStarter handles org creation, member roles, invitations, and URL-based tenant context out of the box.
- [Data model](/docs/web/organizations/data-model): Explore the multi-tenant data model: organizations, memberships, and invitations joined by organizationId for clean per-tenant data isolation.
- [Active organization](/docs/web/organizations/active-organization): Read the active organization from server components via URL slug, from client components via a dedicated hook, or from API routes via session context.
- [RBAC (Roles & Permissions)](/docs/web/organizations/rbac): Define roles like member, admin, and owner, then enforce permissions server-side and client-side using the Better Auth organization plugin.
- [Invitations](/docs/web/organizations/invitations): Invite teammates by email with signed, expiring tokens. New and existing users are onboarded seamlessly; admins can resend, revoke, or adjust roles.
- Admin
- [Overview](/docs/web/admin/overview): Built-in admin dashboard for users, content, and operations. Central management UI you can extend with role checks and custom views.
- [Super Admin UI](/docs/web/admin/ui): Get familiar with the Super Admin dashboard and start managing your application. Built-in admin surfaces for managing users, content, and operations.
- Billing
- [Overview](/docs/web/billing/overview): Billing packages for Stripe, Lemon Squeezy, Polar, Dodo Payments, and more. Plans, checkout, subscriptions, metered usage, and entitlements for your SaaS web app.
- [Configuration](/docs/web/billing/configuration): Define plans, variants, limits, and discounts in one shared billing config schema. Learn how provider IDs map to checkout sessions and access control.
- [Subscriptions](/docs/web/billing/subscriptions): Configure recurring plans with monthly and yearly variants, optional trials, and provider price IDs for Stripe, Lemon Squeezy, Polar, and Dodo Payments.
- [One-time payments](/docs/web/billing/one-time): Sell lifetime access or one-off add-ons with one-time billing variants. Provider checkout events and order syncing keep entitlements accurate in your database.
- [Credits-based billing](/docs/web/billing/credits): Build a credits system on TurboStarter: design a balance ledger, map billing variants to credit grants, and deduct atomically after billable actions.
- [Metered usage](/docs/web/billing/metered-usage): Charge for actual usage like API calls or tokens: configure a metered variant with tiered pricing, report usage server-side, and query period totals.
- [Per-seat billing](/docs/web/billing/per-seat): Bill teams per seat: TurboStarter auto-counts members at checkout and keeps subscription quantity synced as your organization grows or shrinks.
- [Stripe](/docs/web/billing/stripe): Set up Stripe as your billing provider: get API keys, create products, configure webhooks, and enable the Customer Portal for plan management.
- [Lemon Squeezy](/docs/web/billing/lemon-squeezy): Switch to Lemon Squeezy as your billing provider: configure API keys, create product variants, and register subscription and order webhooks.
- [Polar](/docs/web/billing/polar): Connect Polar to TurboStarter: generate an access token, create a separate product per pricing tier, and wire up subscription webhooks.
- [Dodo Payments](/docs/web/billing/dodo-payments): Set up Dodo Payments in a Next.js SaaS: API keys, environment variables, products, webhooks, the customer portal, and discounts.
- [Webhooks](/docs/web/billing/webhooks): Handle billing webhooks reliably in your web app. Verify events, sync subscription state, and keep customer access accurate.
- AI
- [Overview](/docs/web/ai/overview): Add AI features to Core Kit with the AI SDK. Explore providers, streaming, and configuration, or integrate AI Kit templates into your app.
- [Configuration](/docs/web/ai/configuration): Proxy AI requests securely through your Hono backend: set provider API keys, register the streaming endpoint, and configure the client-side hooks.
- Emails
- [Overview](/docs/web/emails/overview): Transactional email with React Email templates and pluggable providers. Build welcome, reset, and billing messages as components.
- [Configuration](/docs/web/emails/configuration): Configure transactional emails with Resend, Mailgun, Nodemailer, or another provider: set your sender address, theme color, and active provider export.
- [Sending emails](/docs/web/emails/sending): Send mail through Resend, Mailgun, Postmark, or a custom provider strategy. One simple interface every email backend implements.
- Internationalization
- [Overview](/docs/web/internationalization/overview): TurboStarter uses i18next under a shared package abstraction, giving you type-safe translations, automatic language detection, and React hooks out of the box.
- [Configuration](/docs/web/internationalization/configuration): Set up supported locales, default language, and namespaces in the shared i18n config. Translation files are co-located and shared across all apps.
- [Translating app](/docs/web/internationalization/translations): Learn how to translate your application to multiple languages. Configure languages, load translations, and keep copy maintainable.
- Marketing
- [Marketing pages](/docs/web/marketing/pages): Discover which marketing pages ship out of the box - home, waitlist, newsletter, blog, pricing, contact — and how to add a new one.
- [Legal pages](/docs/web/marketing/legal): Learn how to create and update legal pages. Improve discoverability and add the legal and landing pages users expect.
- [SEO](/docs/web/marketing/seo): Learn how to optimize your app for search engines. Ship credible marketing pages faster with the built-in site structure.
- Customization
- [Styling](/docs/web/customization/styling): Tailwind CSS and Base UI for the web design system. Theme tokens, component variants, and how to restyle without fork drift.
- [Components](/docs/web/customization/components): Add shadcn/ui components to your app via the CLI or copy-paste. Keep atomic shared components in @workspace/ui-web for reuse across views.
- [Adding packages](/docs/web/customization/add-package): Scaffold a new monorepo package with turbo gen, configure exports for client and server, and import it across your TurboStarter apps.
- [Adding apps](/docs/web/customization/add-app): Learn how to add apps to your Turborepo workspace. Extend the design system and monorepo without fighting the starter layout.
- Storage
- [Overview](/docs/web/storage/overview): Upload and serve user files (images, documents, videos) through the shared storage layer. Presigned URLs and access patterns included.
- [Configuration](/docs/web/storage/configuration): S3-compatible storage: AWS, R2, Spaces, and more. Bucket credentials, env vars, and upload settings for the storage package.
- [Managing files](/docs/web/storage/managing-files): Upload and delete files with ownership-scoped API routes. Presigned URLs, content-type enforcement, and the avatar/logo pattern used in Core Kit.
- CMS
- [Overview](/docs/web/cms/overview): Manage blog posts, docs, and marketing content in TurboStarter. Overview of the CMS setup, collections, and how content is sourced at build time.
- [Content Collections](/docs/web/cms/content-collections): Use Content Collections to type-check MDX content across the repo. Schema, transforms, and how docs, blog, and legal content are loaded.
- [Blog](/docs/web/cms/blog): Create, publish, and manage blog posts in TurboStarter. MDX frontmatter, locales, thumbnails, and the content workflow used on the marketing site.
- Analytics
- [Overview](/docs/web/analytics/overview): Unified event tracking API across PostHog, GA, and other providers. Instrument the web app consistently without vendor lock-in.
- [Configuration](/docs/web/analytics/configuration): Wire up web analytics in minutes: choose from Vercel Analytics, PostHog, and other providers by switching a single export file and setting env vars.
- [Tracking events](/docs/web/analytics/tracking): Learn how to track events in your TurboStarter web app. Instrument your web app, choose a provider, and validate events in production.
- Feature flags
- [Overview](/docs/web/flags/overview): Ship feature flags on the web with OpenFeature. Local in-memory defaults, PostHog or GrowthBook in production, and the same API on client and server.
- [Configuration](/docs/web/flags/configuration): Choose an OpenFeature provider for web flags: in-memory for local defaults, or PostHog / GrowthBook for remote rollouts.
- [Usage](/docs/web/flags/usage): Evaluate feature flags on the web client and server, sync targeting context, and add new flag keys to TurboStarter.
- Monitoring
- [Overview](/docs/web/monitoring/overview): Lightweight hooks to see what's failing, where, and for whom. Sentry and PostHog integration with sensible defaults for production.
- [Sentry](/docs/web/monitoring/sentry): Learn how to setup Sentry as your web monitoring provider. Instrument your web app, choose a provider, and validate events in production.
- [PostHog](/docs/web/monitoring/posthog): Configure PostHog for real-time error tracking, session replay, and feature flags: create a project, activate the monitoring provider, and set env vars.
- Security
- [Overview](/docs/web/security/overview): Security in TurboStarter is layered: keep secrets on the server, enforce auth in the API, isolate tenants by organization, and verify every external webhook.
- [Server / client boundaries](/docs/web/security/boundaries): Anything passed into a Client Component is public. Use package ./server and ./client entry points so secrets and DB clients never reach the browser.
- [Secrets & environment](/docs/web/security/secrets): Keep secrets out of NEXT_PUBLIC_ variables and git. Use envin presets, .env.local for local secrets, and your host for production values.
- [Access control](/docs/web/security/access-control): Verify sessions on the server, protect Hono routes with middleware, and never trust client-supplied organization or user IDs for authorization.
- [Data validation](/docs/web/security/validation): Validate every untrusted query, body, and param with Zod before handlers run. Use the shared validate middleware and keep schemas next to your API modules.
- [Integrations](/docs/web/security/integrations): Verify webhook signatures, keep storage buckets private with short-lived signed URLs, and never ship third-party API keys to the client.
- [Checklist](/docs/web/security/checklist): A pre-launch security checklist covering secrets, auth, API authorization, webhooks, storage, and dependency hygiene.
- Deployment
- [Checklist](/docs/web/deployment/checklist): A step-by-step pre-launch checklist covering database provisioning, environment variables, auth configuration, billing setup, and DNS verification.
- [Vercel](/docs/web/deployment/vercel): Vercel is the recommended host for TurboStarter and provides first-class Next.js support with zero-config deployments and automatic preview environments.
- [Cloudflare](/docs/web/deployment/cloudflare): Run your Next.js app on Cloudflare's global edge network using OpenNext, Wrangler for deployment, Hyperdrive for database connections, and R2 for caching.
- [Netlify](/docs/web/deployment/netlify): Connect your repository to Netlify, configure the monorepo build command, and set environment variables to get automatic deployments on every push.
- [Render](/docs/web/deployment/render): Deploy to Render by connecting your repository, configuring the monorepo build command, and managing environment variables for a production-ready service.
- [Railway](/docs/web/deployment/railway): Link your repository to Railway, configure the build command for your monorepo, and manage environment variables to get a reliable production deployment.
- [AWS Amplify](/docs/web/deployment/amplify): Connect your GitHub repository to AWS Amplify for automated deployments, then configure the build spec and environment variables for your monorepo.
- [Docker](/docs/web/deployment/docker): Generate a production-ready Dockerfile with the built-in generator or add the files manually to containerize your TurboStarter app for any environment.
- [VPS](/docs/web/deployment/vps): Deploy to any Linux VPS using Docker Compose and Caddy as a reverse proxy with automatic HTTPS, giving you full control over runtime, networking, and costs.
- [Fly.io](/docs/web/deployment/fly): Deploy a Docker-packaged TurboStarter app to Fly.io's global infrastructure using flyctl, with full control over secrets and environment variable management.
- [Standalone API](/docs/web/deployment/api): Extract the Hono API into a standalone Node.js service to deploy it independently, useful for mobile or extension backends and long-running server tasks.
- Testing
- [Unit tests](/docs/web/tests/unit): Write and run fast unit tests for individual functions and components with instant feedback. Run fast checks locally and in CI with the included test tooling.
- [E2E tests](/docs/web/tests/e2e): Run end-to-end tests with Playwright against a production build. Covers auth flows, email testing, cross-browser CI, and the test layout.
- Background tasks
- [Overview](/docs/web/background-tasks/overview): Run background jobs and cron outside HTTP with Trigger.dev, QStash, Inngest, or Vercel Workflows. When to queue work and which tool to pick.
- [trigger.dev](/docs/web/background-tasks/trigger): Integrate Trigger.dev for durable background jobs and cron tasks. Queue work, handle retries, and run long-running jobs outside request cycles.
- [Upstash QStash](/docs/web/background-tasks/qstash): Integrate Upstash QStash with your TurboStarter application for serverless-first background task processing. Queue jobs, schedule cron work, and keep.
- [Inngest](/docs/web/background-tasks/inngest): Add Inngest to TurboStarter for event-driven background jobs, cron schedules, and durable multi-step workflows with automatic retries.
- [Vercel Workflows](/docs/web/background-tasks/vercel-workflows): Add Vercel Workflows (Workflow SDK) to TurboStarter for durable TypeScript steps that pause, retry, and resume across deploys.
- Recipes
- [Prisma](/docs/web/recipes/prisma): Switch TurboStarter from Drizzle to Prisma: schema design, Prisma Client setup, migrations, and query rewrites.
- [Supabase](/docs/web/recipes/supabase): Learn how to set up Supabase for your TurboStarter project. Practical instructions you can apply directly to your web app.
- [Subdomain multi-tenancy](/docs/web/recipes/subdomain-multi-tenancy): Route tenants by subdomain in your TurboStarter web app. DNS, middleware, organization context, and data isolation patterns for multi-tenant SaaS.
- [Disable organizations](/docs/web/recipes/disable-organizations): Turn off organizations in TurboStarter and ship a B2C product where every user stays on a personal account with user-scoped billing.
- [Disable personal accounts](/docs/web/recipes/disable-personal-accounts): Turn off personal workspaces and require users to create or join an organization before they can use the TurboStarter web dashboard.
- [Onboarding flow](/docs/web/recipes/onboarding): Build a TurboStarter web onboarding wizard after signup, persist completion on the server, and optionally require a paid plan before the dashboard.
- [Feature-based access](/docs/web/recipes/feature-based-access): Gate TurboStarter web features by subscription plan. Define entitlements, enforce access in API routes, and show upgrade prompts in the UI.
- [Cookie consent](/docs/web/recipes/cookie-consent): Configure TurboStarter web cookie consent with c15t, choose offline or hosted mode, and gate analytics on measurement consent.
- [Multiple environments](/docs/web/recipes/multiple-environments): Set up development, staging, and production environment variables for the web app. Practical instructions you can apply directly to your web app.
- [Versioning](/docs/web/recipes/versioning): Why web apps need a product version, how to choose and bump it, and where TurboStarter surfaces it.
- [Choose a kit](/docs/web/recipes/choose-a-kit): Compare Core, AI, Edge, and OpenClaw by product model, platforms, billing, runtime, and AI depth, then pick the kit that owns your application.
- [Integrate AI Kit](/docs/web/recipes/ai-kit): Port complete AI templates into Core Kit while keeping Core authentication, billing, API, database, and application structure intact.
- [Build a production feature](/docs/web/recipes/build-a-feature): Ship a complete feature from database to UI. Uses a feedback widget walkthrough across database, API, types, and UI.
- [API keys and webhooks](/docs/web/recipes/api-keys-webhooks): Add user-facing API keys and outbound webhooks so customers can call your Hono API and subscribe to domain events.
- Troubleshooting
- [Installation](/docs/web/troubleshooting/installation): Solve clone, pnpm, Docker, and local dev startup problems. Fixes for the most frequent TurboStarter installation blockers.
- [Billing](/docs/web/troubleshooting/billing): Fix checkout failures, webhook mismatches, and subscription state drift. Common Stripe and provider billing issues and solutions.
- [Deployment](/docs/web/troubleshooting/deployment): Find answers to common web deployment issues. Resolve frequent issues quickly with practical troubleshooting steps.
- [Emails](/docs/web/troubleshooting/emails): Troubleshoot missing mail, provider errors, and template rendering. Swap providers or debug delivery when transactional email breaks.
- Mobile: Expo app for iOS & Android
- [Introduction](/docs/mobile): Start building with the TurboStarter mobile kit. Expo, React Native, auth, billing, and shared API patterns for iOS and Android apps.
- [Tech Stack](/docs/mobile/stack): Explore the mobile stack behind TurboStarter: Expo, React Native, shared API client, auth, billing, and monorepo packages.
- [CLI](/docs/mobile/cli): Create a new TurboStarter project from the CLI with your preferred apps preconfigured. Fastest path from install to running Expo.
- [Extras](/docs/mobile/extras): Launch resources beyond code: Discord, changelog, marketing tips, and workflows that help you ship your mobile SaaS faster.
- [FAQ](/docs/mobile/faq): Answers to common TurboStarter mobile questions about Expo setup, auth, billing, publishing, and local development.
- Installation
- [Cloning repository](/docs/mobile/installation/clone): Clone the TurboStarter repository and prepare your local workspace. From git checkout to a running dev environment on your machine.
- [Editor setup](/docs/mobile/installation/editor-setup): Set up your editor for fast TurboStarter development. Recommended extensions, formatters, and settings for a smooth DX.
- [AI-assisted development](/docs/mobile/installation/ai-development): Use Cursor, Claude Code, ChatGPT Codex, or Antigravity effectively with TurboStarter. Skills, rules, and workflows that speed up feature work.
- [Development](/docs/mobile/installation/development): Run the mobile app locally with hot reload and shared monorepo packages. The everyday workflow after your environment is ready.
- [Firebase project](/docs/mobile/installation/firebase): Add Firebase to your TurboStarter mobile app for push notifications and other native services. Setup steps, config files, and env wiring.
- [Conventions](/docs/mobile/installation/conventions): Naming, folder layout, and coding conventions used across the TurboStarter monorepo. Keep new code consistent with the starter.
- [Common commands](/docs/mobile/installation/commands): Common pnpm and Turborepo commands for daily TurboStarter work. Dev servers, builds, linting, database tasks, and useful scripts.
- [Project structure](/docs/mobile/installation/structure): Understand the TurboStarter monorepo layout for your mobile app. Where apps, packages, configs, and shared code live.
- [Updating codebase](/docs/mobile/installation/update): Pull upstream TurboStarter changes into your fork or project. Merge strategies, conflict hotspots, and safe upgrade checks.
- [Managing dependencies](/docs/mobile/installation/dependencies): Add, update, and sync packages across the TurboStarter monorepo. Workspace rules, version alignment, and safe upgrade habits.
- [MCP server](/docs/mobile/installation/mcp): Connect TurboStarter to AI assistants through the built-in MCP server. Help coding tools understand your mobile app and monorepo setup.
- Configuration
- [Environment variables](/docs/mobile/configuration/environment-variables): Define mobile env vars at the monorepo root and apps/mobile. Connect API URLs, auth keys, and billing SDK secrets for local and EAS builds.
- [App configuration](/docs/mobile/configuration/app): App-wide Expo and EAS settings live in different config files. Know which file owns bundle IDs, scheme, icons, and build profiles.
- [Paths configuration](/docs/mobile/configuration/paths): Centralize route and deep-link paths in apps/mobile/config/paths.ts. One source of truth for navigation constants across the app.
- [Database](/docs/mobile/database): Expo apps reach data through your deployed Hono API. Deploy the web backend first, then consume routes from the mobile RPC client.
- API
- [Overview](/docs/mobile/api/overview): Call the shared Hono API from your Expo app. Protected routes, mutations, session-aware clients, and React Query patterns for mobile.
- [Using API client](/docs/mobile/api/client): Interact with the Hono API from Expo using the shared typed client. Auth headers, React Query hooks, and calling routes from native screens.
- Authentication
- [Overview](/docs/mobile/auth/overview): Better Auth in Expo and React Native: password, magic link, OTP, anonymous, Apple, Google and GitHub sign-in, with sessions shared with your web app.
- [Configuration](/docs/mobile/auth/configuration): Enable password, magic link, OTP, or OAuth on mobile. Configure Apple, Google, and GitHub providers and set your app scheme as a trusted origin.
- [User flow](/docs/mobile/auth/flow): Follow the TurboStarter authentication flow from sign-up to session. How login, callbacks, and protected routes work in your mobile app.
- OAuth
- [OAuth](/docs/mobile/auth/oauth): Enable dozens of OAuth providers through Better Auth with minimal config. Overview of social login options for Expo mobile apps.
- [Apple](/docs/mobile/auth/oauth/apple): Sign in with Apple on iOS using native APIs and Better Auth verification. Credentials, identity tokens, and App Store expectations.
- [Google](/docs/mobile/auth/oauth/google): Sign in with Google on Android and iOS with native account picker flows. Platform client IDs, token exchange, and Better Auth setup.
- [Two-Factor Authentication (2FA)](/docs/mobile/auth/2fa): Add Better Auth two-factor authentication to an Expo app with TOTP and backup codes, including enrollment, verification, and mobile-specific flows.
- Organizations/teams
- [Overview](/docs/mobile/organizations/overview): Teams and multi-tenant SaaS on mobile with shared org context from Better Auth. Invites, roles, and active organization switching.
- [Active organization](/docs/mobile/organizations/active-organization): Set and switch the current organization context within your application. Team invites, roles, permissions, and active organization context explained.
- [RBAC (Roles & Permissions)](/docs/mobile/organizations/rbac): Define member, admin, and owner roles in your mobile app. Check permissions client-side using authClient helpers or the hasPermission API.
- [Invitations](/docs/mobile/organizations/invitations): Send, track, and accept organization invites. Team invites, roles, permissions, and active organization context explained.
- Billing
- [Overview](/docs/mobile/billing/overview): Mobile billing across App Store and Google Play with RevenueCat and Superwall. Cross-platform subscriptions without reinventing stores.
- [Configuration](/docs/mobile/billing/configuration): Configure native store products, offerings, and paywalls for iOS and Android. User and organization billing with cross-platform plan sync.
- [RevenueCat](/docs/mobile/billing/revenuecat): Step-by-step RevenueCat setup for TurboStarter: connect App Store and Play Store, create entitlements, build paywalls, and register webhooks.
- [Superwall](/docs/mobile/billing/superwall): Switch to Superwall for no-code paywall experiments and A/B testing. Configure entitlements, products, and webhooks without releasing app updates.
- [Webhooks](/docs/mobile/billing/webhooks): Handle billing webhooks reliably in your mobile app. Verify events, sync subscription state, and keep customer access accurate.
- [AI](/docs/mobile/ai): Add AI features to your mobile app with TurboStarter. Providers, prompts, tools, and integration patterns that scale.
- [Internationalization](/docs/mobile/internationalization): i18next plus expo-localization for multilingual mobile apps. Load locales, detect device language, and keep translations maintainable.
- Customization
- [Styling](/docs/mobile/customization/styling): Style the mobile app with Uniwind and shared tokens. Tailwind-like utilities adapted for React Native screens and components.
- [Components](/docs/mobile/customization/components): Customize UI with react-native-reusables primitives. Accessible, composable components aligned with the mobile design system.
- [Adding packages](/docs/mobile/customization/add-package): Learn how to add packages to your Turborepo workspace. Practical ways to adapt styling and components in your mobile app.
- [Adding apps](/docs/mobile/customization/add-app): Use git subtree to fork the mobile app into a new app within the monorepo while pulling TurboStarter updates without conflicts.
- [Push notifications](/docs/mobile/push-notifications): Configure push notifications in TurboStarter - permissions, push tokens, FCM/APNs credentials, testing, and sending at scale.
- [Deep linking](/docs/mobile/deep-linking): Open auth, invites, and dashboard screens from custom schemes, Universal Links, App Links, and push notification taps.
- [Marketing](/docs/mobile/marketing): Market your mobile app with landing pages, ASO basics, and starter resources. Turn the included web marketing site into acquisition.
- Analytics
- [Overview](/docs/mobile/analytics/overview): Product analytics vs technical monitoring on mobile. Instrument Expo apps, pick a provider, and track the events that matter early.
- [Configuration](/docs/mobile/analytics/configuration): Set up mobile analytics providers (PostHog, Mixpanel, or Google Analytics), handle App Tracking Transparency permissions, and wrap your app.
- [Tracking events](/docs/mobile/analytics/tracking): Call track() anywhere in your React Native app to capture events and properties. Identify users by ID to link sessions across devices.
- Feature flags
- [Overview](/docs/mobile/flags/overview): Ship feature flags in Expo with OpenFeature. Local in-memory defaults, PostHog or GrowthBook for remote rollouts, and targeting from the signed-in user.
- [Configuration](/docs/mobile/flags/configuration): Choose an OpenFeature provider for Expo flags: in-memory for local defaults, or PostHog / GrowthBook for remote rollouts.
- [Usage](/docs/mobile/flags/usage): Evaluate feature flags in Expo screens, sync targeting context from auth, and add new flag keys to TurboStarter mobile.
- Monitoring
- [Overview](/docs/mobile/monitoring/overview): Know what broke, on which screen, and for which user in production. Sentry and PostHog hooks built for Expo error and performance data.
- [Sentry](/docs/mobile/monitoring/sentry): Integrate Sentry for crash reporting in your Expo app. Upload source maps via the Expo config plugin and Metro plugin for readable stack traces.
- [PostHog](/docs/mobile/monitoring/posthog): Learn how to setup PostHog as your mobile monitoring provider. Provider setup, env vars, and the events worth tracking early on.
- Security
- [Overview](/docs/mobile/security/overview): Treat the device as untrusted: keep secrets on the API, harden deep links, and never grant access from client-only checks.
- [Secrets & environment](/docs/mobile/security/secrets): EXPO_PUBLIC_ values ship in the app binary. Keep API keys and webhook secrets on the server, and configure EAS for production builds.
- [Auth & deep links](/docs/mobile/security/auth): Register your app scheme in trustedOrigins, configure native OAuth carefully, and treat deep links as untrusted entry points.
- [API trust](/docs/mobile/security/api-trust): Hide buttons for UX, but enforce every mutation on the Hono API. Never authorize from a client-supplied organization id alone.
- [Billing](/docs/mobile/security/billing): Use RevenueCat or Superwall on device for checkout UX, but grant access only after webhook-verified events on the API.
- [Checklist](/docs/mobile/security/checklist): A pre-store security checklist for Expo: public env, trusted origins, API trust, and webhook-backed billing.
- Publishing to stores
- [Checklist](/docs/mobile/publishing/checklist): Store submission checklist for iOS App Store and Google Play. Certificates, screenshots, privacy labels, and review readiness.
- [App Store (iOS)](/docs/mobile/publishing/ios): Learn how to publish your mobile app to the Apple App Store. From build artifacts to live release on the target app marketplace.
- [Google Play (Android)](/docs/mobile/publishing/android): Submit your app to Google Play via manual upload, EAS CLI, or a pre-configured GitHub Actions workflow. Includes review and managed publishing tips.
- [Updates](/docs/mobile/publishing/updates): Push JavaScript-only fixes instantly via EAS OTA updates or bump the version and resubmit to app stores for native changes.
- Testing
- [Unit tests](/docs/mobile/tests/unit): Write fast, isolated unit tests for React Native components and utilities with Jest. Test organization patterns and where to add coverage first.
- [E2E tests](/docs/mobile/tests/e2e): Run Maestro end-to-end tests on iOS and Android against a production API build. Covers flows, testIDs, EAS profiles, and CI.
- Recipes
- [Prisma](/docs/mobile/recipes/prisma): Switch TurboStarter from Drizzle ORM to Prisma ORM: schema design, Prisma Client setup, Better Auth adapter changes, migrations, and query rewrites.
- [Supabase](/docs/mobile/recipes/supabase): Replace the default database with Supabase in your TurboStarter mobile app. Database and optional storage integration in a few steps.
- [Onboarding flow](/docs/mobile/recipes/onboarding): Customize TurboStarter mobile onboarding - welcome, setup steps, and an optional hard paywall with RevenueCat or Superwall.
- [Feature-based access](/docs/mobile/recipes/feature-based-access): Gate TurboStarter mobile features by subscription plan. RevenueCat and Superwall entitlements, API checks, paywalls, and upgrade flows.
- [Multiple environments](/docs/mobile/recipes/multiple-environments): Isolate dev, preview, and production builds in Expo with separate EAS environments, bundle identifiers, and EXPO_PUBLIC_ variable sets.
- [Versioning](/docs/mobile/recipes/versioning): Why mobile apps need marketing versions and build numbers, when OTA is enough, and how that maps to store releases.
- [Choose a kit](/docs/mobile/recipes/choose-a-kit): Compare Core, AI, Edge, and OpenClaw by product model, platforms, billing, runtime, and AI depth, then pick the kit that owns your application.
- [Integrate AI Kit](/docs/mobile/recipes/ai-kit): Add AI Kit screens to the Core Expo app while reusing the authenticated Hono API, database, storage, and usage controls from web.
- [Build a production feature](/docs/mobile/recipes/build-a-feature): Add a native screen for your feature. Feedback widget walkthrough with Expo Router, Bottom Sheet forms, and the mobile API client.
- Troubleshooting
- [Installation](/docs/mobile/troubleshooting/installation): Fix SSH clone failures, Docker startup errors, missing translations, Xcode detection issues, and module-not-found errors in your mobile setup.
- [Billing](/docs/mobile/troubleshooting/billing): Debug paywall and subscription issues: missing products, sandbox accounts, RevenueCat sync, and entitlements not updating.
- [Publishing](/docs/mobile/troubleshooting/publishing): Resolve App Store and Play rejections: metadata, permissions, login demos, and common policy fixes before resubmitting.
- Browser extension: Add-on for your browser
- [Introduction](/docs/extension): Start building with the TurboStarter browser extension kit. WXT, Vite, auth, and shared backend patterns for Chrome, Firefox, and Edge.
- [Tech Stack](/docs/extension/stack): Explore the extension stack behind TurboStarter: WXT, Vite, React, shared auth, API client, and monorepo tooling.
- [CLI](/docs/extension/cli): Scaffold a new TurboStarter project from the CLI. Generate a configured structure with your chosen apps and packages in one command.
- [Extras](/docs/extension/extras): Bonus resources bundled with the extension kit: launch tips, community links, and shortcuts that speed up shipping your product.
- [FAQ](/docs/extension/faq): Answers to common TurboStarter extension questions about WXT setup, auth, store publishing, and project structure.
- Installation
- [Cloning repository](/docs/extension/installation/clone): Clone the TurboStarter repository and prepare your local workspace. From git checkout to a running dev environment on your machine.
- [Editor setup](/docs/extension/installation/editor-setup): Set up your editor for fast TurboStarter development. Recommended extensions, formatters, and settings for a smooth DX.
- [AI-assisted development](/docs/extension/installation/ai-development): Use Cursor, Claude Code, ChatGPT Codex, or Antigravity effectively with TurboStarter. Skills, rules, and workflows that speed up feature work.
- [Development](/docs/extension/installation/development): Run the browser extension locally with hot reload and shared monorepo packages. The everyday workflow after your environment is ready.
- [Conventions](/docs/extension/installation/conventions): Naming, folder layout, and coding conventions used across the TurboStarter monorepo. Keep new code consistent with the starter.
- [Common commands](/docs/extension/installation/commands): Common pnpm and Turborepo commands for daily TurboStarter work. Dev servers, builds, linting, database tasks, and useful scripts.
- [Project structure](/docs/extension/installation/structure): Understand the TurboStarter monorepo layout for your browser extension. Where apps, packages, configs, and shared code live.
- [Updating codebase](/docs/extension/installation/update): Pull upstream TurboStarter changes into your fork or project. Merge strategies, conflict hotspots, and safe upgrade checks.
- [Managing dependencies](/docs/extension/installation/dependencies): Add, update, and sync packages across the TurboStarter monorepo. Workspace rules, version alignment, and safe upgrade habits.
- [MCP server](/docs/extension/installation/mcp): Connect TurboStarter to AI assistants through the built-in MCP server. Help coding tools navigate your extension project and shared packages.
- Configuration
- [Environment variables](/docs/extension/configuration/environment-variables): Env vars for the extension live in the repo root and apps/extension. Wire API URLs, auth secrets, and provider keys correctly.
- [App configuration](/docs/extension/configuration/app): Set global extension settings in apps/extension/src/config/app.ts. Central place for names, URLs, and app-wide flags.
- [Manifest](/docs/extension/configuration/manifest): Configure manifest.json for Chrome, Firefox, and Edge requirements. Permissions, entry points, and store-ready extension metadata.
- Structure
- [Overview](/docs/extension/structure/overview): Explore the app/ directory structure that drives your extension: popup, options, sidepanel, background scripts, content scripts, and more.
- [Pages](/docs/extension/structure/pages): Get started with your extension's pages. Understand responsibilities, file layout, and runtime behavior in the extension.
- [Content scripts](/docs/extension/structure/content-scripts): Learn more about content scripts. Understand responsibilities, file layout, and runtime behavior in the extension.
- [Background service worker](/docs/extension/structure/background): Configure your extension's background service worker. Understand responsibilities, file layout, and runtime behavior in the extension.
- [Messaging](/docs/extension/structure/messaging): Communicate between your extension's components. How this part of the extension fits together and where to add your logic.
- [Storage](/docs/extension/structure/storage): Learn how to store data in your extension. How this part of the extension fits together and where to add your logic.
- [Database](/docs/extension/database): Extensions talk to your deployed Hono API for data. Why the web backend must be live and how the extension client connects.
- API
- [Overview](/docs/extension/api/overview): Use the shared Hono API from your browser extension. Session headers, protected routes, and the typed RPC client for popup and background scripts.
- [Using API client](/docs/extension/api/client): Call the Hono API from your extension with the shared typed client. Pass session cookies, hit protected routes, and fetch from popup or background.
- Authentication
- [Overview](/docs/extension/auth/overview): Better Auth in your browser extension with shared sessions from the web app. Sign-in, OAuth, and secure session handling out of the box.
- [Session](/docs/extension/auth/session): Learn how to manage the user session in your extension. How authentication is wired in your browser extension and what to customize.
- [Organizations/teams](/docs/extension/organizations): Share organization context from the web session inside your extension. Active org data available to gated features and API calls.
- [Billing](/docs/extension/billing): Extension billing flows through your web app checkout. Gate premium extension features using the same subscriptions and entitlements.
- [AI](/docs/extension/ai): Add AI features to your browser extension with TurboStarter. Providers, prompts, tools, and integration patterns that scale.
- [Internationalization](/docs/extension/internationalization): i18next and cookies power extension locale switching. Translate popup and content-script UI without rebuilding language plumbing.
- Customization
- [Styling](/docs/extension/customization/styling): Get started with styling your extension. Extend the design system and monorepo without fighting the starter layout.
- [Components](/docs/extension/customization/components): Manage and customize your extension components. Practical ways to adapt styling and components in your browser extension.
- [Adding packages](/docs/extension/customization/add-package): Learn how to add packages to your Turborepo workspace. Practical ways to adapt styling and components in your browser extension.
- [Adding apps](/docs/extension/customization/add-app): Use git subtree to duplicate the extension app template into a new monorepo app while staying in sync with upstream TurboStarter updates.
- [Marketing](/docs/extension/marketing): Launch and grow your browser extension with landing pages, SEO basics, and go-to-market ideas included with the starter kit.
- Analytics
- [Overview](/docs/extension/analytics/overview): Two analytics layers for extensions: product events and technical monitoring. Pick providers and track popup and background behavior.
- [Configuration](/docs/extension/analytics/configuration): Connect Google Analytics or PostHog to your browser extension by configuring measurement IDs, API secrets, and VITE_ environment variables.
- [Tracking events](/docs/extension/analytics/tracking): Call track() anywhere in your extension to log events, then use identify() to tie actions to a specific user across sessions.
- Feature flags
- [Overview](/docs/extension/flags/overview): Ship feature flags in your browser extension with OpenFeature. Local in-memory defaults, PostHog or GrowthBook for remote rollouts, and targeting from the signed-in user.
- [Configuration](/docs/extension/flags/configuration): Choose an OpenFeature provider for extension flags: in-memory for local defaults, or PostHog / GrowthBook for remote rollouts.
- [Usage](/docs/extension/flags/usage): Evaluate feature flags in extension options and popup UI, sync targeting context from auth, and add new flag keys.
- Monitoring
- [Overview](/docs/extension/monitoring/overview): Monitoring helpers show what failed, where (popup, content script, background), and for whom. Provider-agnostic error tracking for extensions.
- [Sentry](/docs/extension/monitoring/sentry): Capture errors from your extension's popup, background worker, and content scripts in Sentry with readable stack traces via source maps.
- [PostHog](/docs/extension/monitoring/posthog): Learn how to setup PostHog as your browser extension monitoring provider. Provider setup, env vars, and the events worth tracking early on.
- Security
- [Overview](/docs/extension/security/overview): Extension security centers on least-privilege permissions, a shared web session, and isolating content scripts from page JavaScript.
- [Permissions](/docs/extension/security/permissions): Request the smallest set of permissions and host access your extension needs. Broad grants hurt security and slow store review.
- [Session & origins](/docs/extension/security/session): Share the web app cookie with the extension, register chrome-extension:// in trustedOrigins, and avoid a second auth stack.
- [Content scripts & messaging](/docs/extension/security/content-scripts): Keep content scripts isolated from page JavaScript, narrow match patterns, and treat extension messages as untrusted input.
- [Storage](/docs/extension/security/storage): Use extension storage for preferences, not for server secrets or as a replacement for httpOnly session cookies.
- [Checklist](/docs/extension/security/checklist): A pre-submit security checklist for the extension: permissions, trusted origins, content scripts, and storage.
- Publishing to stores
- [Checklist](/docs/extension/publishing/checklist): Pre-submission checklist for Chrome Web Store, Firefox, and Edge. Assets, permissions, privacy policy, and review pitfalls to avoid.
- [Chrome Web Store](/docs/extension/publishing/chrome): Register a Chrome Web Store developer account, upload your extension zip, and automate future releases with the pre-built GitHub Actions workflow.
- [Firefox Add-ons](/docs/extension/publishing/firefox): Submit your extension to Firefox Add-ons manually for the first release, then automate updates using JWT secrets in your GitHub Actions workflow.
- [Edge Add-ons](/docs/extension/publishing/edge): Submit your Chromium extension to Microsoft Edge Add-ons. Reuse most Chrome assets with Edge-specific packaging and review steps.
- [Updates](/docs/extension/publishing/updates): Ship a new extension version by bumping the version field in package.json and following the same publish checklist — both manual and automated.
- Testing
- [Unit tests](/docs/extension/tests/unit): Write fast, isolated unit tests for your extension's functions and components using the same Vitest setup as the web app.
- [E2E tests](/docs/extension/tests/e2e): Test your Chrome MV3 extension with Playwright. Covers popup flows, sign-in via the web app, content scripts, and CI.
- Recipes
- [Prisma](/docs/extension/recipes/prisma): Switch TurboStarter from Drizzle ORM to Prisma ORM: schema design, Prisma Client setup, Better Auth adapter changes, migrations, and query rewrites.
- [Supabase](/docs/extension/recipes/supabase): Integrate Supabase as the database and optional storage backend for your browser extension, following the same steps as the web app recipe.
- [Onboarding flow](/docs/extension/recipes/onboarding): Add a first-run experience to the TurboStarter browser extension - welcome state, web auth, and optional plan-gated empty screens.
- [Feature-based access](/docs/extension/recipes/feature-based-access): Gate TurboStarter browser extension features by subscription plan. Read billing summary from the API, hide UI, and link users to web checkout.
- [Multiple environments](/docs/extension/recipes/multiple-environments): Manage dev, staging, and production configs with Vite-style mode files, browser-specific overrides, and separate CI secrets for store credentials.
- [Versioning](/docs/extension/recipes/versioning): Why browser extensions treat each version as a one-shot store release, and how to bump without fighting review.
- [Choose a kit](/docs/extension/recipes/choose-a-kit): Compare Core, AI, Edge, and OpenClaw by product model, platforms, billing, runtime, and AI depth, then pick the kit that owns your application.
- [Integrate AI Kit](/docs/extension/recipes/ai-kit): Expose Core-hosted AI features in the browser extension with authenticated streaming, compact UI, and no provider secrets in the extension.
- [Build a production feature](/docs/extension/recipes/build-a-feature): Surface your feature inside the browser extension. Session-aware API calls, popup UI, and deep links back to the web app.
- Troubleshooting
- [Installation](/docs/extension/troubleshooting/installation): Fix common extension setup problems: SSH clone failures, Docker not starting, missing manifest permissions, module-not-found errors, and OneDrive conflicts.
- [Publishing](/docs/extension/troubleshooting/publishing): Fix common store rejection reasons: permission issues, privacy disclosures, misleading listings, and manifest problems.
### AI Kit
- AI: 10+ ready-to-use templates for AI applications on web and mobile.
- [Get started](/ai/docs): Get started with AI Kit. Explore template apps, provider integrations, and the architecture behind the AI starter kit.
- [Tech stack](/ai/docs/stack): See the libraries, frameworks, and services that power AI Kit, from Next.js and Expo to AI SDK providers and billing.
- [CLI](/ai/docs/cli): Create an AI Kit project with @turbostarter/cli. Optional mobile, local or cloud Postgres, then AI Gateway, models, tools, voice, and S3 from one flow.
- [Extras](/ai/docs/extras): Conventions in the templates, the ChatGPT prompt pack, and editor extras that ship with AI Kit.
- [Architecture](/ai/docs/architecture): See how AI Kit is organized across apps, packages, and AI capabilities. A map of the monorepo before you customize providers, routes, or UI.
- [Integrate Core Kit](/ai/docs/integrate-core-kit): Add Core Kit authentication, billing, organizations, admin, email, and product infrastructure without replacing AI Kit's templates.
- **Core services**
- [API](/ai/docs/api): Hono-powered API layer shared across web and mobile, with route groups for AI, auth, and storage, plus middlewares for credits and rate limiting.
- [Authentication](/ai/docs/auth): Anonymous sessions are created automatically on first visit so users can interact with AI features before signing up, with easy upgrade paths to full auth.
- [Billing](/ai/docs/billing): Middleware-based credit system that deducts a configured amount per AI request, with usage-based billing and payment provider integration planned.
- [Database](/ai/docs/database): PostgreSQL with Drizzle ORM stores chat history, vector embeddings for RAG, AI-generated images, and per-user credits in feature-isolated pg schemas.
- [Internationalization](/ai/docs/internationalization): Ships with English by default and an i18next-based ai namespace for feature strings; extend by adding translation files and extra locales to the config.
- [UI](/ai/docs/ui): Shared UI packages across web and mobile deliver chat interfaces, image galleries, and generative UI elements driven by AI SDK structured output.
- [Storage](/ai/docs/storage): S3-compatible blob storage handles user uploads for RAG, AI-generated images and audio, and document collections, with bucket-level permission guidance.
- [Security](/ai/docs/security): Authentication, credit limits, and rate limiting guard every AI endpoint; provider API keys stay server-side and never reach client code.
- **Templates**
- [Chat](/ai/docs/chat): Chat demo with attachments, web search, and streaming replies. Learn how the conversational assistant is built and how to extend it.
- [Voice](/ai/docs/voice): Real-time voice agent demo with live audio sessions. See how listening, speaking, and tool calls work in a low-latency voice UI.
- [Image playground](/ai/docs/image): Image playground for text-to-image generation across multiple models. Prompt UI, model switching, and output handling in one demo app.
- [Knowledge RAG](/ai/docs/rag): Knowledge RAG demo: upload documents and ask questions against your content. Retrieval, chunking, and chat over private data sources.
- [Text to Speech](/ai/docs/tts): Text-to-speech demo powered by ElevenLabs. Stream spoken audio from written input with voice selection and playback controls.
- [Agents](/ai/docs/agents): AI agents template (coming soon). Planned patterns for autonomous workflows, tool use, and multi-step task execution in AI Kit.
- **Components**
- [](/ai/docs/components/analyzing-image): AnalyzingImage UI for when an assistant is inspecting an upload. Show image-analysis state without generic loading spinners.
- [](/ai/docs/components/attachments): Attachments component for files, uploads, and generated assets in prompts and messages. Consistent media handling across AI UIs.
- [](/ai/docs/components/context): Context component surfaces token usage and response cost. Help users understand how much context a reply consumed.
- [](/ai/docs/components/conversation): Conversation shell handles scrolling, loading, errors, and transcript layout. The outer frame for chat experiences in the AI kit.
- [](/ai/docs/components/message): Message primitives for user and assistant turns, rich content, and layout. The foundation of conversation UI in AI Kit.
- [](/ai/docs/components/model-selector): ModelSelector picker with web and mobile variants. Let users switch models without rebuilding selection UI from scratch.
- [](/ai/docs/components/prompt-input): PromptInput family for chat, image, RAG, and voice entry points. Text input, attachments, and actions in one composable surface.
- [](/ai/docs/components/reasoning): Reasoning component exposes model thinking progress and final rationale. Surface hidden reasoning without cluttering messages.
- [](/ai/docs/components/shimmer): ShimmerText adds subtle motion to waiting states during reasoning or tool runs. Lightweight feedback while async work finishes.
- [](/ai/docs/components/tool): Tool component renders tool calls as readable UI instead of raw JSON. Show what ran, current state, and results in the thread.
- [](/ai/docs/components/voice-control-bar): VoiceControlBar groups mute, end call, and session actions during voice chat. Core controls for an in-call voice experience.
- [](/ai/docs/components/voice-visualizer): Voice visualizer components for web and mobile voice sessions. Multiple styles that react to audio activity during live calls.
- **AI Capabilities**
- [Generating text](/ai/docs/generating-text): Core text generation for chat, summarization, extraction, and classification. The building block behind most AI product features.
- [Image generation](/ai/docs/image-generation): Generate images from natural-language prompts. Model choices, prompt structure, and product UX patterns for visual AI features.
- [Tool calling](/ai/docs/tool-calling): Let models call APIs, search, and workflows instead of guessing. Define tools, handle results, and build agent-style experiences.
- [Web search](/ai/docs/web-search): Give chat apps access to current web information beyond model memory. Integrate search providers into assistant responses.
- [Model Context Protocol (MCP)](/ai/docs/mcp): Connect models to external tools and data through Model Context Protocol. Let assistants discover and call capabilities safely.
- [Reasoning](/ai/docs/reasoning): Use reasoning models for multi-step planning, comparison, and troubleshooting. When deeper thinking beats fast single-pass replies.
- [Embeddings](/ai/docs/embeddings): Turn text into searchable vectors for semantic retrieval. Compare meaning, not keywords, to power RAG and similarity features.
- [Transcription](/ai/docs/transcription): Transcribe spoken audio into editable, searchable text. Meetings, voice notes, and media workflows with speech-to-text APIs.
- [Speech](/ai/docs/speech): Convert text to natural-sounding audio for narration, assistants, and accessibility. Speech synthesis APIs and voice UX patterns.
- AI Providers
- [AI providers](/ai/docs/providers): Compare the main AI providers in the stack, understand what each is best at, and choose the right model platform for your product.
- [OpenAI](/ai/docs/providers/openai): OpenAI spans text, vision, image generation, speech, transcription, and embeddings in one provider — a practical default for teams moving fast.
- [Google AI](/ai/docs/providers/google): Learn when Google AI fits your product, how Gemini supports multimodal features, and where retrieval-heavy workflows benefit most.
- [Anthropic](/ai/docs/providers/anthropic): Use Claude for assistant-style chat, nuanced writing, and reasoning-heavy workflows. When Anthropic fits your AI product best.
- [Meta](/ai/docs/providers/meta): Run Llama and other open-weight Meta models via hosted or self-managed paths. A flexible option for cost and control tradeoffs.
- [xAI Grok](/ai/docs/providers/xai): Integrate xAI Grok models for chat, reasoning-style interaction, and tool-enabled assistants in modern AI products.
- [DeepSeek](/ai/docs/providers/deepseek): Evaluate DeepSeek for text-heavy and reasoning workloads as an alternative to default frontier providers in your stack.
- [Replicate](/ai/docs/providers/replicate): Replicate for running open-source and community models without managing GPUs yourself. Great for experimentation and niche models.
- [ElevenLabs](/ai/docs/providers/eleven-labs): ElevenLabs for realistic voice synthesis and transcription. Speech-first features when text models alone are not enough.
### Edge Kit
- Edge: TanStack Start on Cloudflare Workers with D1, auth, Stripe, and Wrangler.
- [Introduction](/edge/docs): A standalone SaaS starter for Cloudflare, with TanStack Start, authentication, billing, data, email, and an AI app foundation ready to customize.
- [Tech stack](/edge/docs/stack): Explore the libraries behind Edge Kit and find the guides for TanStack Start server functions, Cloudflare bindings, D1, authentication, and Stripe.
- [CLI](/edge/docs/cli): Bootstrap Edge Kit with @turbostarter/cli. Clone the Worker, write Wrangler bindings, seed local D1, then keep the repo in sync with project update.
- [Extras](/edge/docs/extras): AI-assisted development tools, project conventions, and private community access included with Edge Kit.
- [FAQ](/edge/docs/faq): Find quick answers about Edge Kit's runtime, auth scope, database, server boundaries, and development, with links to the practical guides.
- Installation
- [Cloning repository](/edge/docs/installation/clone): Edge Kit repository access, a local checkout, and Git remotes for your own product with continued access to upstream updates.
- [Development](/edge/docs/installation/development): Run Edge Kit locally on the Workers runtime with a local D1 replica. Prerequisites, env files, migrations, and the everyday workflow.
- [Architecture](/edge/docs/installation/architecture): The Edge application model: React rendering, TanStack routing, server functions, Cloudflare bindings, and the lifecycle of a customer request.
- [Editor setup](/edge/docs/installation/editor-setup): Configure your Edge Kit editor with Oxc and Tailwind extensions, apply the repository's formatting settings, and get type-aware feedback while coding.
- [AI-assisted development](/edge/docs/installation/ai-development): Use Cursor, Claude Code, ChatGPT Codex, or Antigravity with Edge Kit. Rules, skills, and workflows for TanStack Start on Cloudflare Workers.
- [Conventions](/edge/docs/installation/conventions): Follow Edge Kit's conventions for module layout, typed imports, server boundaries, localized copy, and the lint checks that enforce them.
- [Common commands](/edge/docs/installation/commands): Common pnpm, Wrangler, and D1 commands for daily Edge Kit work. Dev server, builds, linting, migrations, tests, and deploys.
- [Project structure](/edge/docs/installation/structure): Understand the Edge Kit layout. Where routes, modules, infrastructure adapters, the database, and Cloudflare config live.
- [Dependencies](/edge/docs/installation/dependencies): Install, update, and remove Edge Kit packages with pnpm, check their Worker runtime requirements, and validate dependency changes before deployment.
- [Updates](/edge/docs/installation/update): Upstream Edge Kit updates, local changes, merge conflicts, and verification before publishing your updated product.
- Configuration
- [Environment variables](/edge/docs/configuration/environment-variables): How Edge Kit loads and validates configuration. Secrets in .env.local, public VITE_ values, wrangler.jsonc vars, and envin validation.
- [Wrangler and bindings](/edge/docs/configuration/wrangler): Configure Cloudflare bindings in wrangler.jsonc. D1, KV, R2, Queues, Email, AI, rate limits, flags, routes, and generated types.
- [App configuration](/edge/docs/configuration/app): Shared product settings for your Edge app's name, public URL, default language, and version across the interface, metadata, and emails.
- [Paths configuration](/edge/docs/configuration/paths): Shared destinations for links, navigation, and redirects, with type-safe routing across the public site and customer dashboard.
- Database
- [Overview](/edge/docs/database/overview): Use Cloudflare D1 with Drizzle ORM in a TanStack Start app: the database client, local vs remote D1 state, migrations, and development seeds.
- [Schema](/edge/docs/database/schema): Add an application table beside the generated auth schema, export it from the schema barrel, and create a reviewed SQLite migration.
- [Queries](/edge/docs/database/queries): Application data with D1 and Drizzle: customer ownership, reads and writes, relationships, pagination, and query design for new features.
- [Migrations](/edge/docs/database/migrations): Apply and inspect local D1 migrations, understand what the development seed changes, and deploy compatible schema changes to remote D1.
- Server functions
- [Overview](/edge/docs/server/overview): Type-safe server functions with TanStack Start, plus HTTP endpoints for webhooks, streaming, and files, all running in your Edge Worker.
- [Protected calls](/edge/docs/server/protected): Validate server function inputs, resolve the caller from its session, enforce record ownership, and guard raw HTTP handlers on the Worker.
- [Data fetching](/edge/docs/server/data-fetching): Page loading, TanStack Query caching, mutations, and UI states, with a clear boundary between customer data in the browser and server operations.
- [Caching](/edge/docs/server/caching): Cloudflare KV and application caching in Edge Kit, including keys, expiration, invalidation, consistency, and customer-specific data.
- Authentication
- [Overview](/edge/docs/auth/overview): Better Auth in TanStack Start on Cloudflare Workers: email and password, social sign-in, two-factor, sessions, admin roles, and rate limits.
- [Configuration](/edge/docs/auth/configuration): Choose sign-in methods in src/config/auth.ts. Toggle password and anonymous auth, and select which OAuth providers are shown.
- [OAuth providers](/edge/docs/auth/oauth): Connect Google, GitHub, and Cloudflare sign-in, register the correct callback URLs, and understand trusted account linking in Edge Kit.
- [Sessions](/edge/docs/auth/sessions): Customer identity and sessions in Edge Kit, including server checks, anonymous access, session revocation, and private application data.
- [Account management](/edge/docs/auth/account): Ready-to-use profile and security settings, with email changes, passwords, two-factor, linked accounts, sessions, and subscription-aware account deletion.
- [Two-factor authentication](/edge/docs/auth/two-factor): Authenticator app codes, backup codes, and trusted devices for password sign-in, with customer settings and a verification step built in.
- Admin
- [Overview](/edge/docs/admin/overview): A super admin panel for your Edge app: platform summary, user and customer management, role-based access, and server-side admin checks.
- [User management](/edge/docs/admin/users): Find any account, change roles, ban or delete users, impersonate customers for support, and manage their sign-in methods, subscriptions, and sessions.
- [Data tables](/edge/docs/admin/data-tables): Server-driven tables with search, filters, sorting, column visibility, and pagination, plus a walkthrough for adding your own admin resource.
- Billing
- [Overview](/edge/docs/billing/overview): A subscription billing foundation with Stripe checkout, a shared plan catalog, trials, discounts, customer management, and paid feature access.
- [Configuration](/edge/docs/billing/configuration): A shared billing catalog for your Edge app's plans, recurring prices, trials, discounts, and translated pricing copy.
- [Subscriptions](/edge/docs/billing/subscriptions): Stripe subscription setup for Edge Kit, including recurring prices, webhook delivery, customer portal settings, discounts, and cancellation.
- [Webhooks](/edge/docs/billing/webhooks): Stripe webhook synchronization in Edge Kit, with subscription state, signed events, local testing, delivery diagnostics, and custom billing workflows.
- [AI](/edge/docs/ai): AI app infrastructure with model access, streamed responses, React conversation state, message rendering, and authenticated server requests.
- Emails
- [Overview](/edge/docs/emails/overview): Email infrastructure with React templates, localized subjects and copy, HTML and plain-text rendering, previews, and Cloudflare delivery.
- [Configuration](/edge/docs/emails/configuration): Sender domains, Cloudflare email bindings, recipient settings, and branded templates for transactional and product emails in Edge Kit.
- [Email delivery](/edge/docs/emails/sending): Localized email delivery through Cloudflare, with typed templates, sender configuration, recipient options, and direct or queued application workflows.
- Internationalization
- [Overview](/edge/docs/internationalization/overview): Paraglide internationalization with English and Spanish, type-safe translations, language detection, localized URLs, and translated emails.
- [Translations](/edge/docs/internationalization/translations): Message catalogs, translation parameters, and additional languages in Edge Kit, including UI, validation, authentication, emails, and content.
- Customization
- [Overview](/edge/docs/customization/overview): Branding, styles, and components for making Edge Kit your own, with a shared design system across marketing, authentication, and the dashboard.
- [Branding](/edge/docs/customization/branding): Product identity, logos, browser icons, social previews, marketing copy, and email branding across your Edge application.
- [Styling](/edge/docs/customization/styling): Tailwind CSS and Kumo styling, including shared color tokens, typography, responsive layouts, and light and dark mode in Edge Kit.
- [Components](/edge/docs/customization/components): Kumo React components for your Edge app, with accessible controls, component variants, reusable views, and translated interface copy.
- [Navigation](/edge/docs/customization/navigation): Routes, layouts, menus, and translated destinations in Edge Kit, with a practical workflow for adding pages to your product.
- [Forms](/edge/docs/customization/forms): TanStack Form, Zod validation, and Kumo inputs for product forms, with accessible feedback, server checks, submission states, and localization.
- [Storage](/edge/docs/storage): Cloudflare R2 storage for files, images, and documents, with upload validation, authenticated file delivery, and an extensible ownership pattern.
- Content
- [Marketing pages](/edge/docs/content/marketing): The public website in Edge Kit, with landing sections, pricing, contact forms, localized content, and a connected path into your application.
- [Blog and legal](/edge/docs/content/blog): An MDX blog and legal pages with localized content, metadata, draft visibility, and ready-to-use routes for your Edge product.
- [SEO](/edge/docs/content/seo): Page metadata, social previews, canonical URLs, a sitemap, and crawler rules for the public pages and content in your Edge app.
- [Feature flags](/edge/docs/flags): Typed feature flag infrastructure with Cloudflare Flagship, targeting context, fallback values, and gradual product rollouts.
- [Background jobs](/edge/docs/background-jobs): Cloudflare Queues infrastructure for asynchronous work, with typed jobs, delayed delivery, a Worker consumer, retries, and processing logs.
- [Security](/edge/docs/security): Session checks, two-factor, admin roles, private storage, bot protection, rate limiting, and server-side authorization for your Edge product.
- [Observability](/edge/docs/observability): Cloudflare logs, request tracing, queue diagnostics, visitor analytics, and availability checks for operating your Edge application.
- [Deployment](/edge/docs/deployment): Deploy a TanStack Start SaaS to Cloudflare Workers: create D1, R2, KV and Queues, set secrets and your domain, then release from Wrangler or GitHub.
- Testing
- [Unit tests](/edge/docs/testing/unit): A configured Vitest setup for application logic and Worker-backed operations, with watch mode, coverage, and example tests to build on.
- [End-to-end tests](/edge/docs/testing/e2e): Playwright browser tests for the built Edge app, with a local Worker harness, authenticated sessions, reports, screenshots, and traces.
- Recipes
- [Add a feature](/edge/docs/recipes/add-a-feature): Build a user-owned notes feature from a D1 table through protected server functions, query caching, translated copy, and a dashboard route.
- [More AI models](/edge/docs/recipes/change-chat-model): Model selection through AI Gateway or Workers AI, with the existing streaming interface, authentication, and response rendering.
- [Plan-based access control](/edge/docs/recipes/gate-on-plan): Paid feature access using the included plan checks, with customer ownership, subscription status, and direct server verification.
- [Postgres with Hyperdrive](/edge/docs/recipes/hyperdrive): Connect an existing PostgreSQL database to your Edge app through Cloudflare Hyperdrive, alongside D1, with local development, caching, and previews.
- [Durable workflows](/edge/docs/recipes/workflows): Add Cloudflare Workflows to Edge Kit for multi-step processes that retry each step and wait for days, with a tested account export that writes to R2.
- Troubleshooting
- [Local development](/edge/docs/troubleshooting/local-development): Common development configuration issues, including environment values, Cloudflare account access, generated files, sign-in, and local email.
- [Database issues](/edge/docs/troubleshooting/database): Diagnose local and remote D1 drift, missing application tables, generated schema overwrites, and seed users with unchanged passwords.
- [Deployment](/edge/docs/troubleshooting/deployment): Production troubleshooting for builds, migrations, credentials, billing notifications, email, AI, and Cloudflare Worker compatibility.
## Full
- [llms-full.txt](/llms-full.txt): Full markdown snapshot of all public documentation.
## Tools
- [skill.md](/skill.md): Agent skill definition for using TurboStarter documentation.
- [MCP server](/mcp): Tool endpoint for searching and reading TurboStarter documentation.