Contributing

Thank you for considering contributing to Hexagonal Maker Bundle!


Ways to Contribute

🐛 Report Bugs

Found a bug? Open an issue with:

  • Clear title and description
  • Steps to reproduce
  • Expected vs actual behavior
  • Symfony/PHP versions

✨ Request Features

Have an idea? Open a feature request describing:

  • The problem it solves
  • Proposed solution
  • Use cases

📝 Improve Documentation

Documentation PRs are always welcome:

  • Fix typos
  • Add examples
  • Clarify explanations
  • Translate to other languages

💻 Submit Code

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests
  5. Commit (git commit -m 'Add amazing feature')
  6. Push (git push origin feature/amazing-feature)
  7. Open a Pull Request

Development Setup

# Clone your fork
git clone https://github.com/YOUR-USERNAME/hexagonal-maker-bundle
cd hexagonal-maker-bundle

# Install dependencies
composer install

# Run tests
vendor/bin/phpunit

# Run static analysis
vendor/bin/phpstan analyze

Code Standards

  • PSR-12 code style
  • PHPStan Level 8 (strict)
  • Type hints everywhere
  • Readonly classes when possible
  • Comprehensive tests

Pull Request Guidelines

  • Keep PRs focused on single feature/fix
  • Update documentation if needed
  • Add tests for new features
  • Ensure CI passes
  • Follow existing code patterns

License

By contributing, you agree that your contributions will be licensed under the MIT License.


Questions?

  • GitHub Discussions: Ask here
  • Email: ahmedbhs123@gmail.com