Pro-Level Scaffold Engine for TypeScript: Automating Clean Architecture and Domain-Driven Design (DDD) patterns for scalable Node.js services.
Setting up a robust, enterprise-grade Node.js service often requires hours of manual boilerplate—defining folder structures, mapping layers, and setting up dependency injection. DevArchitect-Generator eliminates this friction.
Built by engineers for engineers, this CLI tool automates the creation of high-quality TypeScript codebases following Clean Architecture and Domain-Driven Design (DDD) principles. It ensures your team spends less time on configuration and more time on business logic, maintaining a consistent standard across all your microservices.
- Layered Architecture: Automatically generates
Domain,Application,Infrastructure, andPresentationlayers. - DDD Building Blocks: Scaffolds Entities, Value Objects, Aggregates, and Repositories with standard boilerplate.
- Use-Case Driven: Generates command/query handlers following the CQRS mindset.
- Dependency Injection: Pre-configured DI containers to keep your code decoupled and testable.
- Type-Safe by Default: Leveraging TypeScript's advanced features to ensure compile-time safety across all layers.
- Best Practices: Enforces SOLID principles and separation of concerns out of the box.
- Core: TypeScript (Strict Mode)
- Runtime: Node.js
- Scaffolding Engine: Custom Template Engine
- Patterns: Clean Architecture, DDD, CQRS, Repository Pattern
To use the generator globally, install it via npm:
npm install -g @umutbarancicek/devarchitect-generatorAlternatively, run it directly using npx:
npx @umutbarancicek/devarchitect-generator initStart a new project with the standard Clean Architecture directory structure:
devarch init my-awesome-serviceCreate an entity with a single command:
devarch generate entity User --props name:string,email:stringAutomate the creation of application services:
devarch generate usecase CreateUserThe generator produces a structure following industry-standard patterns:
src/
├── domain/ # Entities, Value Objects, Domain Events, Repositories Interfaces
├── application/ # Use Cases, DTOs, Mappers
├── infrastructure/ # Persistence, External APIs, DI Implementation
└── presentation/ # Controllers, Middlewares, Routes
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Developed with ❤️ by umutbarancicek Empowering developers to build better software, faster.