⚡ Monorepo • CLI • Code Generator • Git UI
🚀 Build, manage and scale your fullstack apps — all in one place
Forge Stack est un projet personnel d'apprentissage développé par Sébastien Drillaud.
L'objectif est de construire un environnement de développement fullstack complet, avec un outillage maison (Forge) pour gérer l'ensemble du workflow sans ligne de commande.
🧪 Forge est en cours de développement. Une fois terminé, ce monorepo servira de base pour développer de vraies applications. La section ci-dessous sera mise à jour en conséquence.
⏳ Cette section sera complétée lorsque Forge sera opérationnel et qu'un premier projet réel sera lancé dessus.
🧪 Ce monorepo est actuellement utilisé pour développer : [Nom du projet]
[Décris rapidement le projet]
| Partie | Documentation |
|---|---|
| Frontend | 📖 README |
| Backend | 📖 README |
👉 Ce projet sert de cas réel d’utilisation de Forge Stack.
Forge Stack est un environnement de développement DX-first conçu pour simplifier radicalement le développement fullstack.
| Problème classique | Solution Forge |
|---|---|
| Jongler entre plusieurs terminaux | Un seul outil centralisé |
| Générer du code à la main | Génération automatique de composants, pages, hooks |
| Git en ligne de commande | Interface Git intégrée (commit, branch, push…) |
| Logs éparpillés | Visualisation temps réel de tous les services |
Config .env manuelle |
Éditeur d'environnement intégré |
👉 Concentrez-vous sur le code, Forge s’occupe du reste.
Monorepo pnpm workspace centralisant l'ensemble de l'écosystème :
monorepo-xxx/
├── apps/
│ ├── frontend/ # React 19 + TypeScript + Vite
│ └── backend/ # Node.js + Express + Sequelize
├── packages/
│ ├── ui/ # @workspace/ui - Composants React
│ ├── functions/ # @workspace/functions - Utils TS
│ └── styles/ # @workspace/styles - CSS globaux
├── tools/
│ └── forge/ # Forge - Gestionnaire monorepo
├── docs/ # Documentation
└── images/ # Assets README
Plateformes : 💻 Desktop • 📱 Mobile • 📲 Tablet • 🚀 PWA
| App / Service | Stack | Port | Documentation |
|---|---|---|---|
| Frontend | React 19 + Vite + TS | 5173 | 📖 README |
| Backend | Node.js + Express + TS | 8000 | 📖 README |
| MySQL | Docker | 3306 | — |
| phpMyAdmin | Docker | 8081 | http://localhost:8081 |
| Forge | React + Node.js | Auto | 📖 README |
import { Button, Card } from "@workspace/ui";
import { formatDate, validateEmail } from "@workspace/functions";
import "@workspace/styles/global.css";Docs packages : 📖 UI • 📖 Functions • 📖 Styles
- Node.js ≥ 20
- pnpm ≥ 9
- Docker (MySQL + phpMyAdmin)
git clone https://github.com/votre-org/monorepo-xxx.git
cd monorepo-xxx
pnpm installpnpm forge # Lance l'interface ForgeForge est le centre de contrôle du monorepo. Il permet de :
✅ Gérer les serveurs : Démarrer/arrêter Frontend, Backend, Docker
✅ Créer des composants : Générer automatiquement components, pages, hooks
✅ Gérer Git : Commits, branches, pull/push simplifiés
✅ Visualiser les logs : Tous les services en temps réel
✅ Configurer l'environnement : Édition des .env
✅ Exécuter les scripts : Build, tests, lint, etc.
👉 Tout se fait via Forge — plus besoin de ligne de commande !
Si vous préférez la ligne de commande :
pnpm dev:frontend # Frontend seul
pnpm dev:backend # Backend seul
pnpm build # Build tout
pnpm lint # Linter
docker-compose up -d # MySQL + phpMyAdmin| Technologie | Version |
|---|---|
| Node.js | 20 |
| pnpm | 9 |
| TypeScript | 5 |
| React | 19 |
| Vite | 7 |
| Express | 5 |
| Sequelize | 6 |
| MySQL | 8 (Docker) |
Format : {type}/{scope}-{description}
| Type | Usage |
|---|---|
feature/ |
Ajout d'une nouvelle fonctionnalité |
fix/ |
Correction d'un bug |
docs/ |
Modification de la documentation |
refactor/ |
Amélioration du code sans changement fonctionnel |
Exemples :
feature/frontend-login-pagefeature/backend-auth-middlewarefix/ui-button-spacing
Nous suivons la spécification Conventional Commits.
Format : type(scope): description
- Apps :
frontend,backend - Packages :
ui,hooks,styles,functions - Tools :
forge-be,forge-fe,scripts - Global :
repo
git commit -m "feat(backend): create get-profile endpoint"
git commit -m "feat(ui): add UserAvatar component"
git commit -m "feat(frontend): implement profile view logic"💡 Si une fonctionnalité touche plusieurs zones, séparez vos commits par scope plutôt que de faire un commit global. Cela facilite la relecture et les éventuels rollbacks.
© 2026 Sébastien Drillaud (Seb-Prod)
Tous droits réservés.




