Thank you for considering contributing to the Cerberus IAM Laravel Bridge. This document outlines the process and guidelines for contributing.
We are committed to providing a welcoming and inclusive environment. Please be respectful and professional in all interactions.
Before creating bug reports, please check existing issues to avoid duplicates. When creating a bug report, include:
- A clear and descriptive title
- Steps to reproduce the behavior
- Expected vs. actual behavior
- Your environment (Laravel version, PHP version, package version)
- Any relevant error messages or logs
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, include:
- A clear and descriptive title
- Detailed description of the proposed functionality
- Use cases and rationale
- Potential implementation approach (if applicable)
- Fork the repository and create your branch from
main - Follow the existing code style and conventions
- Write or update tests as needed
- Ensure the test suite passes
- Update documentation for any changed functionality
- Reference any related issues in your PR description
-
Clone your fork:
git clone https://github.com/your-username/laravel-iam.git cd laravel-iam -
Install dependencies:
composer install
-
Run tests:
vendor/bin/pest
- Follow PSR-12 coding standards
- Use meaningful variable and method names
- Add PHPDoc blocks for classes and public methods
- Keep methods focused and concise
- Write tests for new functionality
- All new features must include tests
- Bug fixes should include regression tests
- Ensure all tests pass before submitting a PR
- Aim for high code coverage on new code
- Use clear and descriptive commit messages
- Follow conventional commits format when possible
- Reference issue numbers when applicable
Example:
feat: add support for token refresh middleware
Add middleware to automatically refresh expired access tokens
before they are used in API requests.
Closes #123
- Update the README.md if you change functionality
- Add or update PHPDoc blocks for new/changed code
- Update CHANGELOG.md following Keep a Changelog format
- Add usage examples for new features
Maintainers will handle releases following semantic versioning:
- MAJOR version for incompatible API changes
- MINOR version for backwards-compatible functionality additions
- PATCH version for backwards-compatible bug fixes
Feel free to open an issue for questions or reach out to the maintainers.
By contributing, you agree that your contributions will be licensed under the MIT License.