Aller au contenu principal
Version: 5.x

Contribution

Introduction​

Toutes les contributions sont les bienvenues ! Contribuer à Bow Framework est une excellente façon de s'améliorer et d'aider la communauté.

Discussion préalable

Avant de commencer un travail conséquent, créez une issue sur GitHub pour discuter de votre proposition avec les mainteneurs.

Dépôts principaux​

DépôtDescription
bowphp/frameworkCore du framework
bowphp/appApplication squelette
bowphp/docsDocumentation

Processus de contribution​

1. Fork et clone​

# Forker le projet sur GitHub, puis cloner
git clone https://github.com/VOTRE-USERNAME/framework.git
cd framework

# Ajouter le dépôt upstream
git remote add upstream https://github.com/bowphp/framework.git

2. Créer une branche​

# Synchroniser avec upstream
git fetch upstream
git checkout -b feat/ma-fonctionnalite upstream/5.x

Conventions de nommage :

  • feat/description - Nouvelle fonctionnalitĂ©
  • fix/description - Correction de bug
  • docs/description - Documentation
  • refactor/description - Refactoring

3. Développer​

# Installer les dépendances
composer install

# Lancer les tests pendant le développement
composer test --testdox

4. Commiter​

Utilisez la convention Conventional Commits :

# Format: type(scope): description
git commit -m "feat(auth): add OAuth2 support for Google"
git commit -m "fix(session): resolve token expiration issue"
git commit -m "docs(readme): update installation instructions"

Types disponibles :

  • feat - Nouvelle fonctionnalitĂ©
  • fix - Correction de bug
  • docs - Documentation
  • refactor - Refactoring sans changement fonctionnel
  • test - Ajout/modification de tests
  • chore - Maintenance (dĂ©pendances, CI, etc.)
remarque

Les messages de commit doivent ĂŞtre en anglais.

5. Soumettre la Pull Request​

# Pousser la branche
git push origin feat/ma-fonctionnalite

Sur GitHub, créez une Pull Request avec :

  • Un titre clair suivant Conventional Commits
  • Une description des changements
  • RĂ©fĂ©rence Ă  l'issue associĂ©e (ex: Fixes #123)

Règles​

Pull Requests​

  • Une PR par fonctionnalitĂ© : SĂ©parez les modifications indĂ©pendantes
  • Tests requis : Toute nouvelle fonctionnalitĂ© doit ĂŞtre testĂ©e
  • Documentation : Mettez Ă  jour la doc si nĂ©cessaire
  • Versioning : Suivez SemVer pour les changements majeurs

Qualité du code​

# Formater le code
composer format

# Analyser statiquement
composer analyse

# Lancer tous les tests
composer test

Standards​

  • PHP 8.1+
  • PSR-12 pour le style de code
  • PHPDoc pour les mĂ©thodes publiques
  • Tests unitaires avec PHPUnit

Exemples de commits​

# Fonctionnalité simple
git commit -m "feat(http): add support for PATCH requests"

# Correction de bug
git commit -m "fix(routing): handle trailing slashes correctly"

# Commit avec description détaillée
git commit
feat(auth): implement JWT authentication

- Add JwtGuard for token-based authentication
- Support token refresh and revocation
- Add middleware for protected routes

Closes #42

Code de conduite​

Respectez le code de conduite dans toutes vos interactions.

Ressources​

Il manque quelque chose ?

Si vous rencontrez des problèmes avec la documentation ou si vous avez des suggestions pour améliorer la documentation ou le projet en général, veuillez déposer une issue pour nous, ou envoyer un tweet mentionnant le compte Twitter @bowframework ou sur directement sur le github.