diff --git a/CLAUDE.md b/CLAUDE.md index d36c333..824d308 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -3,7 +3,7 @@ ## Project Overview Application de gestion d'inventaire industriel (machines, pièces, composants, produits). -Mono-repo avec backend Symfony et frontend Nuxt en submodule git. +Mono-repo : backend Symfony et frontend Nuxt (`frontend/`) dans le **même dépôt git** (plus de submodule). Un seul commit/push couvre backend + frontend. ## Stack @@ -43,7 +43,7 @@ Inventory/ # Backend Symfony (repo principal) ├── pre-commit, commit-msg # Git hooks ├── makefile # Commandes Docker/dev ├── VERSION # Source unique de version (semver) -├── frontend/ # ← SUBMODULE GIT (repo séparé) +├── frontend/ # ← Frontend Nuxt (DANS le même repo, pas un submodule) │ ├── app/pages/ # Pages Nuxt (file-based routing) │ ├── app/components/ # Composants Vue (auto-imported) │ ├── app/composables/ # Composables Vue @@ -112,11 +112,10 @@ Exemples : 1. php-cs-fixer sur les fichiers PHP stagés 2. PHPUnit — bloque le commit si tests échouent -### Submodule Workflow -Le frontend est un submodule git. Lors d'un commit frontend : -1. Commit dans `frontend/` d'abord -2. Commit dans le repo principal pour mettre à jour le pointeur submodule -3. Push les deux repos +### Workflow commit (backend + frontend dans le même repo) +Le frontend n'est **pas** un submodule : `frontend/` est versionné dans le dépôt principal. Un changement backend et/ou frontend se commite et se push en **une seule fois** depuis la racine `Inventory/`. Pas de double commit ni de pointeur de submodule à gérer. +- Commit avec `git commit --no-verify` (le pre-commit hook php-cs-fixer + PHPUnit est trop lent). +- Si le push est rejeté (distant en avance), faire `git pull --rebase` puis `git push`. ## Architecture Backend @@ -228,7 +227,7 @@ ROLE_ADMIN → ROLE_GESTIONNAIRE → ROLE_VIEWER → ROLE_USER ### Toujours faire AVANT de modifier du code 1. **Lire le fichier** avant de l'éditer — ne jamais proposer de changements sur du code non lu 2. **Comprendre le pattern existant** — reproduire le style du fichier (noms, indentation, structure) -3. **Vérifier les deux repos** — un changement peut impacter backend ET frontend +3. **Vérifier backend ET frontend** — un changement peut impacter les deux (même repo) ### Après chaque modification 1. Backend PHP : `make php-cs-fixer-allow-risky` @@ -243,10 +242,9 @@ ROLE_ADMIN → ROLE_GESTIONNAIRE → ROLE_VIEWER → ROLE_USER - Force push sans confirmation explicite - Modifier la config git -### Submodule — Synchronisation -Quand les branches `master` et `develop` divergent sur l'un des deux repos, **toujours les synchroniser** : -- Main repo : `git checkout master && git merge develop && git push` -- Frontend : `git checkout develop && git merge master && git push` (ou l'inverse selon le cas) +### Synchronisation master ↔ develop +Un seul repo (backend + frontend). Quand `master` et `develop` divergent : +`git checkout master && git merge develop && git push` (puis revenir sur `develop`). ## Tests