generator-t-generator
Yeoman generators for React, Next.js, NestJS, and Node.js stacks with documented base structures and installable features.
Quick install
npm install -g yo generator-t-generatorGenerate a stack starter
Install the generator globally, then use either the interactive router or the direct stack commands for React, Next.js, NestJS, and Node.js.
Overview
What It Covers
Generate one of four stack-specific base projects, then extend it with supported add-on features for UI, auth, data, GraphQL, queues, caching, PWA support, or LLM tooling.
Supported stacks
| Stack | Base scaffold | Installable features |
| --- | --- | --- |
| React | React, TypeScript, Vite, React Router, Vitest, Feature-Sliced Design structure | bff, tailwind, ui-library, auth, redux, react-query, apollo, pwa |
| Next.js | App Router, TypeScript, Jest, Feature-Sliced Design structure | tailwind, ui-library, auth, redux, react-query, apollo, pwa |
| NestJS | Nest 11, Fastify, Prisma, Swagger, JWT auth | graphql, queue, cache, llm |
| Node.js | Express, Prisma, JWT auth, clean or mvp architecture | graphql, queue, cache, llm |
Core behavior
- Base generators create a new normalized directory and fail if it already exists and is not empty.
- Add-feature generators must run from the root of a compatible generated project.
- Generators write files only and do not install dependencies or initialize Git.
- Installed features are tracked in
package.jsonundertGenerator.features.
Setup
Install And Run
Install globally for the standard Yeoman flow:
npm install -g yo generator-t-generator
yo t-generator
Run without a global install:
npx -p yo -p generator-t-generator yo t-generator
Use direct stack commands when you want to skip the interactive router:
yo t-generator:react-app my-app
yo t-generator:nextjs-app my-next-app
yo t-generator:nestjs-app my-server
yo t-generator:nodejs-app my-node-server
Use feature generators from the root of an existing generated project:
yo t-generator:react-add
yo t-generator:nextjs-add
yo t-generator:nestjs-add
yo t-generator:nodejs-add
Frontend
React And Next.js Stacks
React base structure
src/
app/
entrypoint/
providers/
routes/
styles/
pages/
home/
ui/
index.ts
widgets/
features/
entities/
shared/
api/
config/
lib/
ui/
test/
main.tsx
React base includes
- React + TypeScript via Vite.
- React Router wiring,
@path alias, ESLint, Prettier, Vitest, and Testing Library. .env.example, env helper, provider composition entry point, and Feature-Sliced Design starter structure.
React installable features
bff: adds a top-levelserver/package for API proxying and frontend serving.tailwind: adds Tailwind CSS v4 through@tailwindcss/viteand shared styles from@batoanng/tailwind-config.ui-library: adds MUI theme wiring and integrates@batoanng/mui-components.auth: adds Auth0 React SDK wiring and an/authexample page.redux: adds Redux Toolkit,redux-persist, typed hooks, and a/reduxexample page.react-query: adds TanStack Query, Axios helpers, and a/react-queryexample page.apollo: adds Apollo Client wiring and an/apolloexample page.pwa: addsvite-plugin-pwa, install/update state handling, and a/pwaexample page.
yo t-generator:react-add bff
yo t-generator:react-add tailwind
yo t-generator:react-add ui-library
yo t-generator:react-add auth
yo t-generator:react-add redux
yo t-generator:react-add react-query
yo t-generator:react-add apollo
yo t-generator:react-add pwa
Next.js base structure
src/
app/
layout.tsx
page.tsx
providers/
pages/
home/
ui/
index.ts
widgets/
features/
entities/
shared/
api/
config/
lib/
ui/
Next.js base includes
- Next.js App Router with TypeScript via
@batoanng/tsconfig/nextjs.json. @path alias, ESLint, Prettier, Jest, Testing Library,.env.example, env helper, and provider composition entry point.- Feature-Sliced Design starter structure with optional add-ons layered in later.
Next.js installable features
tailwind: adds Tailwind CSS v4 through@tailwindcss/postcssand shared styles from@batoanng/tailwind-config.ui-library: adds MUI theme wiring and integrates@batoanng/mui-components.auth: adds Auth0 route handlers, middleware, env wiring, and an/authexample page.redux: adds Redux Toolkit,redux-persist, typed hooks, and a/reduxexample page.react-query: adds TanStack Query, Axios helpers, and a/react-queryexample page.apollo: adds Apollo Client wiring and an/apolloexample page.pwa: addsapp/manifest.ts,public/sw.js, registration client wiring, and a/pwaexample page.
bff is intentionally not available for Next.js because App Router and route handlers already provide the server-side integration layer.
yo t-generator:nextjs-add tailwind
yo t-generator:nextjs-add ui-library
yo t-generator:nextjs-add auth
yo t-generator:nextjs-add redux
yo t-generator:nextjs-add react-query
yo t-generator:nextjs-add apollo
yo t-generator:nextjs-add pwa
Backend
NestJS And Node.js Stacks
NestJS base structure
src/
modules/
app.module.ts
auth/
common/
controller/
flow/
provider/
security/
tokens.ts
test/
types/
server.ts
prisma/
schema.prisma
NestJS base includes
- Nest 11 with Fastify, Swagger at
/docs, versioned API prefix, and Prisma configured for MongoDB. - Health endpoint protected by
HEALTH_TOKENplus local access/refresh JWT auth withlogin,refresh,logout, andme. - Typed config provider and Vitest starter tests.
NestJS installable features
graphql: adds Apollo code-first GraphQL at/api/graphqlwith demo resolver scaffolding.queue: adds BullMQ infrastructure, shared Redis env, and a demo queue endpoint.cache: adds Redis-backed cache infrastructure and a demo cache module.llm: adds OpenAI client wiring and a demo prompt-chain endpoint.
yo t-generator:nestjs-add graphql
yo t-generator:nestjs-add queue
yo t-generator:nestjs-add cache
yo t-generator:nestjs-add llm
src/
config/
docs/
infrastructure/
prisma/
shared/
auth/
app.ts
server.ts
tests/
prisma/
schema.prisma
Node.js architecture options
Clean Architecture:
src/
domain/
usecases/
interfaces/
controllers/
routes/
infrastructure/
prisma/
repositories/
MVP:
src/
modules/
auth/
health/
infrastructure/
prisma/
Node.js base includes
- Express + Prisma with a prompt to choose
cleanormvp. - Prisma configured for PostgreSQL, Swagger UI at
/docs,GET /health,/api/auth/*, shared env parsing withzod, JWT auth, logging, security middleware, and graceful shutdown. - Vitest + Supertest starter coverage.
Node.js installable features
graphql: adds a GraphQL endpoint at/api/graphql.queue: adds BullMQ plus Redis-backed demo queue infrastructure.cache: adds Redis-backed demo cache endpoints.llm: adds OpenAI client wiring and a demo REST endpoint.
yo t-generator:nodejs-add graphql
yo t-generator:nodejs-add queue
yo t-generator:nodejs-add cache
yo t-generator:nodejs-add llm
Workflow
Local Development And Release Workflow
Local development
pnpm install
pnpm run type-check
pnpm run lint
pnpm test
pnpm run build
pnpm run test:dist
Link the built package locally:
pnpm run link:dev
If yo is not installed yet:
npm install -g yo
If you already linked an older local build:
npm unlink -g generator-t-generator
pnpm run link:dev
Manual package validation from packages/t-generator:
PACKAGE_TGZ=\"$(npm pack)\"
npm install -g yo \"./$PACKAGE_TGZ\"
Release workflow
Create a changeset from the repository root:
pnpm changeset
Apply pending changesets from the repository root:
pnpm version-packages
Publish from packages/t-generator:
pnpm run release
GitHub Actions can publish automatically from main when a Changesets release PR is merged and NPM_TOKEN is configured in repository secrets.