# Contributing ## I want to contribute code - [Set up your development environment](https://github.com/GuillaumeSD/Chesskit?tab=readme-ov-file#running-the-app-in-dev-mode). - Communicate with contributors on [Discord](https://discord.com/invite/Yr99abAcUr). - [Pick a backlog card to work on](https://chesskit.notion.site/4cf7823836724432b71aa8932ba7d5bb). To get started, it is recommended you pick a card with the `good first issue` tag. - Before starting to code, you should engage in conversation with contributors on [Discord](https://discord.com/invite/Yr99abAcUr) to ensure that the card is still relevant and get help or additional context if needed. ## I want to contribute artwork/design Reach out to contributors on [Discord](https://discord.com/invite/Yr99abAcUr) to discuss what you want to contribute. You can also check the [backlog](https://chesskit.notion.site/4cf7823836724432b71aa8932ba7d5bb) for cards related to design. ## I want to report a bug or a problem [**Make an issue**](https://github.com/GuillaumeSD/Chesskit/issues/new). 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. You provide a clear description of the problem, including any error messages or unexpected behavior. 3. You include relevant information such as your operating system, browser version, and any other details that may help in diagnosing the issue. 4. Search to make sure it isn't a duplicate. ## I want to suggest a feature Discussions regarding whether a proposed new feature would be useful should be done on [Discord](https://discord.com/invite/Yr99abAcUr). Make sure that the feature you propose: 1. Is **effective in delivering a goal**. A feature that adds nothing new or improves nothing is purely fancy. 2. Is **clear and concise**. If ambiguities exist, define them or propose options. 3. Is **not a duplicate**. Check the [backlog](https://chesskit.notion.site/4cf7823836724432b71aa8932ba7d5bb) to see if the feature is already planned or in progress. 4. 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 waste everyone's time. **Point out what needs to happen**, not what you think will happen.