Angular Clean Architecture CLI
January 4, 2026 ยท View on GitHub
๐ Scaffold Angular features following Clean Architecture principles with NgRx SignalStore.
A powerful CLI that generates production-ready Angular features structured into Domain, Infrastructure, Application, and UI layers โ keeping your codebase maintainable, testable, and scalable.
๐ฆ Installation
# Global installation (recommended)
npm install -g @devmed555/angular-clean-architecture-cli
# Verify installation
aca --version
Prerequisites
- Node.js v20+
- Angular 21+ project
- @ngrx/signals installed:
npm install @ngrx/signals
โก Quick Start
# 1. Generate all features defined in feature-schema.json
aca g feature
# 2. Generate a single feature with attributes
aca g feature product --attributes="name:string,price:number"
# 3. Generate ALL core assets (Auth, Navbar, Menu, etc.)
aca g core
# 4. Generate ALL shared components
aca g shared
๐ ๏ธ Generators
| Command | Description |
|---|---|
aca g feature | Generates Clean Architecture features (4 layers) |
aca g core | Generates core system assets (Auth, Guards, Services) |
aca g shared | Generates shared UI components & utilities |
๐ Feature Generator
Creates a structure with Domain, Infrastructure, Application, and UI layers.
Usage
# Interactive mode
aca g feature
# With inline attributes
aca g feature product --attributes="name:string,price:number,active:boolean"
# From blueprint file
aca g feature --blueprint=./order.json
๐ง Core Generator
Running aca g core without arguments automatically generates ALL core assets:
- Auth: Service with login/logout logic
- Navbar: Top navigation component
- Menu: Side navigation component
- Theme Selector: Dark/Light mode toggle
- Language Selector: i18n switcher
- Translate: Translation setup
Generated Assets
| Asset | Description |
|---|---|
navbar | Top navigation bar |
menu | Side navigation menu |
theme-selector | Dark/light theme toggle |
language-selector | Language switcher component |
translate | i18n translation setup |
auth | Authentication service with login/logout |
๐จ Shared Generator
Running aca g shared without arguments automatically generates standard shared components:
- Confirm Dialog: Reusable confirmation modal
Generated Components
- Confirm Dialog: Reusable confirmation modal
๐ Blueprint Mode
For complex features with multiple models, use a JSON blueprint:
{
"name": "shop",
"models": [
{
"name": "Product",
"attributes": [{ "name": "price", "type": "number" }]
},
{
"name": "Cart",
"attributes": [{ "name": "total", "type": "number" }]
}
]
}
aca g feature --blueprint=./shop.json
๐ฎ Coming Soon
- Unit Test Templates: Comprehensive tests for all layers
- Custom Types (UML): Generate features from UML/PlantUML models
- MCP Server: AI integration for smarter code generation
๐๏ธ Architecture Overview
Generated features follow Clean Architecture (Hexagonal Architecture) principles:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ UI Layer โ
โ (Components, Templates, Styles) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Application Layer โ
โ (NgRx SignalStore, Selectors) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Infrastructure Layer โ
โ (HTTP Services, API Clients) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Domain Layer โ
โ (Interfaces, Types, Business Rules) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Domain: Pure TypeScript, zero dependencies
- Infrastructure: Depends on Domain
- Application: Depends on Infrastructure + Domain
- UI: Depends on Application
๐ Nx Workspace Integration
When using within an Nx monorepo:
# Generate feature using Nx
nx g cli:feature product
# Generate core assets
nx g cli:core
# Generate shared components
nx g cli:shared
๐ Resources
๐ License
MIT ยฉ Mohamed Bouattour