Scaffolds
Prompts that run the current official CLIs the way I always want them — not a template repo to go stale. Open one in Cursor, press enter, get a project. Back to the story.
Next.js app
TypeScript, Biome, React Compiler, Tailwind, App Router, pnpm — no src/.
Read the prompt
Scaffold a new Next.js app. If a project name isn't obvious from context, ask me for one. Run the CLI non-interactively — never hang waiting for prompts. 1. Create the app with the current create-next-app (prefer `pnpm create next-app@latest` so flags match today's CLI): pnpm create next-app@latest <project-name> \ --typescript \ --biome \ --react-compiler \ --tailwind \ --app \ --no-src-dir \ --import-alias "@/*" \ --use-pnpm \ --agents-md If a flag has been renamed or removed, check `create-next-app --help` (or the live Next.js docs) and keep the same intent: TypeScript, Biome, React Compiler, Tailwind, App Router, no src/, @/* imports, pnpm, keep AGENTS.md. 2. cd into the project. 3. Confirm the lint script runs (`pnpm lint` or whatever the scaffold generated). Fix only if the scaffold itself is broken. 4. Stop. Do not add a backend, database, auth, UI kit, or other packages unless I ask. Tell me the folder name and the flags you used. Notes: - Prefer the official CLI over copying an old template. - Keep the generated AGENTS.md. You may add project rules below it; don't overwrite the generated section.
Next.js + Convex
Same Next base, then Convex — plus install the Convex Cursor plugin once.
Read the prompt
Scaffold a new Next.js app with Convex. If a project name isn't obvious from context, ask me for one. Prefer official CLIs over copying templates. Never hang forever on interactive prompts — if login or project creation needs me, pause and say what to do. ## A. Next.js (same base as my Next-only recipe) 1. Create the app: pnpm create next-app@latest <project-name> \ --typescript \ --biome \ --react-compiler \ --tailwind \ --app \ --no-src-dir \ --import-alias "@/*" \ --use-pnpm \ --agents-md If a flag has been renamed or removed, check `create-next-app --help` (or the live Next.js docs) and keep the same intent: TypeScript, Biome, React Compiler, Tailwind, App Router, no src/, @/* imports, pnpm, keep AGENTS.md. 2. cd into the project. Confirm the lint script runs; fix only if the scaffold itself is broken. ## B. Convex 3. Install the package with the project's package manager: `pnpm add convex`. 4. Initialize against a Convex deployment with the current CLI (prefer `pnpm exec convex` / `npx convex@latest` so the command matches today): `pnpm exec convex dev --once` On first run this may ask me to log in and pick/create a project. Pause for that, then re-run with `--once` so it writes config, the `convex/` folder, env vars, and generated types without leaving a watcher running. 5. Wire the React client the way the current Convex Next.js docs say (provider + `NEXT_PUBLIC_CONVEX_URL`). Put the provider in `components/` if the app already uses that layout; otherwise follow the docs. Do not add sample todo/tasks UI unless I ask. ## C. Cursor (so the agent knows Convex) 6. After scaffolding, tell me to install the official Convex plugin in Cursor if I don't already have it — once is enough for all projects: - In Agent chat: `/add-plugin convex` - Or: Customize → search “Convex” → Add Don't try to install the plugin from the terminal; that's a Cursor UI step. ## D. Stop 7. Do not add auth, UI kits, or extra packages unless I ask. Summarize: folder name, Next flags, Convex wired. Remind me about the Convex plugin if I still need it, and that day-to-day I should run `pnpm exec convex dev` alongside the Next dev server.
TanStack Start
Pick add-ons (Query, Convex, auth, deploy…), get a prompt — Intent on by default.
Locked base: React, pnpm, Biome, Start (not router-only), no demo examples. Pick add-ons — the prompt updates.
Read the prompt
Scaffold a new TanStack Start app. If a project name isn't obvious from context, ask me for one. Prefer the official TanStack CLI over copying a template. Never hang forever on interactive prompts — if login or project creation needs me, pause and say what to do. 1. Create the app with the current CLI (prefer `npx @tanstack/cli@latest` so flags match today): npx @tanstack/cli@latest create <project-name> \ --framework React \ --package-manager pnpm \ --toolchain biome \ --no-examples \ --intent \ --add-ons tanstack-query \ -y If a flag or add-on id has been renamed or removed, check `npx @tanstack/cli@latest create --help` and `--list-add-ons`, then map to the same intent: React, pnpm, Biome toolchain, no demo examples, TanStack Intent on, add-ons: tanstack-query. 2. cd into the project. Confirm the app starts (`pnpm dev` or the generated script). Fix only if the scaffold itself is broken. 3. Intent was requested. If the create step didn't fully wire agent skill guidance, run the current Intent consumer setup (`npx @tanstack/intent@latest install` or whatever `--help` shows) so AGENTS.md (or the project's agent config) can load skills from installed packages on demand. 4. Stop. Do not add packages or add-ons beyond what I selected unless I ask. Summarize: folder name, flags, add-ons, Intent.
CLI command
npx @tanstack/cli@latest create <project-name> \ --framework React \ --package-manager pnpm \ --toolchain biome \ --no-examples \ --intent \ --add-ons tanstack-query \ -y
Electron
Electron Forge TypeScript — Vite (default) or Webpack. Official CLI, not a stale boilerplate.
Official Electron Forge via
create-electron-app— pick a TypeScript bundler template. The prompt updates.Read the prompt
Scaffold a new Electron desktop app with Electron Forge. If a project name isn't obvious from context, ask me for one. Prefer the official create-electron-app CLI over cloning a third-party boilerplate. Never hang forever on interactive prompts. 1. Create the app with the current Forge CLI (prefer `npx create-electron-app@latest` so the template matches today): npx create-electron-app@latest <project-name> --template=vite-typescript If the template name has been renamed or removed, check `npx create-electron-app@latest --help` and the live Electron Forge docs, then map to the same intent: TypeScript + Vite (`vite-typescript`). Notes on the two TypeScript templates: - `vite-typescript` — modern default; Forge's Vite plugin is still marked experimental. - `webpack-typescript` — more battle-tested Forge path. 2. cd into the project. Confirm it starts (`npm start` or the generated script). Fix only if the scaffold itself is broken. 3. Keep Electron security defaults. Do not turn off `contextIsolation` or `sandbox`, and do not enable `nodeIntegration` in renderer windows, unless I explicitly ask. 4. Stop. Do not add React, a UI kit, auto-updater, or packaging tweaks unless I ask. Summarize: folder name, template (vite-typescript), and how to start it.
CLI command
npx create-electron-app@latest <project-name> --template=vite-typescript
Expo
default@sdk-57 — Expo Router, native tabs, keep AGENTS.md, project Expo Skills for Cursor.
Read the prompt
Scaffold a new Expo app. If a project name isn't obvious from context, ask me for one. Prefer the official create-expo-app CLI over cloning a third-party boilerplate. Never hang forever on interactive prompts. 1. Create the app with the current CLI (prefer `pnpm create expo-app@latest` so the template matches today): pnpm create expo-app@latest <project-name> --template default@sdk-57 -y If the template tag or flag has been renamed or removed, check `pnpm create expo-app@latest --help` and the live Expo docs, then map to the same intent: official `default` template on the current SDK (SDK 57 or whatever `default@sdk-*` the docs recommend now), TypeScript, Expo Router, keep the generated AGENTS.md / agent files (do **not** pass `--no-agents-md`). The default template ships Expo Router with native tabs (`expo-router/unstable-native-tabs` on native). That is expected — do not swap them for the older JS `Tabs` layout unless I ask. 2. cd into the project. Confirm it starts (`pnpm start` / `npx expo start`). Prefer a **development build** / simulator or `expo run:ios` / `expo run:android` over Expo Go. Fix only if the scaffold itself is broken. 3. Install official Expo Skills into **this project** (not globally) so Cursor cloud agents that clone the repo get them. There is no Expo plugin on the Cursor Marketplace — skills via the official CLI are the supported path: pnpm dlx skills add expo/skills --skill '*' --agent cursor -y If that CLI syntax has changed, check https://docs.expo.dev/skills/ and https://github.com/expo/skills, then install the official `expo/skills` set for Cursor into the project. Commit the generated skill files (and any skills lockfile) with the app. If I explicitly say I want skills only on this machine and not in the repo, use the same command with `-g` / `--global` instead — and do not commit skill files. 4. Stop. Do not add EAS config, auth, UI kits, NativeWind, or extra packages unless I ask. Summarize: folder name, template/SDK, that AGENTS.md was kept, that Expo Skills are in the project (or global if I asked), and how to start / run a dev build.
The Next.js recipes intentionally leave out Next.js, React, and Vercel agent skills. I don’t usually start from optimization playbooks. If you want those, start at Vercel’s agent skills. TanStack Start is different: pick add-ons in the builder, and Intent loads library skills from the packages you install.
Expo has no plugin on the Cursor Marketplace (unlike Convex). The Expo recipe installs official Expo Skills into the project so Cursor cloud agents that clone the repo can use them; use a global skills install only if you rarely run cloud agents.