Générateur CLI pour créer rapidement une API Node.js structurée autour d'une architecture hexagonale, avec TypeScript ou JavaScript et des modules activables selon le projet.
- génération TypeScript ou JavaScript ;
- architecture hexagonale prête à étendre ;
- authentification et gestion des utilisateurs en modules optionnels ;
- portails client et administration optionnels ;
- configuration, validation, journalisation et observabilité ;
- modèles Docker, Jest, ESLint, Prettier et documentation API ;
- support npm, pnpm et yarn ;
- mode
--dry-runpour inspecter une génération sans écrire de fichiers.
Pour travailler directement depuis le dépôt :
git clone https://github.com/ShHaWkK/TemplateAPI.git
cd TemplateAPI
npm install
npm test
npm run buildAprès publication npm, le package sera utilisable avec :
npx create-shhawk-api my-apiLe binaire historique create-template-api reste également exposé pour compatibilité.
Mode interactif :
npm run devOu après compilation :
node dist/cli/index.jsExemple non interactif :
node dist/cli/index.js my-api \
--language typescript \
--features auth,userCrud,clientPortal,adminPortal \
--package-manager npm| Option | Description |
|---|---|
--language |
typescript par défaut, ou javascript. |
--features |
Modules séparés par des virgules : auth, userCrud, clientPortal, adminPortal. |
--package-manager |
npm, pnpm ou yarn. |
--dry-run |
Simule la génération sans écrire de fichiers. |
Les dépendances entre fonctionnalités sont résolues automatiquement. Par exemple, userCrud active les prérequis nécessaires à l'authentification.
Selon les options sélectionnées, le générateur peut produire :
- couches domaine, application, infrastructure et interface HTTP ;
- authentification JWT et gestion des refresh tokens ;
- contrôle d'accès et rôles ;
- persistance en mémoire ou adaptateurs Prisma selon le template ;
- endpoints de santé et de statut ;
- OpenAPI/Swagger et collection Insomnia ;
- tests d'intégration ;
- Dockerfile et Docker Compose ;
- configuration ESLint, Prettier et Jest.
| Commande | Rôle |
|---|---|
npm run dev |
Lance le CLI via ts-node. |
npm test |
Vérifie le typage TypeScript. |
npm run build |
Compile le CLI dans dist/. |
npm pack --dry-run |
Vérifie le contenu qui serait publié sur npm. |
La CI valide actuellement Node.js 18, 20 et 22.
Les contributions sont bienvenues. Consultez CONTRIBUTING.md avant d'ouvrir une pull request et SECURITY.md pour signaler un problème de sécurité.
MIT — voir LICENSE.