CLI pour generer instantanement des projets Backend, Frontend ou Fullstack avec architectures professionnelles
Nexus évoque le point de connexion entre les développeurs et les architectures backend. C'est un nom fort, simple, et adaptable à une vision plus large dans le futur.
- Types de projets: Backend, Frontend, Fullstack
- Selection des stacks: React/Vue/Angular, Tailwind (optionnel), Node, DB (Postgres/MySQL/MongoDB/SQLite)
- 3 Architectures backend: MVC, Clean Architecture, Hexagonal
- Generation instantanee de projets complets et structures
- Mode interactif ou direct avec flags
- .env et .env.example generes automatiquement
npm install -g cli-nexus
nexus-cli
nexus-cli --type=fullstack --frontend=react --css=tailwind --backend=node --database=mysql --model=mvc
nexus-cli --help
Options:
-t, --type <type> Type de projet (backend, frontend, fullstack)
--frontend <framework> Frontend (react, vue, angular)
--css <tool> Outil CSS (tailwind, none)
--backend <runtime> Backend (node)
--database <db> Base de donnee (postgres, mysql, mongodb, sqlite, none)
-m, --model <architecture> Architecture backend (mvc, clean, hexa)
-d, --directory <path> Répertoire de destination (optionnel)
-y, --yes Mode non-interactif (optionnel)
--no-install Ne pas installer les dependances automatiquement
--force Forcer la generation dans un repertoire non vide
-v, --verbose Mode verbeux
-h, --help Affiche l'aide
-V, --version Affiche la version
- Structure classique et eprouvee
- Separation claire des responsabilites
- Routage Express.js preconfigure
- Gestion des erreurs centralisee
src/
├── models/ # Modèles de données
├── controllers/ # Contrôleurs de l'application
├── routes/ # Définition des routes
├── middleware/ # Middleware personnalisés
├── utils/ # Utilitaires
└── config/ # Configuration
- Organisation en couches metier
- Independance des frameworks
- Testabilite elevee
- Inversion de dependances
src/
├── domain/ # Entités et services métier
├── application/ # Cas d'usage et services applicatifs
├── infrastructure/ # Implémentations techniques
├── presentation/ # Contrôleurs, routes, middleware
└── shared/ # Utilitaires et erreurs partagées
- Ports et adapters pour modularite
- Independance des frameworks
- Testabilite elevee
- Modularite forte
src/
├── domain/ # Entités et services métier
├── application/ # Cas d'usage et ports
├── infrastructure/ # Adapters (primaire et secondaire)
└── shared/ # Utilitaires et erreurs partagées
- Node.js >= 16.0.0
- npm >= 6.0.0
Chaque projet généré inclut :
- Structure de dossiers complete selon l'architecture
- Fichiers de base (package.json, README.md, .gitignore)
- Classes de base avec methodes communes
- Configuration Express.js avec middleware de securite
- Scripts NPM (start, dev, test)
- Dependances essentielles preconfigurees
- Documentation specifique a l'architecture
nexus-cli --model=mvc --directory=mon-api-mvc
nexus-cli --model=clean --directory=mon-api-clean
nexus-cli --model=hexa --directory=mon-api-hex
nexus-cli --directory=mon-projet
# Suivez les prompts pour configurer votre projet
-
Installez Nexus CLI
npm install -g cli-nexus
-
Générez votre projet
nexus-cli --model=mvc --directory=mon-api
-
Naviguez vers votre projet
cd mon-api
-
Installez les dépendances
npm install
-
Démarrez en développement
npm run dev
-
Testez votre API
curl http://localhost:3000/api curl http://localhost:3000/health
npm test
Chaque projet généré inclut un README.md détaillé avec :
- Description de l'architecture utilisée
- Structure des dossiers
- Instructions d'installation et de démarrage
- Exemples d'utilisation
- [ ] Support de frameworks additionnels (Fastify, Koa)
- [ ] Templates de base de données (MongoDB, PostgreSQL, MySQL)
- [ ] Intégration de tests automatisés
- [ ] Support de TypeScript
- [ ] Templates de déploiement (Docker, Kubernetes)
- [ ] Interface web pour la configuration
Les contributions sont les bienvenues ! N'hésitez pas à :
- Signaler des bugs
- Proposer des fonctionnalités
- Soumettre des pull requests
- Améliorer la documentation
MIT License - voir le fichier LICENSE pour plus de détails.
Keran - CLI pour générer instantanément des projets Node.js avec architecture professionnelle