Leemons is an open-source project administered by the Leemons team. We appreciate your interest and efforts to contribute to Leemons.
All efforts to contribute are highly appreciated, we recommend you talk to a maintainer prior to spending a lot of time making a pull request that may not align with the project roadmap.
Leemons is an open-source project. See the LICENSE file for licensing information. All the work done is available on GitHub.
The core team and the contributors send pull requests which go through the same validation process.
This project and everyone participating in it are governed by the Leemons Code of Conduct. By participating, you are expected to uphold this code. Please read the full text so that you can read which actions may or may not be tolerated.
Pull requests relating to fixing documentation for the latest release should be directed towards the documentation repo. Please see the documentation contributing guide for more information on how to make the documentation pull request.
We are using GitHub Issues to manage our public bugs. We keep a close eye on this so before filing a new issue, try to make sure the problem does not already exist.
The core team will review your pull request and will either merge it, request changes to it, or close it.
Before submitting your pull request make sure the following requirements are fulfilled:
- Fork the repository and create your branch from
main
. - Run
yarn
in the repository root. - If you’ve fixed a bug or added code that should be tested, add the tests and then link the corresponding issue in either your commit or your PR!
- Make sure your code lints (
yarn lint
).
For users running on Apple Silicon M1, you may encounter errors thrown by sharp
. You may need to re-install libvps
or to build sharp
manually following this issue comment in order to start the project.
To facilitate the contribution, we have drastically reduced the amount of commands necessary to install the entire development environment.
Then, please follow the instructions below:
1. Fork the repository
Go to the repository and fork it to your own GitHub account.
git clone git@github.com:YOUR_USERNAME/leemons.git
Go to the root of the repository.
cd leemons && yarn
To start a test example application to test your changes quickly and also for the next step.
cd leemons/examples/demo && yarn dev
Read the demo
application README here for more details.
Awesome! You are now able to contribute to Leemons.
yarn
installs the dependencies.yarn dev
starts yarn watch in all packages.yarn start
starts yarn watch in all packages.yarn front
starts yarn watch in all frontend packages.yarn lint
lints the codebase.
We chose to use a monorepo design that exploits Yarn Workspaces in the way React or Babel does. This allows the community to easily maintain the whole ecosystem, keep it up-to-date and consistent.
We do our best to keep the main branch as clean as possible, with tests passing at all times. However, it may happen that the main branch moves faster than the release cycle. Therefore check the releases on npm so that you're always up-to-date with the latest stable version.
Before submitting an issue you need to make sure:
- You are experiencing a concrete technical issue with Leemons.
- You have already searched for related issues, and found none open (if you found a related closed issue, please link to it from your post).
- You are not asking a question about how to use Leemons or about whether or not Leemons has a certain feature. For general help using Leemons, you may:
- Refer to the official Leemons documentation.
- Your issue title is concise, on-topic and polite.
- You can and do provide steps to reproduce your issue.
- You have tried all the following (if relevant) and your issue remains:
- Make sure you have the right application started.
- Make sure the issue template is respected.
- Make sure your issue body is readable and well formatted.
- Make sure you've killed the Leemons server with CTRL+C and started it again.
- Make sure the application you are using to reproduce the issue has a clean
node_modules
directory, meaning:- no dependencies are linked (e.g. you haven't run
yarn link
nornpm link
) - that you haven't made any inline changes to files in the
node_modules
folder - that you don't have any weird global dependency loops. The easiest way to double-check any of the above, if you aren't sure, is to run:
$ rm -rf node_modules && yarn cache clear && yarn install
.
- no dependencies are linked (e.g. you haven't run