629 lines
17 KiB
Markdown
629 lines
17 KiB
Markdown
|
|
# 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.
|