Stop cloning stale boilerplates. These Claude Code skills scaffold React, Next.js, React Native, and Node.js projects interactively — always using the latest package versions, always configured correctly.
Traditional boilerplates go stale the day after they're published. These skills solve that:
- Always latest versions — packages are installed at creation time, not pinned from months ago
- Pick only what you need — no dead code, no unused dependencies
- Correct configuration — handles tricky setups like HeroUI v3 + Tailwind v4, NativeWind v4, next-intl + App Router
- Detects your stack — scans installed packages and scaffolds code that matches
- Monorepo-aware — automatically detects Turborepo and offers to add apps there
git clone https://github.com/Global-Software-Consulting/project-scaffolding-skills.git
cd project-scaffolding-skills
./install.shSkills install to ~/.claude/skills/ and reference files to ~/.claude/project-scaffolding/reference/.
Then in Claude Code:
/create-frontend-project # New React, Next.js, or React Native project
/create-node-api # New Express or NestJS API
/create-monorepo # Full Turborepo with multiple apps
/setup-project # Add integrations to an existing project
/scaffold-app # Generate folder structure + base code
/generate-claude-md # Generate CLAUDE.md context for any project
Checks if you're inside a Turborepo monorepo. If yes, asks whether to add the new project to apps/ or create it standalone.
Then asks:
- React (Vite), Next.js, or React Native?
- Project name
- App type — Dashboard/Admin, Landing site, Consumer app, or General
Creates the project and walks through adding integrations.
Same monorepo detection, then asks:
- Framework — Express TypeScript or NestJS
- Project name
- Database — PostgreSQL + Prisma, PostgreSQL + Drizzle, MongoDB + Mongoose, or none
- Auth — JWT (access + refresh tokens, argon2 hashing), API key, or none
- Extras — BullMQ queues, Swagger docs, file uploads, WebSockets
Scaffolds a production-ready API with working endpoints you can hit immediately:
POST /api/v1/auth/register— create accountPOST /api/v1/auth/login— returns JWTGET /api/v1/auth/me— current user (protected)GET/PATCH/DELETE /api/v1/users— full CRUD (protected)GET /healthz+/readyz— liveness + readiness
Asks:
- Monorepo name (used as npm scope:
@my-company/types,@my-company/ui) - Which apps to add (multi-select): Next.js, React (Vite), Expo, Express, NestJS
Sets up Turborepo root, shared packages (types, api, ui, theme, config), and runs the full scaffolding flow for each selected app.
Adding apps later: Both /create-frontend-project and /create-node-api detect the monorepo automatically.
Detects your project type (React, Next.js, or React Native), asks about your app type, and presents tailored integration options.
Detects installed packages, then:
- Asks Landing site or Dashboard / Admin?
- If Dashboard: asks Sidebar or Top navigation?
- Scaffolds full folder layout, base components, routing, auth, types
- Asks which optional extras to add: skeleton loading, toast notifications, error boundary, dark mode toggle
Generates a CLAUDE.md in your project root so Claude always knows your stack, folder conventions, and commands. Runs automatically at the end of /scaffold-app and /create-node-api.
| Category | Options |
|---|---|
| UI Library | HeroUI v3 + Tailwind v4, shadcn/ui + Tailwind v4, Tailwind v4 only |
| State | Redux Toolkit + redux-persist, Zustand |
| Router | React Router v7, TanStack Router |
| Server State | RTK Query, TanStack Query + Axios, Axios only, Apollo Client (GraphQL) |
| i18n | react-i18next (en/ar/fr, RTL support) |
| Auth | JWT pattern + ProtectedRoute |
| Forms | React Hook Form + Zod, React Hook Form + Yup, Formik + Yup |
| Animations | Motion v11 (hero fade-in, section reveals, card stagger) |
| Tooling | Husky + commitlint + Prettier |
| CI/CD | CI workflow, Dependabot/Renovate, Bundle size, CodeQL, Semantic Release, Lighthouse CI |
| Category | Options |
|---|---|
| UI Library | HeroUI v3 + Tailwind v4, shadcn/ui |
| State | Redux Toolkit + redux-persist, Zustand (SSR-safe) |
| i18n | next-intl (en/ar/fr, RTL support, App Router) |
| Auth | NextAuth.js v5 (Auth.js), Custom JWT |
| Server State | TanStack Query + Axios, Axios only, Native fetch, Apollo Client (GraphQL) |
| Forms | React Hook Form + Zod, React Hook Form + Yup, Formik + Yup, Server Actions + Zod |
| Animations | Motion v11 |
| Tooling | Husky + commitlint + Prettier |
| CI/CD | CI workflow, Dependabot/Renovate, Bundle size, CodeQL, Semantic Release, Lighthouse CI |
| Category | Options |
|---|---|
| UI / Styling | NativeWind v4 + Gluestack UI v3, NativeWind v4 only, Gluestack UI v3 only |
| Navigation | Expo Router v4 (Expo only), React Navigation v7 |
| State | Zustand + AsyncStorage, Redux Toolkit + redux-persist |
| HTTP | TanStack Query + Axios, Axios only, Apollo Client (GraphQL) |
| i18n | expo-localization + i18next (en/ar/fr, RTL support) |
| Forms | React Hook Form + Zod, Formik + Yup |
| Tooling | Husky + commitlint + ESLint + Prettier |
| Category | Options |
|---|---|
| Framework | Express v5 TypeScript, NestJS v11 |
| Database | PostgreSQL + Prisma, PostgreSQL + Drizzle, MongoDB + Mongoose, None |
| Auth | JWT (argon2, register/login/me) |
| Logging | Pino / nestjs-pino |
| Validation | Zod (Express) / class-validator (NestJS) |
| Queues | BullMQ + Redis |
| Docs | Swagger / OpenAPI |
| Extras | File uploads (multer), WebSockets |
1. /create-frontend-project → new Vite/Next.js/Expo project + integrations
2. /scaffold-app → full folder structure + components + extras
3. Start building features
1. /create-node-api → Express or NestJS + database + auth + Docker
2. yarn docker:dev → start databases (Docker)
3. npx prisma migrate dev --name init
4. yarn dev → working endpoints at localhost:3000
1. /create-monorepo → root + shared packages + all apps in one flow
2. yarn dev → starts everything in parallel
Time from zero to working base: ~10 min (frontend) / ~5 min (API) / ~20 min (monorepo)
skills/ # Claude Code skill definitions (SKILL.md)
├── create-frontend-project/
├── setup-project/
├── scaffold-app/
├── create-monorepo/
├── create-node-api/
└── generate-claude-md/
reference/ # Integration guides and blueprints
├── react/ # 16 React (Vite) integration guides
├── nextjs/ # 13 Next.js integration guides
├── react-native/ # 14 React Native integration guides
├── node/ # Express & NestJS API blueprints
├── scaffold/ # Full-app scaffold blueprints
├── monorepo/ # Turborepo blueprint
├── workflows/ # CI/CD workflow templates
└── templates/ # CLAUDE.md template
tests/smoke/ # Smoke tests — scaffold → install → build
Smoke tests verify that scaffolded projects actually build. They catch upstream breakages automatically.
# All tests
bash tests/smoke/run-all.sh
# Individual
bash tests/smoke/smoke-react-vite.sh
bash tests/smoke/smoke-nextjs.sh
bash tests/smoke/smoke-express-api.sh
bash tests/smoke/smoke-nestjs-api.sh| Workflow | Schedule | Purpose |
|---|---|---|
| Smoke Tests | Nightly + on PRs | Scaffold, install, build, verify |
| Dependency Check | Weekly (Mondays) | Flag major version bumps, auto-create issues |
cd project-scaffolding-skills
git pull
./install.shSee CONTRIBUTING.md for the full guide.
- Create
reference/<category>/<name>.mdwith install commands, config, and verification - Add the option to the relevant
skills/*/SKILL.md - Run the relevant smoke test
- Submit a PR using Conventional Commits
Built and maintained by Global Software Consulting
We build production software, AI agents, and developer tools for startups and enterprises.