Introduction & Manifeste
Maedow Arch en bref : pourquoi ce standard existe, et par où commencer.
Maedow Arch définit un standard d'ingénierie logicielle universel, modulaire et découplé, pour les applications web et fullstack modernes (TypeScript, React, Next.js).
Par où entrer
Deux chemins, selon l'état de votre projet.
Vous avez déjà un projet
npx maedow-arch check dit ce que l'adoption coûterait, sans rien installer ni modifier.
Vous démarrez un projet
npx create-maedow-arch-app écrit l'arborescence complète en une commande.
Le second chemin est celui que documente la suite de cette page. Le premier est le plus fréquent : personne n'adopte une architecture en repartant de zéro.
Démarrage
Générer le projet
Le CLI demande le framework, le mode et la feuille de style, puis écrit l'arborescence complète.
npx create-maedow-arch-app mon-projetInstaller et lancer
cd mon-projet
npm install
npm run devLe projet porte déjà la structure complète (app/ → features/ → core/ → lib/) et le Result Pattern avec ses helpers.
Créer un domaine ou une feature
Les générateurs écrivent les fichiers à leur place, avec les imports que les frontières autorisent.
npm run generate:domain billing
npm run generate:feature checkoutVérifier que les frontières mordent
Elles ne reposent pas sur la discipline de l'équipe, mais sur le lint.
npm run lintMaedow Arch : core ne peut pas importer components. Voir architecture.md §6.Light ou Full
Le CLI pose la question à la génération. Le mode Full déploie les quatre couches, le mode Light assume qu'un site vitrine n'en a pas besoin. Le critère de choix est détaillé dans Blueprint & 4 Couches.
Les trois piliers
Blueprint & 4 Couches
La structure en couches, l'agnosticisme de l'infrastructure, les frontières outillées et les modes Light / Full.
Modélisation & Séparation du JSX
La règle « Zéro Modèle dans le JSX », la typologie des 5 formes de données et le pragmatisme typé.
Conventions & Standards
TypeScript strict, Result Pattern et ses helpers, sécurité et scaffolding.
Pourquoi ce standard
Les frameworks modernes encouragent la co-localisation rapide : requêtes brutes au milieu du JSX, types redéfinis à la volée, dépendances circulaires non contrôlées. On prototype vite, puis la dette devient exponentielle :
- Impossible de tester les règles métier sans monter de faux arbres React.
- Couplage dur à une base de données ou un fournisseur d'authentification.
- Érosion du code dès que plusieurs développeurs collaborent.
Maedow Arch applique les principes de la Clean Architecture et des Ports & Adapters, optimisés pour TypeScript.
Sans verser dans l'excès inverse : la Règle de Lazy Abstraction interdit d'introduire contrats et adapters avant qu'une deuxième implémentation réelle existe, et le Mode Light assume qu'un site vitrine n'a pas besoin des quatre couches.
Outillage
create-maedow-arch-app
La CLI de scaffolding. Un projet Maedow Arch complet en une commande.
eslint-config-maedow-arch
Les frontières app / features / core / components / lib, appliquées par ESLint.
maedow-arch
Audite un projet existant, sans rien installer ni modifier. Voir Adoption.
Le registre des règles
Le standard énonce neuf règles normatives. Sept sont vérifiées par la machine, deux sont tenues par l'équipe, et le registre dit laquelle est laquelle.
C'est le document à consulter avant de se demander si une exigence sera attrapée automatiquement. Il donne à chaque règle un code stable, de MA-001 à MA-009, que citent les messages de lint : un titre de section se réécrit, un code ne bouge pas.