Overview
Lunar is an open source project, and so by its very nature, welcomes contributions. You can contribute to the project in many different ways. Reporting bugs, fixing bugs, helping with the documentation, making suggestions and submitting improvements to the software.Monorepo
Lunar uses a monorepo lunarphp/lunar approach to maintaining its codebase. Monorepos are quite common, but may not be familiar to some. The monorepo helps us to organise the code for ease of development.Contributing Code
The basic process for contributing to Lunar is as follows…- Fork the monorepo
 - Clone your fork locally
 - Make your changes
 - Ensure the tests run and complete successfully
 - Submit a pull request
 
Here’s a guide on how to set-up your development environment ready for contributing to Lunar.
Setting Up Lunar For Local Development
Found a Bug?
If you find a bug in the software please raise a GitHub Issue on the lunarphp/lunar repository. Please ensure that your issue includes the following: Minimum- Clear title and description of the issue
 - Steps on how to reproduce the issue
 
- An accompanying Pull Request with a test to demonstrate the issue.
 
Proposing a Feature
Before you start coding away on the next awesome feature, we highly recommend starting a discussion to check that your contribution will be welcomed. We would hate for you to spend valuable time on something that won’t be merged into Lunar. However, you’re more than welcome to code away on your idea if you think it will help the discussion.Making a Pull Request
When making a pull request, there should be a suitable template for you to follow to ensure the bug or feature can be reviewed in a timely manner. If the pull request is missing information or unclear as to what it offers or solves, it could any delay movement or be closed. A PR should be able to include the following:- The title should be relevant and quickly explain what to expect inside
 - A clear description of the feature or fix
 - References to any issues the PR resolves
 - Label as either a 
bug,enhancement,featureordocumentation - Any relevant documentation updates
 - Automated tests with adequate code coverage