← VercelCONTENT HISTORY

Update to Vercel

Snapshot Sep 30, 2026 · 23:18 UTC · version 0.21.4

Collection source: not recorded for this historical snapshot. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED · RULE-BASED ANALYSIS

Supporting file metadata differs

Newly listed paths: agents/openai.yaml. This compares saved file lists, not package contents; a different collection source can change the list.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Supporting files

Before

[{"relative_path":"references/architecture.md","size_in_bytes":5361},{"relative_path":"references/customization.md","size_in_bytes":6986},{"relative_path":"references/packages.md","size_in_bytes":8556},{"relative_path":"references/setup....

After

[{"relative_path":"agents/openai.yaml","size_in_bytes":154},{"relative_path":"references/architecture.md","size_in_bytes":5361},{"relative_path":"references/customization.md","size_in_bytes":6986},{"relative_path":"references/packages.md...

Compare saved observations

Download comparison JSON
Full technical diff · 1 changed fields

changed /included_files

BEFORE
[
  {
    "relative_path": "references/architecture.md",
    "size_in_bytes": 5361
  },
  {
    "relative_path": "references/customization.md",
    "size_in_bytes": 6986
  },
  {
    "relative_path": "references/packages.md",
    "size_in_bytes": 8556
  },
  {
    "relative_path": "references/setup.md",
    "size_in_bytes": 4317
  }
]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 154
  },
  {
    "relative_path": "references/architecture.md",
    "size_in_bytes": 5361
  },
  {
    "relative_path": "references/customization.md",
    "size_in_bytes": 6986
  },
  {
    "relative_path": "references/packages.md",
    "size_in_bytes": 8556
  },
  {
    "relative_path": "references/setup.md",
    "size_in_bytes": 4317
  }
]
Full snapshot data
{
  "name": "next-forge",
  "description": "next-forge expert guidance — production-grade Turborepo monorepo SaaS starter by Vercel. Use when working in a next-forge project, scaffolding with `npx next-forge init`, or editing @repo/* workspace packages.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 154
    },
    {
      "relative_path": "references/architecture.md",
      "size_in_bytes": 5361
    },
    {
      "relative_path": "references/customization.md",
      "size_in_bytes": 6986
    },
    {
      "relative_path": "references/packages.md",
      "size_in_bytes": 8556
    },
    {
      "relative_path": "references/setup.md",
      "size_in_bytes": 4317
    }
  ],
  "skill_md_contents": "---\nname: next-forge\ndescription: next-forge expert guidance — production-grade Turborepo monorepo SaaS starter by Vercel. Use when working in a next-forge project, scaffolding with `npx next-forge init`, or editing @repo/* workspace packages.\nmetadata:\n  priority: 6\n  docs:\n    - \"https://next-forge.com/docs\"\n    - \"https://github.com/haydenbleasel/next-forge\"\n  pathPatterns:\n    - 'pnpm-workspace.yaml'\n    - 'apps/app/**'\n    - 'apps/web/**'\n    - 'apps/api/**'\n    - 'apps/email/**'\n    - 'apps/docs/**'\n    - 'apps/studio/**'\n    - 'apps/storybook/**'\n    - 'packages/auth/**'\n    - 'packages/database/**'\n    - 'packages/design-system/**'\n    - 'packages/payments/**'\n    - 'packages/email/**'\n    - 'packages/analytics/**'\n    - 'packages/observability/**'\n    - 'packages/security/**'\n    - 'packages/ai/**'\n    - 'packages/cms/**'\n    - 'packages/collaboration/**'\n    - 'packages/feature-flags/**'\n    - 'packages/internationalization/**'\n    - 'packages/notifications/**'\n    - 'packages/rate-limit/**'\n    - 'packages/seo/**'\n    - 'packages/storage/**'\n    - 'packages/webhooks/**'\n    - 'packages/next-config/**'\n    - 'packages/typescript-config/**'\n    - '**/keys.ts'\n    - '**/env.ts'\n    - '**/proxy.ts'\n    - 'biome.jsonc'\n  bashPatterns:\n    - '\\bnext-forge\\b'\n    - '\\bnpx\\s+next-forge\\b'\n    - '\\bpnpm\\s+migrate\\b'\n    - '\\bpnpm\\s+bump-deps\\b'\n    - '\\bpnpm\\s+bump-ui\\b'\n    - '\\bprisma\\s+(generate|db\\s+push|format|studio)\\b'\n    - '\\bstripe\\s+listen\\b'\n    - '\\bnpx\\s+shadcn@latest\\s+add\\b.*-c\\s+packages/design-system\\b'\n  importPatterns:\n    - '@repo/auth'\n    - '@repo/database'\n    - '@repo/design-system'\n    - '@repo/payments'\n    - '@repo/email'\n    - '@repo/analytics'\n    - '@repo/observability'\n    - '@repo/security'\n    - '@repo/ai'\n    - '@repo/cms'\n    - '@repo/collaboration'\n    - '@repo/feature-flags'\n    - '@repo/internationalization'\n    - '@repo/notifications'\n    - '@repo/rate-limit'\n    - '@repo/seo'\n    - '@repo/storage'\n    - '@repo/webhooks'\n    - '@repo/next-config'\n    - '@t3-oss/env-nextjs'\n    - '@rescale/nemo'\n  promptSignals:\n    phrases:\n      - 'next-forge'\n      - 'next forge'\n      - '@repo/'\n    allOf:\n      -\n        - 'monorepo'\n        - 'saas'\n        - 'starter'\n      -\n        - 'turborepo'\n        - 'clerk'\n        - 'stripe'\n    anyOf:\n      - 'saas starter'\n      - 'production monorepo'\n      - 'keys.ts'\n      - 'pnpm-workspace'\n    noneOf:\n      - 'create-t3-app'\n    minScore: 6\n---\n\n# next-forge\n\nnext-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.\n\n## Quick Start\n\nInitialize a new project:\n\n```bash\nnpx next-forge@latest init\n```\n\nThe CLI prompts for a project name and package manager (bun, npm, yarn, or pnpm). After installation:\n\n1. Set the `DATABASE_URL` in `packages/database/.env` pointing to a PostgreSQL database (Neon recommended).\n2. Run database migrations: `bun run migrate`\n3. Add any optional integration keys to the appropriate `.env.local` files.\n4. Start development: `bun run dev`\n\nAll integrations besides the database are optional. Missing environment variables gracefully disable features rather than causing errors.\n\n## Architecture Overview\n\nThe monorepo contains apps and packages. Apps are deployable applications. Packages are shared libraries imported as `@repo/<package-name>`.\n\n**Apps** (in `/apps/`):\n\n| App | Port | Purpose |\n|-----|------|---------|\n| `app` | 3000 | Main authenticated SaaS application |\n| `web` | 3001 | Marketing website with CMS and SEO |\n| `api` | 3002 | Serverless API for webhooks, cron jobs |\n| `email` | 3003 | React Email preview server |\n| `docs` | 3004 | Documentation site (Mintlify) |\n| `storybook` | 6006 | Design system component workshop |\n| `studio` | 3005 | Prisma Studio for database editing |\n\n**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`.\n\nFor detailed structure, see `references/architecture.md`.\n\n## Key Concepts\n\n### Environment Variables\n\nEnvironment variable files live alongside apps and packages:\n\n- `apps/app/.env.local` — Main app keys (Clerk, Stripe, etc.)\n- `apps/web/.env.local` — Marketing site keys\n- `apps/api/.env.local` — API keys\n- `packages/database/.env` — `DATABASE_URL` (required)\n- `packages/cms/.env.local` — BaseHub token\n- `packages/internationalization/.env.local` — Languine project ID\n\nEach package has a `keys.ts` file that validates environment variables with Zod via `@t3-oss/env-nextjs`. Type safety is enforced at build time.\n\n### Inter-App URLs\n\nLocal URLs are pre-configured:\n\n- `NEXT_PUBLIC_APP_URL=http://localhost:3000`\n- `NEXT_PUBLIC_WEB_URL=http://localhost:3001`\n- `NEXT_PUBLIC_API_URL=http://localhost:3002`\n- `NEXT_PUBLIC_DOCS_URL=http://localhost:3004`\n\nUpdate these to production domains when deploying (e.g., `app.yourdomain.com`, `www.yourdomain.com`).\n\n### Server Components First\n\n`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.\n\n### Graceful Degradation\n\nAll 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.\n\n## Common Tasks\n\n### Running Development\n\n```bash\nbun run dev                  # All apps\nbun dev --filter app         # Single app (port 3000)\nbun dev --filter web         # Marketing site (port 3001)\n```\n\n### Database Migrations\n\nAfter changing `packages/database/prisma/schema.prisma`:\n\n```bash\nbun run migrate\n```\n\nThis runs Prisma format, generate, and db push in sequence.\n\n### Adding shadcn/ui Components\n\n```bash\nnpx shadcn@latest add [component] -c packages/design-system\n```\n\nUpdate existing components:\n\n```bash\nbun run bump-ui\n```\n\n### Adding a New Package\n\nCreate a new directory in `/packages/` with a `package.json` using the `@repo/<name>` naming convention. Add it as a dependency in consuming apps.\n\n### Linting and Formatting\n\n```bash\nbun run lint                 # Check code style (Ultracite/Biome)\nbun run format               # Fix code style\n```\n\n### Testing\n\n```bash\nbun run test                 # Run tests across monorepo\n```\n\n### Building\n\n```bash\nbun run build                # Build all apps and packages\nbun run analyze              # Bundle analysis\n```\n\n### Deployment\n\nDeploy 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.\n\nFor detailed setup and customization instructions, see:\n\n- `references/setup.md` — Installation, prerequisites, environment variables, database and Stripe CLI setup\n- `references/packages.md` — Detailed documentation for every package\n- `references/customization.md` — Swapping providers, extending features, deployment configuration\n- `references/architecture.md` — Full monorepo structure, Turborepo pipeline, scripts\n"
}

SHA-256: 3d27e8212d6532efa4cd688d9c71112e49458e1e01fe19570d648c9a8d51cb6c