Thank you for considering contributing to Rule Engine! This document outlines the guidelines for contributing to this project.
By participating in this project, you agree to abide by its Code of Conduct.
- PHP 8.1 or higher
- Composer
- Git
- Fork the repository
- Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/rule-engine.git cd rule-engine - Install dependencies:
composer install
- Create a branch for your changes:
git checkout -b feature/your-feature-name
Before submitting your changes, make sure all tests pass:
composer testThis project follows the CodeIgniter coding standards. You can check your code with:
composer csAnd automatically fix style issues with:
composer cs-fixRun static analysis tools to catch potential issues:
composer analyze- Update the README.md and documentation with details of changes if applicable
- Run all tests and ensure they pass
- Update the CHANGELOG.md with details of changes
- Submit a pull request to the
developbranch
- Fill in the required pull request template
- Include tests for new features or bug fixes
- Keep pull requests focused on a single topic
- Document any new public methods or classes
- Follow the project's code style
When reporting issues, please include:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Your environment details (PHP version, CodeIgniter version, etc.)
- Any relevant logs or screenshots
Feature requests are welcome. Please provide:
- A clear description of the feature
- The motivation behind the feature
- How it would benefit the project
- Any implementation ideas you have
If you discover a security vulnerability, please send an email to maniaba@outlook.com instead of using the issue tracker. All security vulnerabilities will be promptly addressed.
- Follow PSR-12 coding standards
- Write clear, readable, and well-documented code
- Use type hints and return type declarations
- Write unit tests for new functionality
- Keep documentation up-to-date with code changes
- Use clear and concise language
- Include examples where appropriate
- The maintainers will decide when to release a new version
- Versions follow Semantic Versioning
- Each release will be tagged and available on GitHub and Packagist
By contributing to Rule Engine, you agree that your contributions will be licensed under the project's MIT License.
If you have any questions, feel free to open an issue or contact the maintainers.
Thank you for contributing to Rule Engine!