# ggstack > Interactive CLI (`create-ggstack`) that scaffolds a pnpm + Turborepo monorepo in the T3/Turbo style. Pick Vite, Next.js, Astro, Expo Router, Electron, Express, Fastify, TanStack Start, and/or React Router, then optionally add shadcn/ui, tRPC, Better Auth / Clerk / WorkOS, Stripe / Polar / Autumn, Resend + React Email, and Drizzle or Prisma (PostgreSQL, MySQL, or SQLite). Every project gets a typed `packages/env` and a root `.env.example`. create-ggstack is the published npm package. This repository contains the CLI source and these docs. It is not a generated app. Requirements: Node.js >= 22 and pnpm. The generated workspace is always a pnpm monorepo (`apps/*`, `packages/*`, `tooling/*`) even if you pass `--npm`, `--yarn`, or `--bun`. Those flags only change which package manager runs official app CLIs during scaffold. Always written: `packages/env` (`@t3-oss/env-core` + Zod), `tooling/tsconfig`, and a root `.env.example`. Never auto-wired into app templates: auth, database, tRPC, payments, or email. Import those packages in the app yourself after scaffold. Expo has no `dev` script, so it does not join root `pnpm dev`. ```bash pnpm create ggstack@latest my-app --stack g1e30 cd my-app cp .env.example .env pnpm install pnpm dev ``` `--stack` codes from `/create` pack the full config and skip every prompt. Inspect a code with `create-ggstack --decode `. Run `create-ggstack --add` at the root of an existing generated workspace to add more components. Prefer the Markdown sources linked below over HTML docs pages. Each guide also has a `.md` URL next to its HTML page. ## Docs ### Guide - [Create](/create.md): Build a ggstack stack visually, copy a setup command, and scaffold the same project from the terminal with --stack. - [Getting Started](/guide/getting-started.md): Requirements, how to run create-ggstack, and the post-scaffold steps. - [Add to an Existing Project](/guide/adding.md): Add ggstack apps, packages, providers, or tooling to an existing generated workspace. - [CLI](/guide/cli.md): Flags, interactive prompt order, name sanitizing, and abort conditions. - [Project](/guide/project.md): Workspace layout, root scripts, Turbo env, gitignore rules, and package names. - [Apps](/guide/apps.md): Per-app templates, scripts, default ports, env wiring, and Vite frameworks. - [Packages](/guide/packages.md): env, shadcn/ui, tRPC, auth, payments, email, and Drizzle or Prisma. Auth, db, tRPC, payments, and email are not auto-wired into apps. - [Environment](/guide/environment.md): Server vs client prefixes, the variable matrix, and when validation is skipped. - [Tooling](/guide/tooling.md): Shared TypeScript config, Tailwind v4, Oxc lint/format, and Prettier/ESLint stubs. ## Optional - [Full documentation](/llms-full.txt): All guide pages in one file. Use when you need the whole manual in one fetch. - [GitHub repository](https://github.com/gg-open-source/ggstack): CLI source, templates, and this docs site. MIT licensed. - [npm: create-ggstack](https://www.npmjs.com/package/create-ggstack): Published CLI. - [CLI source](https://github.com/gg-open-source/ggstack/tree/main/apps/create-ggstack/src): Prompts, generators, and choice lists. - [App templates](https://github.com/gg-open-source/ggstack/tree/main/apps/create-ggstack/templates): Static files copied into generated apps.