We're excited that you're interested in contributing to ZenPipe PHP, a simple, fluent pipeline implementation for PHP. This document outlines the process for contributing to our project. By participating in this project, you agree to abide by our Code of Conduct.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/dynamik-dev/zenpipe-php.git
- Install dependencies:
composer install
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
- Make your changes in your feature branch.
- Add or update tests as necessary.
- Ensure all tests pass by running:
composer test
- Update documentation if required.
- Commit your changes using a descriptive commit message.
We use several tools to maintain code quality and consistency:
-
Laravel Pint: For code style formatting
- To fix code style issues:
composer lint:fix
- To check code style without making changes:
composer lint:check
- To fix code style issues:
-
PHPStan: For static analysis
- To run PHPStan:
composer phpstan
- For CI environments:
composer phpstan:ci
- To run PHPStan:
-
Pest PHP: For testing
- To run tests:
composer test
- To run tests:
Please ensure your code passes all these checks before submitting a pull request.
- Push your changes to your fork on GitHub.
- Open a pull request from your feature branch to the main repository's
main
branch. - Provide a clear description of the changes in your pull request.
- Link any relevant issues in the pull request description.
- Follow the existing code style in the project, which is enforced by Laravel Pint.
- Use meaningful variable and function names.
- Comment your code when necessary.
- Ensure your code is compatible with the project's PHP version requirements.
- Use the GitHub Issues page to report bugs.
- Describe the bug in detail, including steps to reproduce.
- Include information about your environment (PHP version, OS, etc.) if relevant.
- Use the GitHub Issues page to suggest new features.
- Clearly describe the feature and its potential benefits.
- Be open to discussion and feedback from maintainers and other contributors.
The project uses PSR-4 autoloading:
- Main code should be placed in the
src/
directory. - Tests should be placed in the
tests/
directory. - Helper functions are located in
src/helpers.php
.
If you have any questions about contributing, feel free to open an issue for discussion or contact the project maintainer, Chris Arter, at chris@arter.dev.
Thank you for contributing to ZenPipe PHP!