7.6 KiB
7.6 KiB
| id | title | sidebar_label |
|---|---|---|
| contributing | 🤝 Guide de Contribution - Veza Platform | 🤝 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
# 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
# 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 stabledevelop: Intégration continuefeat/*: Nouvelles fonctionnalitésfix/*: Corrections de bugsrefactor/*: Refactoringdocs/*: Documentationchore/*: Maintenance
Conventional Commits
# Format
<type>(<scope>): <description>
# 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
- Créer branche depuis
develop - Développer avec agents IA
- Tester localement (
make test) - Créer PR avec template
- Review par 2+ personnes
- 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
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
- Détection : Monitoring automatique
- Alerte : Notification équipe
- Diagnostic : Analyse logs/métriques
- Correction : Hotfix si P0/P1
- 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
- Lire ce guide attentivement
- Configurer l'environnement local
- Choisir une tâche du backlog
- Créer une branche feature
- Développer avec les agents IA
- Tester et documenter
- Créer une PR
- Collaborer via review
Ce guide évolue avec le projet. Dernière mise à jour : 2024-01-15