--- id: "contributing" title: "🤝 Guide de Contribution - Veza Platform" sidebar_label: "🤝 Guide de Contribution - Veza Platform" --- > NOTE: Cette page décrit la CIBLE (but visé). # 🤝 Guide de Contribution - Veza Platform > **Guide complet pour contribuer au projet Veza Platform avec environnement de développement assisté par IA** ## 🎯 Principes de Conduite (Non Négociables) ### Stabilité avant Vélocité - Chaque changement améliore la robustesse (tests, types, lint, docs) - Aucun raccourci qui compromet la qualité - Tests obligatoires pour toute nouvelle fonctionnalité ### Flux Unidirectionnel ``` Besoin → Design → Implémentation → Test → Doc → PR → Review → Merge ``` **Pas de raccourcis autorisés** ### Traçabilité Totale - Toute décision = **ADR** (Architecture Decision Record) - Commits atomiques avec **Conventional Commits** - Documentation à jour pour chaque changement ### Sécurité Intégrée - Aucune fuite de secrets - Scanners de secrets obligatoires - Dépendances vérifiées automatiquement ### Autonomie Contrôlée - Agents IA travaillent en arrière-plan - **Toujours via PR** + checklists - Review humaine obligatoire ## 🚀 Démarrage Rapide ### 1. Configuration Initiale ```bash # Cloner le repository git clone https://github.com/okinrev/veza-full-stack.git cd veza-full-stack # Installer les dépendances et hooks make bootstrap # Vérifier l'installation make verify ``` ### 2. Workflow de Développement ```bash # 1. Créer une branche feature git checkout -b feat/your-feature-name # 2. Développer avec les agents IA # Les agents Implementer, QA, Docs travaillent automatiquement # 3. Vérifier avant commit make verify && make test # 4. Créer une PR # Template automatiquement rempli avec checklist DOD ``` ## 📋 Definition of Done (DOD) ### ✅ Code Quality - [ ] **Compilation** : Code compile sans erreurs - [ ] **Linting** : Lint passé (ESLint, golangci-lint, clippy) - [ ] **Type Checking** : Types stricts (TS/Go/Rust) - [ ] **Tests** : Couverture ≥ 80% sur packages critiques - [ ] **Performance** : Benchmarks respectés si impact ### ✅ Tests Obligatoires - [ ] **Tests unitaires** : Nouveaux tests pour nouvelle logique - [ ] **Tests d'intégration** : Au moins 1 test si nouvelle route/service - [ ] **Tests E2E** : Si impact frontend/API - [ ] **Tests de régression** : Si correction de bug ### ✅ Documentation - [ ] **Vision/Current** : Docs mises à jour selon impact - [ ] **README** : Mise à jour si changement d'usage - [ ] **Changelog** : Entrée ajoutée - [ ] **Exemples** : Code d'usage fourni ### ✅ Sécurité - [ ] **Secrets** : Aucune fuite détectée (gitleaks) - [ ] **Dépendances** : Vulnérabilités corrigées - [ ] **Permissions** : Droits minimaux respectés - [ ] **Validation** : Inputs validés et sanitizés ### ✅ Architecture - [ ] **ADR** : Décision documentée si impact architectural - [ ] **API** : Contrats versionnés et documentés - [ ] **Logs** : Logging structuré avec corrélation - [ ] **Observabilité** : Métriques ajoutées si nécessaire ### ✅ Review Process - [ ] **2 Approbations** : Tech + QA minimum - [ ] **Auto-fusion** : Interdite - [ ] **Checklist** : Tous les items cochés - [ ] **Conflits** : Résolus avant merge ## 🔄 Workflow Git ### Branches - `main` : Production stable - `develop` : Intégration continue - `feat/*` : Nouvelles fonctionnalités - `fix/*` : Corrections de bugs - `refactor/*` : Refactoring - `docs/*` : Documentation - `chore/*` : Maintenance ### Conventional Commits ```bash # Format (): # Types feat: Nouvelle fonctionnalité fix: Correction de bug docs: Documentation style: Formatage refactor: Refactoring test: Tests chore: Maintenance # Exemples feat(auth): add OAuth2 Google provider fix(chat): resolve WebSocket connection issues docs(api): update authentication endpoints refactor(backend): improve error handling ``` ### Pull Request Process 1. **Créer branche** depuis `develop` 2. **Développer** avec agents IA 3. **Tester** localement (`make test`) 4. **Créer PR** avec template 5. **Review** par 2+ personnes 6. **Merge** après approbation ## 🤖 Agents IA ### 6 Agents en Arrière-Plan #### 1. **Planner** (Planificateur) - **Rôle** : Priorisation et planification - **Entrées** : Vision, roadmap, issues - **Sorties** : Backlog priorisé, jalons - **Boucle** : Quotidienne #### 2. **Researcher** (Chercheur) - **Rôle** : Recherche et analyse - **Entrées** : Tâches bloquées - **Sorties** : Notes de recherche, options - **Boucle** : Ad-hoc #### 3. **Implementer** (Implémenteur) - **Rôle** : Développement de code - **Entrées** : Items Now/Next - **Sorties** : Branches, code, tests - **Boucle** : Continue #### 4. **QA** (Qualité) - **Rôle** : Tests et validation - **Entrées** : PR ouvertes - **Sorties** : Rapports de qualité - **Boucle** : À chaque PR #### 5. **Docs** (Documentation) - **Rôle** : Mise à jour documentation - **Entrées** : PR prêtes - **Sorties** : Docs Vision/Current - **Boucle** : À chaque PR #### 6. **Maintainer** (Maintenance) - **Rôle** : Maintenance et sécurité - **Entrées** : Dépendances, vulnérabilités - **Sorties** : PR de maintenance - **Boucle** : Hebdomadaire ## 🛠️ Outillage Local ### Makefile Commands ```bash make bootstrap # Installation complète make verify # Lint + typecheck + secrets make test # Tests unitaires + intégration make docs # Build documentation make diagrams # Génération diagrammes Mermaid make clean # Nettoyage artefacts ``` ### Pre-commit Hooks - **Go** : `golangci-lint`, `go vet` - **Rust** : `cargo clippy`, `cargo fmt` - **TypeScript** : `eslint`, `tsc --noEmit` - **Markdown** : `markdownlint` - **Secrets** : `gitleaks` ### Configuration IDE - **VSCode** : Extensions recommandées dans `.vscode/` - **Settings** : Configuration partagée - **Debug** : Configurations de debug ## 📊 Métriques et Qualité ### Couverture de Code - **Backend Go** : ≥ 80% - **Rust Services** : ≥ 85% - **Frontend React** : ≥ 75% - **Tests E2E** : ≥ 60% ### Performance - **API Latency** : < 100ms P95 - **Frontend Load** : < 2s - **Memory Usage** : < 512MB per service - **CPU Usage** : < 50% average ### Sécurité - **Vulnerabilities** : 0 critical, 0 high - **Secrets** : 0 detected - **Dependencies** : Up to date - **Licenses** : Compatible ## 🚨 Gestion des Incidents ### Classification - **P0** : Service down, data loss - **P1** : Major feature broken - **P2** : Minor feature broken - **P3** : Enhancement request ### Processus 1. **Détection** : Monitoring automatique 2. **Alerte** : Notification équipe 3. **Diagnostic** : Analyse logs/métriques 4. **Correction** : Hotfix si P0/P1 5. **Post-mortem** : Analyse et prévention ## 📚 Ressources ### Documentation - **Vision** : `/vision/overview` - **État actuel** : `/current/overview` - **API** : `/current/tech/api-reference` - **Architecture** : `/current/tech/architecture` ### Communication - **Issues** : GitHub Issues - **Discussions** : GitHub Discussions - **Code Review** : GitHub PR - **Urgent** : Slack/Teams ### Formation - **Onboarding** : Guide complet - **Best Practices** : Exemples concrets - **Troubleshooting** : Solutions communes - **Architecture** : Principes et patterns ## 🎯 Prochaines Étapes 1. **Lire** ce guide attentivement 2. **Configurer** l'environnement local 3. **Choisir** une tâche du backlog 4. **Créer** une branche feature 5. **Développer** avec les agents IA 6. **Tester** et documenter 7. **Créer** une PR 8. **Collaborer** via review --- *Ce guide évolue avec le projet. Dernière mise à jour : 2024-01-15*