nest-builder
v0.0.9
Published
π¨ Forge better NestJS modules with organized folder structure
Maintainers
Readme
nest-builder
π¨ A powerful CLI tool to forge NestJS modules with better folder organization and structure.
Installation
npm install -g nest-builderOr with yarn:
yarn global add nest-builderQuick Start
# Navigate to your NestJS project
cd my-nestjs-app
# Generate a complete resource
nest-builder resource users
# Or use the short alias
nb res usersUsage
Generate Complete Resource (Recommended)
nest-builder resource users
# or
nb res usersThis creates a complete CRUD module with organized folder structure:
src/users/
βββ users.module.ts
βββ controllers/
β βββ users.controller.ts
β βββ users.controller.spec.ts
βββ services/
β βββ users.service.ts
β βββ users.service.spec.ts
βββ dtos/
β βββ create-user.dto.ts
β βββ update-user.dto.ts
βββ entities/
βββ user.entity.tsGenerate Individual Components
# Generate only a controller
nest-builder controller users
nb co users
# Generate only a service
nest-builder service users
nb s users
# Generate only a module
nest-builder module users
nb mo usersInteractive Mode
Not sure what you need? Let the CLI guide you:
nest-builder resource
# Will ask for:
# - Module name
# - Transport layer (REST, GraphQL, etc.)
# - CRUD endpoints (yes/no)Options
# Skip test files
nest-builder resource users --no-spec
nb res users --no-spec
# Generate empty controller/service (no CRUD)
nest-builder controller users --no-crud
nb service users --no-crudAll Available Commands
| Command | Alias | Description |
|---------|-------|-------------|
| nest-builder resource [name] | nb res | Generate complete module with all files |
| nest-builder controller [name] | nb co | Generate controller only |
| nest-builder service [name] | nb s | Generate service only |
| nest-builder module [name] | nb mo | Generate module only |
| nest-builder g <type> [name] | nb g | Generate using shorthand |
Shorthand Generate Commands
# Using the 'g' (generate) command
nest-builder g res users # resource
nest-builder g co users # controller
nest-builder g s users # service
nest-builder g mo users # moduleFeatures
β¨ Better Organization - Files organized in subfolders (controllers/, services/, dtos/, entities/)
π Fast Generation - No compilation needed, instant file creation
π― Flexible - Generate complete resources or individual components
π TypeScript Ready - All files are TypeScript with proper imports
π§ͺ Testing Support - Generates spec files for testing (optional)
π§ Interactive Mode - CLI guides you through the options
π¦ Auto Import - Automatically updates app.module.ts
Examples
1. Generate a User Management Module
nest-builder resource users
# β Creates complete CRUD structure
# β Updates app.module.ts2. Add Authentication Module
nest-builder resource auth --no-crud
# β Creates module with empty controller/service
# β Perfect for custom implementation3. Generate Products with No Tests
nest-builder resource products --no-spec
# β Skips .spec.ts files
# β Faster for prototypes4. Add a Controller to Existing Module
nest-builder controller orders
# β Adds controller to existing orders module
# β Module must exist firstComparison with NestJS CLI
| Feature | NestJS CLI | nest-builder |
|---------|------------|------------|
| Command | nest g resource users | nest-builder resource users |
| Folder Organization | Flat structure | Organized subfolders |
| Speed | Requires compilation | Instant |
| Interactive Mode | β | β |
| CRUD Generation | β | β |
| Custom Structure | β | β |
Generated File Structure
With nest-builder (Organized):
src/users/
βββ users.module.ts
βββ controllers/
β βββ users.controller.ts
βββ services/
β βββ users.service.ts
βββ dtos/
β βββ *.dto.ts
βββ entities/
βββ *.entity.tsWith NestJS CLI (Flat):
src/users/
βββ users.module.ts
βββ users.controller.ts
βββ users.service.ts
βββ dto/
β βββ *.dto.ts
βββ entities/
βββ *.entity.tsRequirements
- Node.js >= 14.0.0
- An existing NestJS project
- Run from the root of your NestJS project
Installation & Setup Guide
# 1. Create your NestJS project (if you haven't)
nest new my-app
cd my-app
# 2. Install nest-builder globally
npm install -g nest-builder
# 3. Start generating modules!
nest-builder resource users
nest-builder resource products
nest-builder resource orders
# 4. Run your app
npm run start:devTips & Best Practices
- Start with resources: Use
nest-builder resourcefor new features - Use singular names: The CLI will pluralize when needed
- Follow NestJS conventions: Use kebab-case for file names
- Generate tests: Keep
--specenabled for production code - Interactive mode for beginners: Just run
nest-builder resourcewithout arguments
Troubleshooting
"Not in a NestJS project"
- Make sure you're in the root directory of your NestJS project
- Check that
package.jsoncontains@nestjs/core
"Module already exists"
- The module folder already exists
- Use individual generators to add components
"Cannot find app.module.ts"
- Ensure
src/app.module.tsexists - The tool expects standard NestJS structure
Contributing
Found a bug or want a feature? Contributions are welcome!
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
License
MIT
Author
Built with β€οΈ for NestJS developers who value their time and clean code architecture.
Note: This tool complements the official NestJS CLI. Use nest for project creation and nest-builder for better module generation.
