Contribution Guide
As you will see our contribution guide is derived from Laravel's, since we meet in principles.
Bug Reports
To encourage active collaboration, Lucid Architecture 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 or steps to reproduce the bug.
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.
The Lucid Architecture source code is managed on GitHub, and there are repositories for each of the Lucid Architecture projects:
Support Questions
Lucid Architecture's GitHub issue trackers are not intended to provide help or support. Instead, use one of the following channels:
Official Slack workspace in the
#support
channel
Core Development Discussion
You may propose new features or improvements of existing Lucid Architecture behaviour in the Lucid Ideas issue board. If you propose a new feature, please be willing to implement at least some of the code that would be needed to complete the feature.
Informal discussion regarding bugs, new features, and implementation of existing features takes place in the #internals
channel in the Lucid Slack workspace. Abed Halawi, the maintainer of Lucid, is typically present in the channel on weekdays from 8am-5pm EEST (Eastern European Summer Time), and sporadically present in the channel at other times.
Which Branch?
All repositories follow Laravel's versioning in branching, where installing the branch 5.5
in any of the repositories will install Lucid with Laravel v5.5. The main repositories are the following:
Main: Laravel (monolith) and Microservice are the main repos that you usually clone
Foundation: Has the extendable components of Lucid such as Feature, Job etc.
Console: contains the Console companion, the CLI and the dashboard
Compiled Assets
If you are submitting a change that will affect a compiled file, such as most of the files in resources/sass
or resources/js
of the lucid-architecture/laravel
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 Lucid Architecture. In order to defensively prevent this, all compiled files will be generated and committed by Lucid maintainers.
Security Vulnerabilities
If you discover a security vulnerability within Lucid, please send an email to Abed Halawi at halawi.abed@gmail.com. All security vulnerabilities will be promptly addressed.
Coding Style
Lucid Architecture follows the PSR-2 coding standard and the PSR-4 autoloading standard.
PHPDoc
Below is an example of a valid Lucid Architecture documentation block. Note that the @param
attribute is followed by two spaces, the argument type, two more spaces, and finally the variable name:
Code of Conduct
The Lucid Architecture code of conduct is derived from the Laravel code of conduct. Any violations of the code of conduct may be reported to Abed Halawi (halawi.abed@gmail.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.
Behaviour that can be reasonably considered harassment will not be tolerated.
Last updated