From d28f3859187ec6922249f09c3a548e9c0223e70f Mon Sep 17 00:00:00 2001 From: matthieu Date: Tue, 10 Mar 2026 23:53:36 +0100 Subject: [PATCH] docs(claude) : update project structure and add missing commands Co-Authored-By: Claude Opus 4.6 --- CLAUDE.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 753e081..978c9d8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -12,9 +12,9 @@ Application de gestion de projet. Monorepo Symfony 8 (API Platform 4) + Nuxt 4. ## Structure ``` -src/Entity/ # Entités Doctrine (User, Client, Project, Task, TaskStatus, TaskEffort, TaskPriority, TaskType, TaskGroup) +src/Entity/ # Entités Doctrine (User, Client, Project, Task, TaskStatus, TaskEffort, TaskPriority, TaskType, TaskGroup, TimeEntry) src/ApiResource/ # Ressources API Platform (si découplées des entités) -src/State/ # Providers et Processors API Platform (MeProvider, AppVersionProvider, UserPasswordHasherProcessor) +src/State/ # Providers et Processors API Platform (MeProvider, AppVersionProvider, ActiveTimeEntryProvider, UserPasswordHasherProcessor) src/Repository/ # Repositories Doctrine src/DataFixtures/ # Fixtures config/ # Config Symfony (security, api_platform, lexik_jwt, nelmio_cors, doctrine) @@ -22,12 +22,12 @@ config/jwt/ # Clés JWT (private.pem, public.pem) migrations/ # Migrations Doctrine docs/plans/ # Plans d'implémentation frontend/ # App Nuxt 4 -frontend/pages/ # Pages (index, login, clients, projects, projects/[id], admin) +frontend/pages/ # Pages (index, login, clients, projects, projects/[id], projects/[id]/groups, projects/[id]/statuses, time-tracking, admin) frontend/layouts/ # Layouts (pas "layout") -frontend/components/ # Composants Vue (AppDrawer, ColorPicker, *Drawer, TaskCard, Admin*Tab, UserDrawer) -frontend/composables/# Composables (useApi, etc.) -frontend/stores/ # Stores Pinia -frontend/services/ # Services API (auth, clients, projects, tasks, task-statuses, etc.) +frontend/components/ # Composants Vue (AppTopNav, AppDrawer, ColorPicker, DataTable, *Drawer, TaskCard, Admin*Tab, ProjectStatusTab, ProjectGroupTab, SidebarLink, SidebarTimer, TimeEntry*, TimeTrackingCalendar, ConfirmDeleteStatusModal) +frontend/composables/# Composables (useApi, useAppVersion) +frontend/stores/ # Stores Pinia (auth, ui, timer) +frontend/services/ # Services API (auth, clients, projects, tasks, task-statuses, task-efforts, task-groups, task-priorities, task-types, users, time-entries) frontend/services/dto/ # Types TypeScript frontend/i18n/locales/ # Fichiers de traduction (langDir résolu depuis i18n/) ``` @@ -36,10 +36,14 @@ frontend/i18n/locales/ # Fichiers de traduction (langDir résolu depuis i18n/) ```bash make start # Démarrer les containers +make stop # Arrêter les containers +make restart # Redémarrer les containers make install # Install complet (composer, migrations, fixtures, build Nuxt) make reset # Tout supprimer et réinstaller (supprime la BDD) make dev-nuxt # Dev server Nuxt (hot reload, port 3002) make shell # Shell dans le container PHP +make shell-root # Shell root dans le container PHP +make cache-clear # Vider le cache Symfony make migration-migrate # Lancer les migrations make fixtures # Charger les fixtures make db-reset # Reset BDD + migrations + fixtures @@ -70,7 +74,7 @@ Exemples : `feat : add login page`, `fix(auth) : prevent null token crash` - TypeScript strict - Composable `useApi()` pour tous les appels API (gère cookies, erreurs, toasts, i18n) -- Store Pinia pour l'auth (`useAuthStore`) +- Stores Pinia : `useAuthStore` (auth), `useUiStore` (ui), `useTimerStore` (timer) - Middleware global `auth.global.ts` protège les routes - Traductions dans `frontend/i18n/locales/` (le module résout `langDir` depuis `i18n/`) - 4 espaces d'indentation