supastarter for Next.js – Skill
Expert guidance for building production-ready SaaS applications with the supastarter Next.js starter kit. Next.js only; no Vue/Nuxt content.
When to Use This Skill
Use this skill when:
- Building or modifying a supastarter Next.js app
- Adding features (new entities, API endpoints, UI, i18n)
- Working with Prisma, oRPC, Better Auth, Stripe, or the monorepo structure
- Debugging setup, configuration, deployment, or troubleshooting
- The user mentions supastarter Next.js, Prisma, oRPC, Better Auth, or related stack topics
High-Level Workflow: New Feature
Follow this order when adding a feature:
- Schema – Add or update Prisma models in
packages/database/prisma/schema.prisma; run migrations.
- Queries – Add query functions in
packages/database/prisma/queries/ and export from queries/index.ts.
- API – Add oRPC procedures in
packages/api/modules/<name>/ (types, procedures, router); mount router in packages/api/orpc/router.ts.
- UI – Add React components in
apps/web/ (e.g. modules/shared/components/); use shadcn, TanStack Query, session hooks.
- i18n – Add translation keys in
packages/i18n/translations/{en,de}.json.
Full walkthrough: assets/recipes/feedback-widget.md.
Project Structure (Next.js Monorepo)
apps/web/ # Next.js app (App Router, app/, components/, config/, lib/)
packages/
api/ # Hono + oRPC (modules/, orpc/router.ts)
auth/ # Better Auth config
database/ # Prisma schema, migrations, queries
i18n/ # Translations
mail/ # React Email templates, providers
storage/ # S3-compatible storage
ui/ # Shared UI (shadcn)
config/ # Shared config
Use package exports (e.g. @repo/api, @repo/database) instead of deep relative imports.
References (Progressive Disclosure)
Load only the reference files you need. All paths are from the skill root, one level deep.
Before writing code, read references/coding-conventions.md. For copy-paste patterns and commands, use references/code-patterns.md and references/quick-reference.md.
| Topic |
File |
| Coding conventions (read first) |
references/coding-conventions.md |
| Code patterns (examples) |
references/code-patterns.md |
| Quick reference (commands, paths) |
references/quick-reference.md |
| Tech stack |
references/tech-stack.md |
| Setup, install, deps |
references/setup.md |
| Env, config, feature flags |
references/configuration.md |
| Debugging, common issues |
references/troubleshooting.md |
| Prisma schema, migrations, queries |
references/database-patterns.md |
| Hono/oRPC, procedures, router |
references/api-patterns.md |
| Better Auth, session, protected endpoints |
references/auth-patterns.md |
| Orgs, roles, multi-tenancy |
references/organization-patterns.md |
| Stripe, webhooks, subscriptions |
references/payments-patterns.md |
| AI features, models |
references/ai-patterns.md |
| UI, theming, extensions |
references/customization.md |
| S3-compatible, uploads |
references/storage-patterns.md |
| Emails, templates, providers |
references/mailing-patterns.md |
| i18n, locales, translations |
references/internationalization.md |
| Meta, sitemap, structured data |
references/seo.md |
| Deploy, production |
references/deployment.md |
| Cron, background jobs |
references/background-tasks.md |
| Analytics integration |
references/analytics.md |
| Monitoring, errors |
references/monitoring.md |
| E2E tests |
references/e2e-testing.md |
Assets
- Env template: assets/env.example – environment variable keys and short comments (no secrets).
- Full recipe: assets/recipes/feedback-widget.md – build a feature from DB → API → UI → i18n (feedback widget example).
Scripts
- generate_module.py – Scaffolds a new API module (types, procedures, router). See scripts/README.md or the Scripts section below.
How to run (from supastarter monorepo root):
python scripts/generate_module.py <module-name>
Example: python scripts/generate_module.py feedback creates packages/api/modules/feedback/ with types.ts, procedures/create.ts, and router.ts. Mount the router in packages/api/orpc/router.ts manually.
Conventions (Summary)
- TypeScript everywhere; interfaces for object shapes.
- Named function exports for React components; prefer Server Components; use
"use client" only when needed.
- Forms: react-hook-form + zod; API: oRPC procedures in
packages/api/modules/.
- Use
@repo/* package imports; do not instantiate Prisma/Drizzle in app code.
- pnpm, Biome (format/lint), Turbo; Node.js ≥ 20.
Before writing code, read references/coding-conventions.md. For examples and commands: references/code-patterns.md, references/quick-reference.md, references/customization.md, references/api-patterns.md.
Official Docs
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: oscardrt-supastarter-nextjs-skill-supastarter-nextjs-skill3description: supastarter for Next.js – Skill4---56# supastarter for Next.js – Skill78Expert guidance for building production-ready SaaS applications with the supastarter Next.js starter kit. **Next.js only**; no Vue/Nuxt content.910## When to Use This Skill1112Use this skill when:1314- Building or modifying a supastarter Next.js app15- Adding features (new entities, API endpoints, UI, i18n)16- Working with Prisma, oRPC, Better Auth, Stripe, or the monorepo structure17- Debugging setup, configuration, deployment, or troubleshooting18- The user mentions supastarter Next.js, Prisma, oRPC, Better Auth, or related stack topics1920## High-Level Workflow: New Feature2122Follow this order when adding a feature:23241. **Schema** – Add or update Prisma models in `packages/database/prisma/schema.prisma`; run migrations.252. **Queries** – Add query functions in `packages/database/prisma/queries/` and export from `queries/index.ts`.263. **API** – Add oRPC procedures in `packages/api/modules/<name>/` (types, procedures, router); mount router in `packages/api/orpc/router.ts`.274. **UI** – Add React components in `apps/web/` (e.g. `modules/shared/components/`); use shadcn, TanStack Query, session hooks.285. **i18n** – Add translation keys in `packages/i18n/translations/{en,de}.json`.2930Full walkthrough: [assets/recipes/feedback-widget.md](assets/recipes/feedback-widget.md).3132## Project Structure (Next.js Monorepo)3334```35apps/web/ # Next.js app (App Router, app/, components/, config/, lib/)36packages/37 api/ # Hono + oRPC (modules/, orpc/router.ts)38 auth/ # Better Auth config39 database/ # Prisma schema, migrations, queries40 i18n/ # Translations41 mail/ # React Email templates, providers42 storage/ # S3-compatible storage43 ui/ # Shared UI (shadcn)44 config/ # Shared config45```4647Use package exports (e.g. `@repo/api`, `@repo/database`) instead of deep relative imports.4849## References (Progressive Disclosure)5051Load only the reference files you need. All paths are from the skill root, one level deep.5253**Before writing code**, read [references/coding-conventions.md](references/coding-conventions.md). For copy-paste patterns and commands, use [references/code-patterns.md](references/code-patterns.md) and [references/quick-reference.md](references/quick-reference.md).5455| Topic | File |56|-------|------|57| **Coding conventions** (read first) | [references/coding-conventions.md](references/coding-conventions.md) |58| **Code patterns** (examples) | [references/code-patterns.md](references/code-patterns.md) |59| **Quick reference** (commands, paths) | [references/quick-reference.md](references/quick-reference.md) |60| Tech stack | [references/tech-stack.md](references/tech-stack.md) |61| Setup, install, deps | [references/setup.md](references/setup.md) |62| Env, config, feature flags | [references/configuration.md](references/configuration.md) |63| Debugging, common issues | [references/troubleshooting.md](references/troubleshooting.md) |64| Prisma schema, migrations, queries | [references/database-patterns.md](references/database-patterns.md) |65| Hono/oRPC, procedures, router | [references/api-patterns.md](references/api-patterns.md) |66| Better Auth, session, protected endpoints | [references/auth-patterns.md](references/auth-patterns.md) |67| Orgs, roles, multi-tenancy | [references/organization-patterns.md](references/organization-patterns.md) |68| Stripe, webhooks, subscriptions | [references/payments-patterns.md](references/payments-patterns.md) |69| AI features, models | [references/ai-patterns.md](references/ai-patterns.md) |70| UI, theming, extensions | [references/customization.md](references/customization.md) |71| S3-compatible, uploads | [references/storage-patterns.md](references/storage-patterns.md) |72| Emails, templates, providers | [references/mailing-patterns.md](references/mailing-patterns.md) |73| i18n, locales, translations | [references/internationalization.md](references/internationalization.md) |74| Meta, sitemap, structured data | [references/seo.md](references/seo.md) |75| Deploy, production | [references/deployment.md](references/deployment.md) |76| Cron, background jobs | [references/background-tasks.md](references/background-tasks.md) |77| Analytics integration | [references/analytics.md](references/analytics.md) |78| Monitoring, errors | [references/monitoring.md](references/monitoring.md) |79| E2E tests | [references/e2e-testing.md](references/e2e-testing.md) |8081## Assets8283- **Env template**: [assets/env.example](assets/env.example) – environment variable keys and short comments (no secrets).84- **Full recipe**: [assets/recipes/feedback-widget.md](assets/recipes/feedback-widget.md) – build a feature from DB → API → UI → i18n (feedback widget example).8586## Scripts8788- **generate_module.py** – Scaffolds a new API module (types, procedures, router). See [scripts/README.md](scripts/README.md) or the Scripts section below.8990**How to run** (from supastarter monorepo root):9192```bash93python scripts/generate_module.py <module-name>94```9596Example: `python scripts/generate_module.py feedback` creates `packages/api/modules/feedback/` with `types.ts`, `procedures/create.ts`, and `router.ts`. Mount the router in `packages/api/orpc/router.ts` manually.9798## Conventions (Summary)99100- TypeScript everywhere; interfaces for object shapes.101- Named function exports for React components; prefer Server Components; use `"use client"` only when needed.102- Forms: react-hook-form + zod; API: oRPC procedures in `packages/api/modules/`.103- Use `@repo/*` package imports; do not instantiate Prisma/Drizzle in app code.104- pnpm, Biome (format/lint), Turbo; Node.js ≥ 20.105106**Before writing code**, read [references/coding-conventions.md](references/coding-conventions.md). For examples and commands: [references/code-patterns.md](references/code-patterns.md), [references/quick-reference.md](references/quick-reference.md), [references/customization.md](references/customization.md), [references/api-patterns.md](references/api-patterns.md).107108## Official Docs109110- Next.js docs (only): <https://supastarter.dev/docs/nextjs>111- Download docs as .md: <https://supastarter.dev/nextjs-docs.zip>112113---114> Converted and distributed by [TomeVault](https://tomevault.io/claim/oscardrt) — claim your Tome and manage your conversions.115<!-- tomevault:4.0:skill_md:2026-04-11 -->