Next Forge
Expert assistance for next-forge — a production-grade Turborepo template for Next.js SaaS apps. Triggers on questions about next-forge installation, setup,…
Install
Quick install
npx skills add https://github.com/vercel/next-forge/tree/HEAD/skills/next-forgenpx skills add vercel/next-forge --skill next-forge --agent claude-codenpx skills add vercel/next-forge --skill next-forge --agent cursornpx skills add vercel/next-forge --skill next-forge --agent codexnpx skills add vercel/next-forge --skill next-forge --agent opencodenpx skills add vercel/next-forge --skill next-forge --agent github-copilotnpx skills add vercel/next-forge --skill next-forge --agent windsurfMore install options
Shorthand — useful for multi-skill repos:
npx skills add vercel/next-forge --skill next-forgeManual — clone the repo and drop the folder into your agent's skills directory:
git clone https://github.com/vercel/next-forge.gitcp -r next-forge/skills/next-forge ~/.claude/skills/next-forge
Expert assistance for next-forge — a production-grade Turborepo template for Next.js SaaS apps. Triggers on questions about next-forge installation, setup,…
next-forgeby vercel
Expert assistance for next-forge — a production-grade Turborepo template for Next.js SaaS apps. Triggers on questions about next-forge installation, setup,…npx skills add https://github.com/vercel/next-forge --skill next-forgeDownload ZIPGitHub
next-forge
next-forge is a production-grade Turborepo template for building Next.js SaaS applications. It provides a monorepo structure with multiple apps, shared packages, and integrations for authentication, database, payments, email, CMS, analytics, observability, security, and more.
Quick Start
Initialize a new project:
`npx next-forge@latest init
`
The CLI prompts for a project name and package manager (bun, npm, yarn, or pnpm). After installation:
- Set the
DATABASE_URLinpackages/database/.envpointing to a PostgreSQL database (Neon recommended).
- Run database migrations:
bun run migrate
- Add any optional integration keys to the appropriate
.env.localfiles.
- Start development:
bun run dev
All integrations besides the database are optional. Missing environment variables gracefully disable features rather than causing errors.
Architecture Overview
The monorepo contains apps and packages. Apps are deployable applications. Packages are shared libraries imported as @repo/<package-name>.
Apps (in /apps/):
AppPortPurposeapp3000Main authenticated SaaS applicationweb3001Marketing website with CMS and SEOapi3002Serverless API for webhooks, cron jobsemail3003React Email preview serverdocs3004Documentation site (Mintlify)storybook6006Design system component workshopstudio3005Prisma Studio for database editing
Core Packages: auth, database, payments, email, cms, design-system, analytics, observability, security, storage, seo, feature-flags, internationalization, webhooks, cron, notifications, collaboration, ai, rate-limit, next-config, typescript-config.
For detailed structure, see references/architecture.md.
Key Concepts
Environment Variables
Environment variable files live alongside apps and packages:
apps/app/.env.local— Main app keys (Clerk, Stripe, etc.)
apps/web/.env.local— Marketing site keys
apps/api/.env.local— API keys
packages/database/.env—DATABASE_URL(required)
packages/cms/.env.local— BaseHub token
packages/internationalization/.env.local— Languine project ID
Each package has a keys.ts file that validates environment variables with Zod via @t3-oss/env-nextjs. Type safety is enforced at build time.
Inter-App URLs
Local URLs are pre-configured:
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_WEB_URL=http://localhost:3001
NEXT_PUBLIC_API_URL=http://localhost:3002
NEXT_PUBLIC_DOCS_URL=http://localhost:3004
Update these to production domains when deploying (e.g., app.yourdomain.com, www.yourdomain.com).
Server Components First
page.tsx and layout.tsx files are always server components. Client interactivity goes in separate files with 'use client'. Access databases, secrets, and server-only APIs directly in server components and server actions.
Graceful Degradation
All integrations beyond the database are optional. Clients use optional chaining (e.g., stripe?.prices.list(), resend?.emails.send()). If the corresponding environment variable is not set, the feature is silently disabled.
Common Tasks
Running Development
`bun run dev # All apps
bun dev --filter app # Single app (port 3000)
bun dev --filter web # Marketing site (port 3001)
`
Database Migrations
After changing packages/database/prisma/schema.prisma:
`bun run migrate
`
This runs Prisma format, generate, and db push in sequence.
Adding shadcn/ui Components
`npx shadcn@latest add [component] -c packages/design-system
`
Update existing components:
`bun run bump-ui
`
Adding a New Package
Create a new directory in /packages/ with a package.json using the @repo/<name> naming convention. Add it as a dependency in consuming apps.
Linting and Formatting
`bun run lint # Check code style (Ultracite/Biome)
bun run format # Fix code style
`
Testing
`bun run test # Run tests across monorepo
`
Building
`bun run build # Build all apps and packages
bun run analyze # Bundle analysis
`
Deployment
Deploy to Vercel by creating separate projects for app, web, and api — each pointing to its respective root directory under /apps/. Add environment variables per project or use Vercel Team Environment Variables.
For detailed setup and customization instructions, see:
references/setup.md— Installation, prerequisites, environment variables, database and Stripe CLI setup
references/packages.md— Detailed documentation for every package
references/customization.md— Swapping providers, extending features, deployment configuration
references/architecture.md— Full monorepo structure, Turborepo pipeline, scripts
More skills from vercel
agent-friendly-apisby vercelCompanion skill for the Agent-Friendly APIs course on Vercel Academy. Build a feedback API, make it agent-friendly with structured documentation, then create a Claude Code skill that generates the docs automatically.filesystem-agentsby vercelYou are a knowledgeable teaching assistant for the Building Filesystem Agents course on Vercel Academy. You help students build agents that navigate filesystems with bash to answer questions about structured data.add-provider-packageby vercelGuide for adding new AI provider packages to the AI SDK. Use when creating a new @ai-sdk/<provider> package to integrate an AI service into the SDK.csvby vercelAnalyze and transform CSV data using bash toolsaiby vercelPythonai module — models, agents, hooks, middleware, MCP, structured outputcron-jobsby vercelVercel Cron Jobs configuration and best practices. Use when adding, editing, or debugging scheduled tasks in vercel.json.frontend-designby vercelCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts,…vercel-react-best-practicesby vercelReact and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js…
---
Source: https://github.com/vercel/next-forge/tree/HEAD/skills/next-forge
Author: vercel
Discovered via: mcpservers.org
SKILL.md source
--- name: next-forge description: Expert assistance for next-forge — a production-grade Turborepo template for Next.js SaaS apps. Triggers on questions about next-forge installation, setup,… --- # next-forge Expert assistance for next-forge — a production-grade Turborepo template for Next.js SaaS apps. Triggers on questions about next-forge installation, setup,… # next-forgeby vercel Expert assistance for next-forge — a production-grade Turborepo template for Next.js SaaS apps. Triggers on questions about next-forge installation, setup,… `npx skills add https://github.com/vercel/next-forge --skill next-forge`Download ZIPGitHub ## next-forge next-forge is a production-grade Turborepo template for building Next.js SaaS applications. It provides a monorepo structure with multiple apps, shared packages, and integrations for authentication, database, payments, email, CMS, analytics, observability, security, and more. ## Quick Start Initialize a new project: ``` `npx next-forge@latest init ` ``` The CLI prompts for a project name and package manager (bun, npm, yarn, or pnpm). After installation: * Set the `DATABASE_URL` in `packages/database/.env` pointing to a PostgreSQL database (Neon recommended). * Run database migrations: `bun run migrate` * Add any optional integration keys to the appropriate `.env.local` files. * Start development: `bun run dev` All integrations besides the database are optional. Missing environment variables gracefully disable features rather than causing errors. ## Architecture Overview The monorepo contains apps and packages. Apps are deployable applications. Packages are shared libraries imported as `@repo/<package-name>`. Apps (in `/apps/`): AppPortPurpose`app`3000Main authenticated SaaS application`web`3001Marketing website with CMS and SEO`api`3002Serverless API for webhooks, cron jobs`email`3003React Email preview server`docs`3004Documentation site (Mintlify)`storybook`6006Design system component workshop`studio`3005Prisma Studio for database editing Core Packages: `auth`, `database`, `payments`, `email`, `cms`, `design-system`, `analytics`, `observability`, `security`, `storage`, `seo`, `feature-flags`, `internationalization`, `webhooks`, `cron`, `notifications`, `collaboration`, `ai`, `rate-limit`, `next-config`, `typescript-config`. For detailed structure, see `references/architecture.md`. ## Key Concepts ### Environment Variables Environment variable files live alongside apps and packages: * `apps/app/.env.local` — Main app keys (Clerk, Stripe, etc.) * `apps/web/.env.local` — Marketing site keys * `apps/api/.env.local` — API keys * `packages/database/.env` — `DATABASE_URL` (required) * `packages/cms/.env.local` — BaseHub token * `packages/internationalization/.env.local` — Languine project ID Each package has a `keys.ts` file that validates environment variables with Zod via `@t3-oss/env-nextjs`. Type safety is enforced at build time. ### Inter-App URLs Local URLs are pre-configured: * `NEXT_PUBLIC_APP_URL=http://localhost:3000` * `NEXT_PUBLIC_WEB_URL=http://localhost:3001` * `NEXT_PUBLIC_API_URL=http://localhost:3002` * `NEXT_PUBLIC_DOCS_URL=http://localhost:3004` Update these to production domains when deploying (e.g., `app.yourdomain.com`, `www.yourdomain.com`). ### Server Components First `page.tsx` and `layout.tsx` files are always server components. Client interactivity goes in separate files with `'use client'`. Access databases, secrets, and server-only APIs directly in server components and server actions. ### Graceful Degradation All integrations beyond the database are optional. Clients use optional chaining (e.g., `stripe?.prices.list()`, `resend?.emails.send()`). If the corresponding environment variable is not set, the feature is silently disabled. ## Common Tasks ### Running Development ``` `bun run dev # All apps bun dev --filter app # Single app (port 3000) bun dev --filter web # Marketing site (port 3001) ` ``` ### Database Migrations After changing `packages/database/prisma/schema.prisma`: ``` `bun run migrate ` ``` This runs Prisma format, generate, and db push in sequence. ### Adding shadcn/ui Components ``` `npx shadcn@latest add [component] -c packages/design-system ` ``` Update existing components: ``` `bun run bump-ui ` ``` ### Adding a New Package Create a new directory in `/packages/` with a `package.json` using the `@repo/<name>` naming convention. Add it as a dependency in consuming apps. ### Linting and Formatting ``` `bun run lint # Check code style (Ultracite/Biome) bun run format # Fix code style ` ``` ### Testing ``` `bun run test # Run tests across monorepo ` ``` ### Building ``` `bun run build # Build all apps and packages bun run analyze # Bundle analysis ` ``` ### Deployment Deploy to Vercel by creating separate projects for `app`, `web`, and `api` — each pointing to its respective root directory under `/apps/`. Add environment variables per project or use Vercel Team Environment Variables. For detailed setup and customization instructions, see: * `references/setup.md` — Installation, prerequisites, environment variables, database and Stripe CLI setup * `references/packages.md` — Detailed documentation for every package * `references/customization.md` — Swapping providers, extending features, deployment configuration * `references/architecture.md` — Full monorepo structure, Turborepo pipeline, scripts ## More skills from vercel agent-friendly-apisby vercelCompanion skill for the Agent-Friendly APIs course on Vercel Academy. Build a feedback API, make it agent-friendly with structured documentation, then create a Claude Code skill that generates the docs automatically.filesystem-agentsby vercelYou are a knowledgeable teaching assistant for the Building Filesystem Agents course on Vercel Academy. You help students build agents that navigate filesystems with bash to answer questions about structured data.add-provider-packageby vercelGuide for adding new AI provider packages to the AI SDK. Use when creating a new @ai-sdk/<provider> package to integrate an AI service into the SDK.csvby vercelAnalyze and transform CSV data using bash toolsaiby vercelPython `ai` module — models, agents, hooks, middleware, MCP, structured outputcron-jobsby vercelVercel Cron Jobs configuration and best practices. Use when adding, editing, or debugging scheduled tasks in vercel.json.frontend-designby vercelCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts,…vercel-react-best-practicesby vercelReact and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js… --- **Source**: https://github.com/vercel/next-forge/tree/HEAD/skills/next-forge **Author**: vercel **Discovered via**: mcpservers.org
Related skills 6
caveman
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
secure-linux-web-hosting
Use when setting up, hardening, or reviewing a cloud server for self-hosting, including DNS, SSH, firewalls, Nginx, static-site hosting, reverse-proxying an app, HTTPS with Let's Encrypt or ACME clients, safe HTTP-to-HTTPS redirects, or optional post-launch network tuning such as BBR.
readme-i18n
Use when the user wants to translate a repository README, make a repo multilingual, localize docs, add a language switcher, internationalize the README, or update localized README variants in a GitHub-style repository.
lark-shared
Use when first setting up lark-cli, running auth login, switching user/bot identity (--as), handling permission denied or scope errors, needing to update lark-cli, or seeing _notice in JSON output.
improve-codebase-architecture
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.
paper-context-resolver
Optional RigorPilot helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical gap and the task is to resolve a specific paper detail such as dataset split, preprocessing, evaluation protocol, checkpoint mapping, or runtime assumption from primary paper sources while recording conflicts. Do not use for general paper summary, repo scanning, environment setup, command execution, title-only paper lookup, or replacin...