Skip to main content

Contributing

Thank you for considering contributing to the Symfony Multi-Tenancy Bundle! πŸŽ‰ We welcome all suggestions, bug reports, and pull requests. Below are some friendly guidelines to help you get started.

πŸ’‘ 1. Suggesting New Features​

We love new ideas! If you have an idea for a feature or improvement:

  1. Check the issue tracker to see if it’s already discussed. πŸ”

  2. Open a new issue with a clear title and detailed description of your proposal:

    • What problem does it solve?
    • How would it work in practice?
    • Any example code or usage patterns.
  3. Engage in the discussion: feedback is iterative. πŸ”

Alternatively, share your ideas and feedback in our GitHub Discussions forum. πŸ’¬

πŸ›  2. Contributing Code (Features, Improvements & Fixes)​

Ready to contribute code whether adding new features, fixing bugs, or improving existing functionality? Follow these steps:

  1. Fork the repository to your own GitHub account. 🍴

  2. Create a feature branch named descriptively, e.g., feature/performance-optimizations or bugfix/fix-connection-error. 🌿

  3. Implement your changes, adhering to the project’s coding standards and adding tests for any new or modified behavior. πŸ“

  4. Update documentation (in docs/) to cover your changes. πŸ“š

  5. Submit a Pull Request against the main branch, referencing the related issue(s). Include:

    • A summary of your changes. πŸ—’οΈ
    • Usage examples or migration steps if applicable. πŸš€
    • Any breaking changes or compatibility notes. ⚠️

🎨 3. Code Style​

Please follow these conventions:

  • PSR-12 coding standard. 🎯

  • Declare strict types in PHP files:

    declare(strict_types=1);
  • Add docblocks for all public methods and complex logic. πŸ“„

  • Run and fix issues with:

    composer fix

βœ… 4. Running Tests​

We use PHPUnit to ensure quality. To run the full test suite:

composer install
vendor/bin/phpunit --testsuite=unit
vendor/bin/phpunit --testsuite=integration
  • Ensure both main and tenant logic are covered by tests. πŸ›‘οΈ
  • Add new tests for any bug fixes or features. πŸ§ͺ
  • CI will run tests automatically on PRs. βš™οΈ

We appreciate every contributionβ€”big or small. By following these guidelines, you help keep the project maintainable and high-quality. Happy coding! πŸš€