- Set up your development environment;
- Communicate with other devs on Discord.
- You may want to install a local instance of lila, see lila wiki for that;
- read the coding style guide
- don't edit manually the
app_en.arb
file! See about internationalization in the docs. - check the docs for more documentation
To find a task to work on, you can check the good first issue and help wanted labels on GitHub.
These tags are useful, but there are many other good issues that are not tagged with them, and you can also contribute by fixing bugs or adding features that are not listed in the issues. Note that new feature requests may be rejected if they don't fit the project's goals. It is best to discuss them with the maintainers before starting to work on them, either on Discord or by opening a discussion on GitHub.
Most appreciated contributions are those that:
- Fix bugs
- Add missing tests. Flutter widget tests are easy to write and very useful to
test the UI. They are reliable and fast. You can already find examples in the
test/
directory, but the project is still lacking a lot of tests.
We don't assign issues to contributors, so feel free to work on any issue you like, but check the existing pull requests to avoid duplicated work. Once you start working on an issue, submit a pull request as soon as possible (in draft mode if it's not ready yet) to let others know that you're working on it.
Make an issue. Before creating an issue, make sure that:
- You list the steps to reproduce the problem to show that other users may experience it as well, if the issue is not self-descriptive.
- Search to make sure it isn't a duplicate. The advanced search syntax may come in handy.
- It is not a trivial problem or demands unrealistic dev time to fix. Such issues may be closed.
- You're not posting a one liner such as "X feature is missing". It is useless, we already know exactly what features are missing. Feature request are allowed if you're suggesting a new idea, while explaining it in the most detailed and clear possible way.
- You provide device hardware and operating system information to help with the debug.
See that guide.
Check out Lichess on crowdin.com.
Also see https://lichess.org/help/contribute.