lila/CONTRIBUTING.md

31 lines
2.8 KiB
Markdown

# Contributing
## I want to contribute code to Lichess
- [Set up your development environment](https://github.com/ornicar/lila/wiki/Lichess-Development-Onboarding).
- [Pick a GitHub issue to work on](https://github.com/ornicar/lila/issues). The [good first issue](https://github.com/ornicar/lila/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) and [no scala](https://github.com/ornicar/lila/issues?q=is%3Aissue+is%3Aopen+label%3A%22no+scala%22) tags might be useful.
- Communicate with other devs on [Discord](https://discord.gg/lichess).
## I want to report a bug or a problem about Lichess
[**Make an issue**](https://github.com/ornicar/lila/issues/new). However, note that issues that provide little value compared to the required effort may be closed. Before creating an issue, make sure that:
1. 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.
2. Search to make sure it isn't a duplicate. [The advanced search syntax](https://help.github.com/articles/searching-issues/) may come in handy.
3. It is not a trivial problem or demand unrealistic dev time to fix.
Report mobile-only bugs to [Lichess mobile](https://github.com/veloce/lichobile/).
## I want to suggest a feature for Lichess
Issue tickets on features that lack potential or effectiveness are not useful and may be closed. Discussions regarding whether a proposed new feature would be useful can be done on the [Lichess Feedback Forum](https://lichess.org/forum/lichess-feedback) to gauge feedback. The developers may also discuss the idea there, and if it is exemplary, a corresponding issue ticket will be made. **When you're ready, [make an issue ticket](https://github.com/ornicar/lila/issues/new)** and link relevant, constructive comments regarding it in your issue ticket (such as a detailed Reddit post; linking to an empty forum thread with only your own commentary adds no value). Make sure that the feature you propose:
1. Is **effective in delivering a goal**. A feature that adds nothing new is purely fancy; please develop a userscript or userstyle for your personal use instead.
2. Doesn't rely on mundane assumptions. Non-technical people have the tendency to measure how difficult / easy a feature is to implement based on their unreliable instincts, and such assumptions wastes everyone's time. **Point out what needs to happen**, not what you think will happen.
3. Is **unique, if you're aiming to solve a problem**. Features that can easily be replaced by easier ideas have little value and may not have to be brought up to begin with.
4. Is **clear and concise**. If ambiguities exist, define them or propose options.
## I want to help translating Lichess
Check out [Lichess on crowdin.com](https://crowdin.com/project/lichess).