Reference Documentation
Defines the generator-first development philosophy and catalogs available Nx generators for code scaffolding in the SEA-Forge™ monorepo architecture.
Generator-First Principle: Before writing any code, check if an Nx generator exists to scaffold it.
1
2
3
4
5
6
7
8
9
10
# Recommended: Just recipe
just ai-scaffold name=<generator>
# Direct invocation
pnpm exec nx g <generator> <name> [options]
# Discovery
pnpm exec nx list # All generators
pnpm exec nx list @nx/js # Plugin-specific
pnpm exec nx g @nx/js:library --help # Generator schema
.github/instructions/generators-first.instructions.md.github/instructions/nx.instructions.mdjustfile (lines 376-398)Use Cases: Shared utilities, domain logic, business rules, data models, API clients, type definitions
Command:
1
pnpm exec nx g @nx/js:library <name> --directory=libs/<domain>
Options:
--bundler=none|tsc|swc|rollup|esbuild|vite--unitTestRunner=jest|vitest|none--linter=eslint|none--publishable (for npm publishing)Use Cases: UI components, feature libraries, custom hooks, state management
Commands:
1
2
3
4
5
6
7
8
9
10
11
# Component library
pnpm exec nx g @nx/react:library <name> --directory=libs/ui
# Standalone component
pnpm exec nx g @nx/react:component <Name> --project=<lib>
# Custom hook
pnpm exec nx g @nx/react:hook use<Name> --project=<lib>
# Redux slice
pnpm exec nx g @nx/react:redux <name> --project=<lib>
Options:
--style=css|scss|styled-components|emotion|styled-jsx|none--routing (React Router support)--unitTestRunner=jest|vitest|noneUse Cases: REST APIs, GraphQL servers, CLI tools, background workers, microservices
Command:
1
pnpm exec nx g @nx/node:application <name> --directory=apps
Options:
--framework=express|fastify|koa|nest|none--docker (generate Dockerfile)--e2eTestRunner=jest|noneUse Cases: Add testing to existing projects (usually auto-configured)
Command:
1
pnpm exec nx g @nx/jest:configuration <project>
Use Cases: Monorepo management, project restructuring
Commands:
1
2
3
4
5
# Move project
pnpm exec nx g @nx/workspace:move --projectName=<lib> --destination=libs/<path>
# Convert to monorepo
pnpm exec nx g @nx/workspace:convert-to-monorepo
| Plugin | Install | Use Case |
|---|---|---|
@nx/next |
pnpm add -D @nx/next |
Next.js SSR/static sites |
@nx/remix |
pnpm add -D @nx/remix |
Remix web applications |
@nx/nest |
pnpm add -D @nx/nest |
NestJS enterprise backends |
@nx/express |
pnpm add -D @nx/express |
Lightweight REST APIs |
@nx/expo |
pnpm add -D @nx/expo |
React Native mobile apps |
@nxlv/python |
pnpm add -D @nxlv/python |
Python backends, ML models |
Red Phase:
Green Phase:
Refactor Phase:
just ai-scaffold name=<generator>✅ Ensures consistency and proper configuration
✅ Maintains Nx project graph integrity
1
2
3
4
5
# Good: Domain-organized
pnpm exec nx g @nx/js:library user-service --directory=libs/domain/user
# Avoid: Flat structure
pnpm exec nx g @nx/js:library user-service
1
pnpm exec nx g @nx/react:component Button --dry-run
Local generators may exist in generators/ directory.
Usage:
1
2
3
4
5
# List custom generators
ls -la generators/
# Execute custom generator
pnpm exec nx g ./generators/<name>:<schematic> <target>
Check generators/*/schema.json for available options.
| Need | Generator | Command |
|---|---|---|
| Shared utilities | @nx/js:library |
just ai-scaffold name=@nx/js:library |
| React component | @nx/react:component |
pnpm exec nx g @nx/react:component <Name> |
| React library | @nx/react:library |
just ai-scaffold name=@nx/react:library |
| Custom hook | @nx/react:hook |
pnpm exec nx g @nx/react:hook use<Name> |
| Node.js API | @nx/node:application |
pnpm exec nx g @nx/node:application api |
| Next.js app | @nx/next:application |
pnpm exec nx g @nx/next:application web |
| Mobile app | @nx/expo:application |
pnpm exec nx g @nx/expo:application mobile |
| Python API | @nxlv/python:application |
pnpm exec nx g @nxlv/python:application api --type=fastapi |
pnpm add -D @nx/<plugin>pnpm exec nx listpnpm exec nx g <generator> --helppnpm exec nx g <generator> (prompts for inputs)--dry-run to preview first