# Contributing to this project First off, thanks for taking the time to contribute! You are awesome! :tada::clap: ## Table Of Contents - [How to contribute](#how-to-contribute) - [Reporting Bugs](#reporting-bugs) - [Suggesting Enhancements](#suggesting-enhancements) - [Pull Requests](#pull-requests) - [Providing Translations](#providing-translations) ## How to contribute ### Reporting Bugs Before creating bug reports, please make sure there isn't already an existing issue describing your problem, for bugs are tracked as [GitHub issues](https://github.com/devmount/third-stats/issues). Simply create an issue and provide the necessary information by filling in [the bug-report template](https://github.com/devmount/third-stats/issues/new?template=bug_report.md). ### Suggesting Enhancements Enhancement suggestions are also tracked as [GitHub issues](https://github.com/devmount/third-stats/issues). Before creating enhancement suggestions, please check the existing issues as you might find out that you don't need to create one. When you are creating an enhancement suggestion, please include as many details as possible. Fill in [the feature-request template](https://github.com/devmount/third-stats/issues/new?template=feature_request.md), including the steps that you imagine you would take if the feature you're requesting existed. ### Provide Code via Pull Requests Simply fill in [the required template](PULL_REQUEST_TEMPLATE.md). Please do not include issue numbers in the PR title, but mention it in the PR body. #### Git Commit Messages - Use the present tense ("Add feature" not "Added feature") - Use the imperative mood ("Move cursor to..." not "Moves cursor to...") - Limit the first line to 72 characters or less - Start your commit messages with one of the following emojis: - ➕ `:heavy_plus_sign:` when adding a file or implementing a feature - 🔨 `:hammer:` when fixing a bug or issue - 💚 `:green_heart:` when improving code or comments - ⚡ `:zap:` when improving performance - 📜 `:scroll:` when updating docs or readme - 🔑 `:key:` when dealing with security - 🔁 `:repeat:` when updating dependencies or data - ✅ `:white_check_mark:` when releasing a new version - 👕 `:shirt:` when refactoring or removing linter warnings - ❌ `:x:` when removing code or files ### Providing Translations You can add a new translation or improve an existing one by taking the following steps: 1. Go to [Localazy](https://localazy.com) 2. Click *Sign in* (upper right) 3. Choose *Sign in with Github* (or another method you prefer) 4. Click *Authorize Localazy* 5. Open the [ThirdStats project](https://localazy.com/p/third-stats) 6. Choose a language and start translating. As this project is public, you don't need any authentification, just start to translate ThridStats. You'll be made a trusted translator later. If you run into any problems, leave a comment on [the corresponding issue #343](https://github.com/devmount/third-stats/issues/343) or start [a discussion thread](https://github.com/devmount/third-stats/discussions). ### Beta-Testing Testing and reporting bugs is a great way to help! Here's how: 1. Download the [latest nightly build from the ThirdStats CDN](https://third-stats.cdn.devmount.com/) (XPI file) 2. Start Thunderbird and install the XPI file by going to _Settings_ > _Add-ons and Themes_ > _Extensions_ > _Gear_ Button > _Install Add-on from file_ > Choose the downloaded XPI file 3. Now start using ThirdStats and check if... - ThirdStats logo appears in the menu and the popup shows all active accounts - add-on options page displays properly, alle options can be changed, options can be reset - stats page display properly, data is shown correctly, processing works, all filter work as expected If you run into any problems, leave a comment on [the corresponding issue #370](https://github.com/devmount/third-stats/issues/370) or start [a discussion thread](https://github.com/devmount/third-stats/discussions). Thanks a lot for your support 💚