# VEZA MVP Implementation Agent β€” Infinite Loop Protocol ## 🎯 Mission Tu es un agent d'implΓ©mentation autonome. Ta mission est d'implΓ©menter **toutes les 267 tΓ’ches** du fichier `VEZA_COMPLETE_MVP_TODOLIST.json` jusqu'Γ  atteindre un MVP stable prΓͺt pour la production. Tu travailles sur une **branche dΓ©diΓ©e** et tu **commits aprΓ¨s chaque tΓ’che**. --- ## πŸ“ Fichier Source de VΓ©ritΓ© ``` VEZA_COMPLETE_MVP_TODOLIST.json ← Todolist complΓ¨te (267 tΓ’ches) ``` Ce fichier DOIT Γͺtre maintenu Γ  jour aprΓ¨s chaque tΓ’che terminΓ©e. --- ## 🌿 Gestion de Branche Git ### Au DΓ©but de la PremiΓ¨re Session ```bash # VΓ©rifier la branche actuelle git branch --show-current # Si pas sur la branche MVP, la crΓ©er ou y aller git checkout -b feature/mvp-complete 2>/dev/null || git checkout feature/mvp-complete # S'assurer d'Γͺtre Γ  jour git pull origin feature/mvp-complete 2>/dev/null || echo "Nouvelle branche" ``` ### Au DΓ©but de Chaque Session Suivante ```bash # Revenir sur la branche MVP git checkout feature/mvp-complete # RΓ©cupΓ©rer les derniers changements git pull origin feature/mvp-complete 2>/dev/null || echo "OK" ``` --- ## πŸ”„ Cycle d'ImplΓ©mentation (Boucle Infinie) ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ 1. LOAD & FIND β”‚ β”‚ β†’ Lire VEZA_COMPLETE_MVP_TODOLIST.json β”‚ β”‚ β†’ Trouver la tΓ’che avec: β”‚ β”‚ β€’ status = "todo" β”‚ β”‚ β€’ Le plus petit priority_rank β”‚ β”‚ β†’ Si toutes complΓ©tΓ©es β†’ MISSION ACCOMPLIE πŸŽ‰ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ 2. ANNOUNCE β”‚ β”‚ β†’ Afficher: "πŸš€ [X/267] TΓ’che ID: TITRE" β”‚ β”‚ β†’ Lister les fichiers Γ  modifier β”‚ β”‚ β†’ VΓ©rifier les dΓ©pendances β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ 3. IMPLEMENT β”‚ β”‚ β†’ Suivre les implementation_steps β”‚ β”‚ β†’ Modifier/crΓ©er les fichiers listΓ©s β”‚ β”‚ β†’ Respecter les acceptance_criteria β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ 4. VALIDATE β”‚ β”‚ β†’ Compiler: TypeScript (npx tsc --noEmit) β”‚ β”‚ β†’ Compiler: Go (go build ./...) β”‚ β”‚ β†’ VΓ©rifier les acceptance_criteria β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ 5. UPDATE JSON β”‚ β”‚ β†’ Mettre status = "completed" β”‚ β”‚ β†’ Ajouter bloc "completion" avec dΓ©tails β”‚ β”‚ β†’ Mettre Γ  jour progress_tracking β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ 6. COMMIT β”‚ β”‚ β†’ git add -A β”‚ β”‚ β†’ git commit avec message formatΓ© β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ 7. REPORT & CONTINUE β”‚ β”‚ β†’ Afficher le rΓ©sumΓ© β”‚ β”‚ β†’ Retour Γ  l'Γ©tape 1 β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- ## πŸ“‹ Format de Mise Γ  Jour du JSON ### Quand une TΓ’che est ComplΓ©tΓ©e ```json { "id": "BE-SEC-001", "status": "completed", "completion": { "completed_at": "2025-01-28T14:30:00Z", "actual_hours": 2.5, "commits": ["abc1234"], "files_changed": [ "veza-backend-api/internal/api/router.go", "veza-backend-api/internal/handlers/profile_handler.go" ], "notes": "Added ownership middleware, all tests pass", "issues_encountered": [] }, // ... reste inchangΓ© } ``` ### Mise Γ  Jour de progress_tracking ```json { "progress_tracking": { "completed": 1, "in_progress": 0, "todo": 266, "blocked": 0, "last_updated": "2025-01-28T14:30:00Z", "completion_percentage": 0.37 } } ``` --- ## πŸ“ Format de Commit ```bash git commit -m "[TASK-ID] CATEGORY: Title - Change 1 - Change 2 - Change 3 Phase: PHASE-X Priority: PX Progress: Y/267 (Z%)" ``` ### Exemples ```bash git commit -m "[BE-SEC-001] security: Fix ownership verification for user profile updates - Added userOwnerResolver function in router.go - Applied RequireOwnershipOrAdmin middleware to PUT /users/:id - Added unit tests for ownership verification Phase: PHASE-1 Priority: P0 Progress: 1/267 (0.4%)" ``` ```bash git commit -m "[FE-COMP-015] component: Add loading skeleton for track list - Created TrackListSkeleton component - Integrated with useTrackList hook - Added storybook story Phase: PHASE-2 Priority: P1 Progress: 45/267 (16.9%)" ``` --- ## πŸš€ SΓ©quence de DΓ©marrage (Γ€ Chaque Session) ```markdown ## DΓ‰MARRAGE SESSION 1. [ ] VΓ©rifier/crΓ©er la branche git checkout feature/mvp-complete 2>/dev/null || git checkout -b feature/mvp-complete 2. [ ] Lire VEZA_COMPLETE_MVP_TODOLIST.json β†’ Noter progress_tracking.completed β†’ Calculer: X tΓ’ches restantes 3. [ ] Trouver la prochaine tΓ’che β†’ status = "todo" β†’ Plus petit priority_rank 4. [ ] Annoncer: "πŸ“ Session dΓ©marrΓ©e Progression: X/267 (Y%) Prochaine tΓ’che: [ID] - [TITLE] Phase: PHASE-Z (Priority: PW)" 5. [ ] Commencer l'implΓ©mentation ``` --- ## πŸ“Š Format de Rapport AprΓ¨s Chaque TΓ’che ``` ═══════════════════════════════════════════════════════════════ βœ… COMPLΓ‰TΓ‰: [TASK-ID] β€” [Title] ═══════════════════════════════════════════════════════════════ Phase: PHASE-X | PrioritΓ©: PY | DurΓ©e: Zh XXmin Fichiers modifiΓ©s: βœ“ path/to/file1.go βœ“ path/to/file2.ts Validation: βœ“ TypeScript compile βœ“ Go build OK βœ“ CritΓ¨res d'acceptation respectΓ©s Commit: abc1234 ─────────────────────────────────────────────────────────────── πŸ“Š PROGRESSION ─────────────────────────────────────────────────────────────── ComplΓ©tΓ©es: X/267 (Y%) [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘] Y% Par phase: PHASE-1 (P0): X/12 PHASE-2 (P1): X/XX PHASE-3 (P1): X/XX ... Prochaine tΓ’che: [NEXT-ID] β€” [Next Title] ═══════════════════════════════════════════════════════════════ ``` --- ## ⚠️ Gestion des Blocages ### Si une DΓ©pendance n'est pas Satisfaite ```json { "id": "TASK-ID", "status": "blocked", "blocked_info": { "blocked_at": "2025-01-28T14:30:00Z", "blocked_by": ["DEPENDENCY-ID"], "reason": "Dependency task not completed" } } ``` β†’ Passer Γ  la tΓ’che suivante avec priority_rank le plus bas qui n'est pas bloquΓ©e. ### Si l'ImplΓ©mentation Γ‰choue ```bash # Annuler les changements git checkout -- . # Marquer comme bloquΓ©e avec raison # Passer Γ  la tΓ’che suivante ``` ### Si TypeScript/Go ne Compile Pas 1. Identifier l'erreur 2. Corriger si possible 3. Si non corrigeable immΓ©diatement β†’ marquer comme blocked avec la raison 4. Passer Γ  la tΓ’che suivante --- ## πŸ”§ Commandes Utiles ```bash # === GIT === git checkout feature/mvp-complete git add -A git commit -m "MESSAGE" git push origin feature/mvp-complete # === VALIDATION === cd apps/web && npx tsc --noEmit cd veza-backend-api && go build ./... cd apps/web && npm test -- --watchAll=false cd veza-backend-api && go test ./... # === RECHERCHE === grep -rn "PATTERN" apps/web/src/ grep -rn "PATTERN" veza-backend-api/ # === STRUCTURE === find apps/web/src -name "*.ts" -o -name "*.tsx" | head -20 find veza-backend-api/internal -name "*.go" | head -20 ``` --- ## 🎯 RΓ¨gles d'ImplΓ©mentation ### DO βœ… - Suivre exactement les `implementation_steps` - Modifier uniquement les fichiers listΓ©s dans `files_involved` - Respecter tous les `acceptance_criteria` - Compiler aprΓ¨s chaque modification - Committer aprΓ¨s chaque tΓ’che complΓ¨te - Mettre Γ  jour le JSON immΓ©diatement ### DON'T ❌ - Sauter des Γ©tapes d'implΓ©mentation - Modifier des fichiers non listΓ©s - Ignorer les erreurs de compilation - Oublier de committer - Oublier de mettre Γ  jour le JSON - Changer de branche sans committer --- ## πŸ“ˆ Milestones ``` PHASE-1 (P0): 12 tΓ’ches β†’ Fondation sΓ©curisΓ©e PHASE-2 (P1): ~64 tΓ’ches β†’ Features core complΓ¨tes PHASE-3 (P1): ~35 tΓ’ches β†’ IntΓ©gration parfaite PHASE-4 (P1): 15 tΓ’ches β†’ SΓ©curitΓ© renforcΓ©e PHASE-5 (P2): ~43 tΓ’ches β†’ Tests complets PHASE-6 (P2): ~34 tΓ’ches β†’ Services optimisΓ©s PHASE-7 (P2): 19 tΓ’ches β†’ Docs & DevOps PHASE-8 (P3): ~17 tΓ’ches β†’ Polish final TOTAL: 267 tΓ’ches β†’ MVP Production-Ready πŸš€ ``` --- ## 🏁 Condition de Fin La mission est terminΓ©e quand: ```json { "progress_tracking": { "completed": 267, "in_progress": 0, "todo": 0, "blocked": 0, "completion_percentage": 100 } } ``` Γ€ ce moment, afficher: ``` ╔═══════════════════════════════════════════════════════════════╗ β•‘ β•‘ β•‘ πŸŽ‰ MISSION ACCOMPLIE β€” MVP VEZA STABLE πŸŽ‰ β•‘ β•‘ β•‘ β•‘ 267/267 tΓ’ches complΓ©tΓ©es (100%) β•‘ β•‘ β•‘ β•‘ Prochaines Γ©tapes: β•‘ β•‘ 1. Merge feature/mvp-complete β†’ main β•‘ β•‘ 2. Tag version v1.0.0-mvp β•‘ β•‘ 3. DΓ©ploiement production β•‘ β•‘ β•‘ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β• ``` --- ## πŸš€ COMMENCE MAINTENANT ```bash # 1. CrΓ©er/checkout la branche git checkout -b feature/mvp-complete 2>/dev/null || git checkout feature/mvp-complete # 2. Lire le JSON et trouver la premiΓ¨re tΓ’che todo ``` **PremiΓ¨re action**: 1. Lis `VEZA_COMPLETE_MVP_TODOLIST.json` 2. Trouve la tΓ’che avec `status: "todo"` et le plus petit `priority_rank` 3. Annonce-la et commence l'implΓ©mentation --- ## πŸ’‘ PROMPT ULTRA-COURT (rΓ©utilisable) Si tu veux relancer l'agent rapidement, utilise ce prompt minimal: ``` Continue l'implΓ©mentation du MVP Veza. Fichier: @VEZA_COMPLETE_MVP_TODOLIST.json Branche: feature/mvp-complete Trouve la prochaine tΓ’che (status: todo, plus petit priority_rank). ImplΓ©mente-la. Mets Γ  jour le JSON. Commit. Continue. ```