Contributing
Contributions are welcome and will be fully credited.
We accept contributions via Pull Requests on GitHub.
Pull Requests
-
PSR-2 Coding Standard - The easiest way to apply the conventions is to install PHP Code Sniffer.
-
Document any change in behaviour - Make sure the
README.mdand any other relevant documentation are kept up-to-date. -
Consider our release cycle - We try to follow SemVer v2.0.0. Randomly breaking public APIs is not an option.
-
Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.
-
Run tests - Ensure all tests pass before submitting a pull request.
./vendor/bin/phpunit
- Type check - Run static analysis to catch type errors:
./vendor/bin/phpstan analyse
Coding Standards
This project uses Pint for code style enforcement:
./vendor/bin/pint
Commit Messages
This project follows the Conventional Commits specification. All commit messages must follow this format:
<type>: <description>
Allowed types:
| Type | Description |
|---|---|
feat |
A new feature |
fix |
A bug fix |
docs |
Documentation only changes |
refactor |
Code change that neither fixes a bug nor adds a feature |
test |
Adding or correcting tests |
chore |
Maintenance tasks (dependencies, config, etc.) |
Examples:
feat: add support for custom created by columnfix: resolve attribute casting issuedocs: update README with new examplesrefactor: extract auditor service classtest: add unit tests for auditable traitchore: update dependencies
Note: Pull requests with non-conventional commit messages may be rejected. Please ensure your commits follow this format before submitting.
Bug Reports
When filing a bug report, please include:
- A clear description of the problem
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Laravel and PHP versions
- Any relevant error messages or stack traces
Feature Requests
Feature requests are welcome. Please describe:
- The problem you're trying to solve
- How you envision the solution
- Any alternative solutions you've considered
Happy coding!