# VEZA Complete MVP Audit & Todolist Generator ## 🎯 Mission Tu es un agent d'audit exhaustif. Ta mission est de scanner **l'intégralité** du codebase Veza et générer une **todolist de 200+ tâches** couvrant tout ce qui est nécessaire pour atteindre un **MVP stable prêt pour la production à petite échelle**. **RÈGLE ABSOLUE** : Ne JAMAIS ignorer, skipper ou supprimer une feature/route/fonction. Si quelque chose existe côté frontend mais pas backend (ou inversement), **AJOUTE UNE TÂCHE** pour l'implémenter. L'objectif est la **progression**, pas la régression ni la stagnation. --- ## 📁 Répertoires à Scanner ``` veza/ ├── apps/web/ # Frontend React/TypeScript (SCAN COMPLET) │ ├── src/ │ │ ├── components/ # Composants UI │ │ ├── features/ # Features par domaine │ │ ├── hooks/ # Custom hooks │ │ ├── pages/ # Pages/routes │ │ ├── services/ # Services API │ │ ├── stores/ # State management │ │ ├── types/ # Types TypeScript │ │ ├── utils/ # Utilitaires │ │ └── schemas/ # Validation Zod │ ├── public/ │ └── tests/ │ ├── veza-backend-api/ # Backend Go/Gin (SCAN COMPLET) │ ├── cmd/ # Entry points │ ├── internal/ │ │ ├── api/ # Routes & handlers │ │ ├── config/ # Configuration │ │ ├── dto/ # Data Transfer Objects │ │ ├── middleware/ # Middlewares │ │ ├── models/ # Database models │ │ ├── repository/ # Data access │ │ ├── services/ # Business logic │ │ └── errors/ # Error handling │ └── migrations/ │ ├── veza-common/ # Shared code (SI EXISTE) ├── veza-chat-server/ # Chat server Rust (SI EXISTE) ├── veza-stream-server/ # Streaming server (SI EXISTE) ├── docker-compose*.yml # Infrastructure └── docs/ # Documentation ``` --- ## 🔍 Protocole d'Audit Exhaustif ### ÉTAPE 1 : Cartographie du Frontend (apps/web/) ```bash # 1.1 Lister TOUTES les routes/pages find apps/web/src/pages apps/web/src/features/*/pages -name "*.tsx" 2>/dev/null # 1.2 Lister TOUS les services API find apps/web/src/services apps/web/src/features/*/services -name "*.ts" 2>/dev/null # 1.3 Lister TOUS les appels API grep -rn "apiClient\.\|axios\.\|fetch(" apps/web/src/ --include="*.ts" --include="*.tsx" # 1.4 Lister TOUS les types/interfaces find apps/web/src/types apps/web/src/features/*/types -name "*.ts" 2>/dev/null # 1.5 Lister TOUS les stores (state management) find apps/web/src/stores apps/web/src/features/*/stores -name "*.ts" 2>/dev/null # 1.6 Lister TOUS les hooks custom find apps/web/src/hooks apps/web/src/features/*/hooks -name "*.ts" 2>/dev/null # 1.7 Lister TOUS les composants find apps/web/src/components apps/web/src/features/*/components -name "*.tsx" 2>/dev/null # 1.8 Lister TOUS les schemas de validation find apps/web/src/schemas apps/web/src/features/*/schemas -name "*.ts" 2>/dev/null # 1.9 Lister les tests existants find apps/web/src -name "*.test.ts" -o -name "*.test.tsx" -o -name "*.spec.ts" 2>/dev/null ``` ### ÉTAPE 2 : Cartographie du Backend (veza-backend-api/) ```bash # 2.1 Lister TOUTES les routes définies grep -rn "router\.\(GET\|POST\|PUT\|DELETE\|PATCH\)" veza-backend-api/internal/api/ # 2.2 Lister TOUS les handlers find veza-backend-api/internal/handlers veza-backend-api/internal/api -name "*.go" 2>/dev/null # 2.3 Lister TOUS les models find veza-backend-api/internal/models -name "*.go" 2>/dev/null # 2.4 Lister TOUS les DTOs find veza-backend-api/internal/dto -name "*.go" 2>/dev/null # 2.5 Lister TOUS les services find veza-backend-api/internal/services -name "*.go" 2>/dev/null # 2.6 Lister TOUS les repositories find veza-backend-api/internal/repository -name "*.go" 2>/dev/null # 2.7 Lister TOUS les middlewares find veza-backend-api/internal/middleware -name "*.go" 2>/dev/null # 2.8 Lister les migrations find veza-backend-api/migrations -name "*.sql" 2>/dev/null # 2.9 Lister les tests existants find veza-backend-api -name "*_test.go" 2>/dev/null ``` ### ÉTAPE 3 : Analyse de l'Intégration ```bash # 3.1 Extraire TOUS les endpoints appelés par le frontend grep -rohn "apiClient\.[a-z]*\s*(\s*['\"\`][^'\"\`]*" apps/web/src/ | sort | uniq # 3.2 Extraire TOUTES les routes backend grep -rn "router\.\(GET\|POST\|PUT\|DELETE\|PATCH\)" veza-backend-api/internal/api/ | grep -o '"[^"]*"' | sort | uniq # 3.3 Comparer les deux listes pour trouver les gaps # 3.4 Vérifier la cohérence des types # Frontend types vs Backend DTOs # 3.5 Vérifier les variables d'environnement grep -rn "VITE_" apps/web/src/ grep -rn "os.Getenv" veza-backend-api/ ``` ### ÉTAPE 4 : Scanner les Autres Services (si présents) ```bash # veza-common ls -la veza-common/ 2>/dev/null # veza-chat-server ls -la veza-chat-server/ 2>/dev/null grep -rn "route\|endpoint\|handler" veza-chat-server/src/ 2>/dev/null # veza-stream-server ls -la veza-stream-server/ 2>/dev/null ``` --- ## 📋 Catégories de Tâches à Générer Pour chaque élément trouvé, génère des tâches dans ces catégories : ### 1. BACKEND - Routes API (BE-API-XXX) - Routes manquantes appelées par le frontend - Routes existantes mais incomplètes - Validation des inputs manquante - Gestion des erreurs insuffisante - Documentation OpenAPI manquante ### 2. BACKEND - Models & Database (BE-DB-XXX) - Models manquants ou incomplets - Migrations manquantes - Index manquants - Relations mal définies - Soft delete non implémenté ### 3. BACKEND - Services & Logic (BE-SVC-XXX) - Business logic manquante - Validation métier manquante - Transactions non gérées - Caching non implémenté ### 4. BACKEND - Security (BE-SEC-XXX) - Authentication gaps - Authorization gaps - Rate limiting manquant - Input sanitization - CORS issues ### 5. BACKEND - Tests (BE-TEST-XXX) - Tests unitaires manquants - Tests d'intégration manquants - Coverage insuffisante ### 6. FRONTEND - Pages & Routes (FE-PAGE-XXX) - Pages incomplètes - Routes mal configurées - Layouts manquants - Navigation broken ### 7. FRONTEND - Components (FE-COMP-XXX) - Composants manquants - Props non typées - Accessibilité (a11y) - Responsive design - Error boundaries ### 8. FRONTEND - Services & API (FE-API-XXX) - Services API incomplets - Error handling manquant - Loading states manquants - Retry logic manquant ### 9. FRONTEND - State Management (FE-STATE-XXX) - Stores incomplets - State sync issues - Cache invalidation - Optimistic updates ### 10. FRONTEND - Types & Validation (FE-TYPE-XXX) - Types manquants ou incorrects - Zod schemas manquants - Runtime validation ### 11. FRONTEND - Tests (FE-TEST-XXX) - Tests unitaires manquants - Tests de composants manquants - Tests E2E manquants ### 12. INTEGRATION (INT-XXX) - Contract mismatches - Type inconsistencies - Missing endpoints - Response format issues ### 13. INFRASTRUCTURE (INFRA-XXX) - Docker configuration - Environment variables - CI/CD pipeline - Monitoring/Logging ### 14. DOCUMENTATION (DOC-XXX) - API documentation - README updates - Architecture docs - Deployment guide ### 15. SECURITY (SEC-XXX) - Authentication issues - Authorization issues - Data exposure risks - Dependency vulnerabilities --- ## 📊 Format de Sortie JSON Génère le fichier `VEZA_COMPLETE_MVP_TODOLIST.json` avec cette structure : ```json { "meta": { "title": "Veza Complete MVP Todolist", "description": "Exhaustive todolist for production-ready MVP", "generated_at": "ISO_TIMESTAMP", "total_tasks": 200, "target": "Production-ready MVP at small scale", "scanned_directories": [ "apps/web/", "veza-backend-api/", "veza-common/", "..." ], "audit_methodology": "Full codebase scan + integration analysis" }, "summary": { "by_priority": { "P0_critical": 0, "P1_high": 0, "P2_medium": 0, "P3_low": 0 }, "by_category": { "BE-API": 0, "BE-DB": 0, "BE-SVC": 0, "BE-SEC": 0, "BE-TEST": 0, "FE-PAGE": 0, "FE-COMP": 0, "FE-API": 0, "FE-STATE": 0, "FE-TYPE": 0, "FE-TEST": 0, "INT": 0, "INFRA": 0, "DOC": 0, "SEC": 0 }, "by_owner": { "backend": 0, "frontend": 0, "fullstack": 0, "devops": 0 }, "estimated_total_hours": 0 }, "phases": [ { "id": "PHASE-1", "name": "Critical Foundation", "description": "Must fix before any other work", "priority": "P0", "estimated_days": 0, "tasks": [] }, { "id": "PHASE-2", "name": "Core Features Completion", "description": "Complete essential user-facing features", "priority": "P1", "estimated_days": 0, "tasks": [] }, { "id": "PHASE-3", "name": "Integration & Consistency", "description": "Ensure frontend/backend work seamlessly", "priority": "P1", "estimated_days": 0, "tasks": [] }, { "id": "PHASE-4", "name": "Security Hardening", "description": "Security measures for production", "priority": "P1", "estimated_days": 0, "tasks": [] }, { "id": "PHASE-5", "name": "Testing & Quality", "description": "Test coverage and code quality", "priority": "P2", "estimated_days": 0, "tasks": [] }, { "id": "PHASE-6", "name": "Performance & Optimization", "description": "Optimize for production load", "priority": "P2", "estimated_days": 0, "tasks": [] }, { "id": "PHASE-7", "name": "Documentation & DevOps", "description": "Documentation and deployment readiness", "priority": "P2", "estimated_days": 0, "tasks": [] }, { "id": "PHASE-8", "name": "Polish & UX", "description": "UI/UX improvements and polish", "priority": "P3", "estimated_days": 0, "tasks": [] } ], "tasks": [ { "id": "BE-API-001", "phase": "PHASE-2", "priority": "P1", "priority_rank": 1, "category": "backend-api", "title": "Task title", "description": "Detailed description", "owner": "backend", "estimated_hours": 2, "status": "todo", "files_involved": [ { "path": "veza-backend-api/internal/...", "action": "create|modify|delete", "reason": "Why this file" } ], "implementation_steps": [ { "step": 1, "action": "What to do", "details": "How to do it" } ], "acceptance_criteria": [ "Criterion 1", "Criterion 2" ], "dependencies": ["OTHER-TASK-ID"], "related_frontend": "FE-XXX-YYY", "related_backend": "BE-XXX-YYY", "test_requirements": [ "Unit test for...", "Integration test for..." ], "notes": "Additional context" } ], "gap_analysis": { "frontend_calls_without_backend": [ { "frontend_location": "apps/web/src/services/xxx.ts:42", "endpoint_called": "GET /api/v1/something", "backend_status": "NOT_FOUND", "task_created": "BE-API-XXX" } ], "backend_routes_without_frontend": [ { "backend_location": "veza-backend-api/internal/api/router.go:123", "endpoint_defined": "POST /api/v1/something-else", "frontend_usage": "NOT_FOUND", "task_created": "FE-API-XXX" } ], "type_mismatches": [ { "frontend_type": "apps/web/src/types/user.ts - id: number", "backend_type": "veza-backend-api/internal/dto/user.go - ID: uuid.UUID", "task_created": "INT-XXX" } ] }, "risk_register": [ { "risk": "Description of risk", "severity": "high|medium|low", "mitigation_tasks": ["TASK-ID-1", "TASK-ID-2"], "owner": "backend|frontend|devops" } ], "mvp_definition": { "must_have_features": [ { "feature": "User Authentication", "status": "complete|partial|missing", "tasks_required": ["BE-API-001", "FE-PAGE-001"] } ], "nice_to_have": [ { "feature": "Advanced Search", "tasks_if_included": ["BE-API-050", "FE-COMP-030"] } ], "out_of_scope": [ "Feature X - reason" ] }, "progress_tracking": { "completed": 0, "in_progress": 0, "todo": 200, "blocked": 0, "last_updated": null, "completion_percentage": 0 } } ``` --- ## 🔢 Règles de Priorisation ### P0 - Critical (Blocker) - L'app ne démarre pas - Crash systématique - Faille de sécurité majeure - Perte de données possible - Authentication cassée ### P1 - High (Core Feature) - Feature essentielle non fonctionnelle - Intégration frontend/backend cassée - UX bloquante pour l'utilisateur - Performance inacceptable ### P2 - Medium (Important) - Feature secondaire non fonctionnelle - Inconsistances visuelles - Tests manquants pour code critique - Documentation manquante ### P3 - Low (Nice to Have) - Améliorations UX mineures - Refactoring non urgent - Tests pour code non critique - Optimisations mineures --- ## ⚠️ Règles Absolues ### NE JAMAIS : - ❌ Ignorer une route/feature parce qu'elle n'est pas implémentée - ❌ Recommander de supprimer du code qui appelle des endpoints manquants - ❌ Sauter des fichiers "parce qu'ils semblent obsolètes" - ❌ Limiter l'audit à certains dossiers seulement - ❌ Générer moins de 200 tâches ### TOUJOURS : - ✅ Créer une tâche pour implémenter ce qui manque - ✅ Documenter les deux côtés (frontend + backend) pour chaque gap - ✅ Lier les tâches entre elles (dependencies, related_*) - ✅ Inclure des critères d'acceptation testables - ✅ Estimer les heures de travail --- ## 🚀 Séquence d'Exécution ``` 1. SCAN FRONTEND └── Lister tous les fichiers └── Extraire tous les appels API └── Identifier tous les types └── Trouver tous les composants/pages └── Détecter les tests manquants 2. SCAN BACKEND └── Lister toutes les routes └── Extraire tous les handlers └── Identifier tous les models/DTOs └── Trouver tous les services └── Détecter les tests manquants 3. ANALYSE D'INTÉGRATION └── Comparer endpoints frontend vs backend └── Comparer types frontend vs DTOs backend └── Identifier TOUS les gaps └── Créer tâches pour chaque gap 4. SCAN SERVICES ANNEXES └── veza-common └── veza-chat-server └── veza-stream-server └── Autres... 5. ANALYSE SÉCURITÉ └── Auth/AuthZ gaps └── Input validation └── CORS/CSRF └── Secrets exposure 6. ANALYSE INFRA └── Docker configs └── Environment vars └── CI/CD gaps 7. GÉNÉRATION TODOLIST └── Créer toutes les tâches └── Assigner les priorités └── Calculer les estimations └── Organiser en phases └── Générer le JSON final ``` --- ## 📤 Output Attendu À la fin de l'audit, tu dois produire : 1. **`VEZA_COMPLETE_MVP_TODOLIST.json`** — Le fichier JSON avec 200+ tâches 2. **Résumé dans la conversation** : ``` ══════════════════════════════════════════════════════ 📊 AUDIT COMPLET VEZA - RÉSUMÉ ══════════════════════════════════════════════════════ Total tâches générées: XXX Par priorité: • P0 (Critical): XX tâches • P1 (High): XX tâches • P2 (Medium): XX tâches • P3 (Low): XX tâches Par catégorie: • Backend API: XX • Backend DB: XX • Backend Services: XX • Frontend Pages: XX • Frontend Components: XX • Integration: XX • Security: XX • Tests: XX • Infrastructure: XX • Documentation: XX Gaps critiques détectés: • XX endpoints appelés par frontend mais non implémentés • XX routes backend sans utilisation frontend • XX type mismatches Estimation totale: XXX heures (~XX semaines) Fichier généré: VEZA_COMPLETE_MVP_TODOLIST.json ══════════════════════════════════════════════════════ ``` --- ## 🎯 COMMENCE MAINTENANT 1. **Lis la structure du projet** : ```bash ls -la find . -type d -name "src" | head -20 ``` 2. **Scanne le frontend** (apps/web/) 3. **Scanne le backend** (veza-backend-api/) 4. **Identifie les gaps d'intégration** 5. **Génère les 200+ tâches** 6. **Produis le fichier JSON final** **Première action** : Lister la structure racine du projet et identifier tous les répertoires à scanner.