node-project-gen
v0.0.4
Published
⚡ Blazing fast, architecture-aware Node.js backend generator.
Downloads
416
Maintainers
Readme
Node Project Gen ⚡
Lightning-fast Node.js backend scaffolding CLI built in Rust.
Node Project Gen allows you to generate production-ready, scalable, and secure Node.js backends in seconds. It bridges the gap between simple boilerplate and complex enterprise frameworks by providing opinionated architectural patterns and modern best practices out of the box.
🚀 Speed Demo
Acrocoder scaffolds a complete project with authentication, database integration, logging, validation, and Docker support in less than 1 second.
✨ Features
- Blazing Fast: Compiled Rust binary for near-instant execution.
- Multiple Architectures: Clean Architecture, MVC, Modular, Hexagonal, and Microservices.
- Framework Support: Express, Fastify, and NestJS.
- Database Ready: PostgreSQL, MongoDB, MySQL, and SQLite (Prisma, Mongoose, Sequelize, TypeORM).
- Batteries Included Auth: JWT, Sessions, OAuth (Google/GitHub), and Firebase.
- Production Grade:
- 🛡️ Security: Helmet, HPP, Rate-limiting.
- 📝 Logging: Winston or Pino.
- ✅ Validation: Zod or Joi.
- 🧪 Testing: Jest or Vitest.
- 🐳 DevOps: Docker, Docker Compose, and GitHub Actions CI/CD.
- 📖 API Docs: Swagger (OpenAPI 3.0) integration.
📦 Installation
Via Cargo
cargo install node-project-genVia NPM
npx node-project-gen create my-api🛠 Usage
Create a New Project
The create command is the main entry point for scaffolding.
# Basic project
acrocoder create my-api
# Custom project with specific stack
acrocoder create my-api \
--arch clean \
--framework express \
--db postgres \
--auth jwt \
--test vitestOptions:
--arch:clean,mvc,modular,hexagonal,microservice--framework:express,fastify,nest--db:postgres,mongodb,mysql,sqlite--auth:jwt,session,oauth,firebase--test:jest,vitest--validation:zod,joi--logger:winston,pino--skip-install: Skip automaticnpm install--git: Initialize git repository (default: true)
Generate Modules
Generate new resources or components in an existing project.
# Generate a full CRUD module
acrocoder generate module users --crud
# Generate middleware
acrocoder generate middleware authAdd Features
Easily add complex configurations to an existing project.
acrocoder add docker
acrocoder add swagger
acrocoder add cicd
acrocoder add websocket📂 Architecture Overview
Acrocoder supports multiple patterns. For example, the Clean Architecture layout:
src/
├── domain/ # Entities & Business Rules
├── application/ # Use Cases & Services
├── infrastructure/ # DB, Repositories, External Services
├── presentation/ # Controllers, Routes, Validators
└── core/ # Shared interfaces & global errorsWhile the Modular layout organizes by domain:
src/
├── modules/
│ ├── auth/ # Controllers, Services, Routes for Auth
│ ├── user/ # Controllers, Services, Routes for User
│ └── health/ # Health check module
├── shared/ # Shared utils & middleware
└── core/ # Core configs🛠 Built With
- Clap - Command Line Argument Parser
- Serde - Serialization/Deserialization
- Colored (via ANSI) - ANSI Escape Codes for UI
- Tokio (Logic-only) - Optional Async features
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Generated with ❤️ by Acrocoder
