archgenie
Version:
A powerful Node.js CLI tool to quickly scaffold project folder structures based on popular software architecture patterns.
116 lines (83 loc) • 2.12 kB
Markdown
# ArchGenie CLI
A powerful Node.js CLI tool to quickly scaffold project folder structures based on popular software architecture patterns.
## Features
- Supports multiple architecture patterns like MVC, MVP, MVVM, PAC, HMVC, Layered, Microservices, Serverless, Clean Architecture, Hexagonal, Onion, REST, GraphQL, gRPC, Event-Driven, CQRS, Pub/Sub, Client-Server, P2P, and more.
- Easily switch between architectures with a simple command.
- Automatically initializes git repo, npm project, installs Express and Nodemon.
- Option to backup or delete existing project files before scaffolding a new structure.
- Helps enforce clean project organization for better maintainability.
## Installation
```bash
npm install -g archgenie
```
## Usage
```bash
archgenie@create <architecture-flag>
```
## Help
```bash
archgenie@create --help
```
### Available Flags
```
--mvc
--mvp
--mvvm
--pac
--hmvc
--layered
--monolithic
--microservices
--soa
--serverless
--clean
--hexagonal
--onion
--rest
--graphql
--grpc
--event_driven
--cqrs
--pub_sub
--client_server
--p2p
--master_slave
--leader_follower
--load_balanced_cluster
--blackboard
--pipes_filters
--microkernel
--service_mesh
--reactive
--help
--version
```
## Examples
```bash
archgen-cli --mvc
```
Creates folders for the MVC pattern including models, views, controllers, and related folders.
## How it works
- Checks if a previous architecture was scaffolded.
- Prompts you to delete existing files or back them up before creating the new folder structure.
- Initializes git and npm, installs dependencies (`express` and `nodemon`).
- Creates folders and adds basic `.gitignore` and `server.js` files.
## Version
`1.1.3`
## Author
Praveen KR
Email: [coder.praveenkr@gmail.com](mailto:coder.praveenkr@gmail.com)
LinkedIn: [https://www.linkedin.com/in/mepraveenkr/](https://www.linkedin.com/in/mepraveenkr/)
GitHub: [https://github.com/frontenddeveloperpraveen](https://github.com/frontenddeveloperpraveen)
## License
MIT License
Feel free to contribute, raise issues, or request new architectures!