Thank you for your interest in contributing to maatify/common — the core foundational library powering the entire Maatify ecosystem. Your contributions help improve code quality, reliability, and scalability across all Maatify projects.
Please adhere to the following conventions when contributing:
-
Follow PSR-12 coding standards.
-
Use strict typing in all PHP files:
declare(strict_types=1);
-
Include clear DocBlocks (
@param,@return,@throws, etc.) for every class, method, and property. -
Keep classes final unless inheritance is explicitly required.
-
All new features must include PHPUnit tests.
-
Run the test suite before submitting any PR:
vendor/bin/phpunit
-
Maintain ≥95% code coverage across the project.
- Every new class, trait, or module must be documented in
/docs/. - Add code examples inside fenced code blocks (
```php ... ```). - Update the relevant
README.phaseX.mdwhen completing a project phase. - Keep the root README.md in sync with new features.
All changes should be reflected in CHANGELOG.md under the “Unreleased” or corresponding version section. Example:
### Added
- New EnumHelper methods for enhanced enum management.Use clear, structured, and conventional commits:
| Type | Description | Example |
|---|---|---|
feat: |
New feature | feat: add EnumHelper for enum utilities |
fix: |
Bug fix | fix: correct regex in TextFormatter |
docs: |
Documentation changes | docs: update README with usage examples |
test: |
Test additions or modifications | test: add EnumHelper unit tests |
chore: |
Maintenance or release updates | chore(release): prepare v1.0.0 |
| Branch Type | Prefix Example |
|---|---|
| Feature | feature/enum-helper |
| Fix | fix/validator-email-check |
| Docs | docs/update-enums-readme |
| Release | release/v1.0.0 |
- Fork the repository and create your branch.
- Ensure your code passes all CI checks.
- Add or update tests and documentation as necessary.
- Update the
CHANGELOG.mdand increment the version if applicable. - Submit a Pull Request with a descriptive title and summary.
By contributing, you agree that your code will be licensed under the MIT license and attributed to Maatify.dev.
Mohamed Abdulalim — Backend Lead & Technical Architect
📧 mohamed@maatify.dev
🌐 https://www.maatify.dev
🚀 Together, we build consistency.
Every contribution makes the Maatify ecosystem stronger, cleaner, and smarter.