Contribution Guide
To encourage active collaboration, Laravel strongly encourages pull requests, not just bug reports. “Bug reports” may also be sent in the form of a pull request containing a failing test. Pull requests will only be reviewed when marked as “ready for review” (not in the “draft” state) and all tests for new features are passing. Lingering, non-active pull requests left in the “draft” state will be closed after a few days.
However, if you file a bug report, your issue should contain a title and a clear description of the issue. You should also include as much relevant information as possible and a code sample that demonstrates the issue. The goal of a bug report is to make it easy for yourself - and others - to replicate the bug and develop a fix.
Remember, bug reports are created in the hope that others with the same problem will be able to collaborate with you on solving it. Do not expect that the bug report will automatically see any activity or that others will jump to fix it. Creating a bug report serves to help yourself and others start on the path of fixing the problem. If you want to chip in, you can help out by fixing . You must be authenticated with GitHub to view all of Laravel’s issues.
The Laravel source code is managed on GitHub, and there are repositories for each of the Laravel projects:
- Laravel Application
- Laravel Documentation
- Laravel Cashier Stripe
- Laravel Echo
- Laravel Framework
- Laravel Homestead Build Scripts
- Laravel Jetstream
- Laravel Sanctum
- Laravel Socialite
- Laravel Website
Support Questions
Laravel’s GitHub issue trackers are not intended to provide Laravel help or support. Instead, use one of the following channels:
Informal discussion regarding bugs, new features, and implementation of existing features takes place in the channel of the . Taylor Otwell, the maintainer of Laravel, is typically present in the channel on weekdays from 8am-5pm (UTC-06:00 or America/Chicago), and sporadically present in the channel at other times.
Which Branch?
All bug fixes should be sent to the latest stable branch or to the current LTS branch. Bug fixes should never be sent to the master
branch unless they fix features that exist only in the upcoming release.
Minor features that are fully backward compatible with the current release may be sent to the latest stable branch.
Major new features should always be sent to the branch, which contains the upcoming release.
If you are unsure if your feature qualifies as a major or minor, please ask Taylor Otwell in the #internals
channel of the .
If you are submitting a change that will affect a compiled file, such as most of the files in or resources/js
of the repository, do not commit the compiled files. Due to their large size, they cannot realistically be reviewed by a maintainer. This could be exploited as a way to inject malicious code into Laravel. In order to defensively prevent this, all compiled files will be generated and committed by Laravel maintainers.
Security Vulnerabilities
Laravel follows the PSR-2 coding standard and the autoloading standard.
Below is an example of a valid Laravel documentation block. Note that the @param
attribute is followed by two spaces, the argument type, two more spaces, and finally the variable name:
StyleCI
Don’t worry if your code styling isn’t perfect! will automatically merge any style fixes into the Laravel repository after pull requests are merged. This allows us to focus on the content of the contribution and not the code style.
Code of Conduct
The Laravel code of conduct is derived from the Ruby code of conduct. Any violations of the code of conduct may be reported to Taylor Otwell (taylor@laravel.com):
- Participants will be tolerant of opposing views.
- Participants must ensure that their language and actions are free of personal attacks and disparaging personal remarks.
- When interpreting the words and actions of others, participants should always assume good intentions.