Welcome to the 👟!
This repository is governed by the Contributor Covenant Code of Conduct.
We welcome everyone who likes to contribute to 👟.
You can contribute not only with code but with bug reports, comments, questions, answers, or just a simple tweet to spread the word.
If you like to contribute code, squash a bug but if you don't know where to start, here are some pointers.
-
This is a place to find feature requests, bugs.
Issues with the
good first issue
tag are good place for beginners to take on. -
✨PR✨ pages with the
🚀new version
tag.We list all the target improvements for the next version. You can pick one of them and start contributing.
-
Also feel free to suggest new features. We're always open for new things.
If you have a new feature or a bug to squash, go ahead and send a ✨PR✨. Please use the following steps for a ✨PR✨. Let us know if you encounter a problem along the way.
The following steps are tested on an Ubuntu system and require uv for virtual environment management. Choose your preferred installation method, e.g. the standalone installer:
curl -LsSf https://astral.sh/uv/install.sh | sh
-
Fork 👟[https://github.com/idiap/coqui-ai-Trainer] by clicking the fork button at the top right corner of the project page.
-
Clone 👟 and add the main repo as a new remote named
upsteam
.git clone git@github.com:<your Github name>/coqui-ai-Trainer.git cd coqui-ai-Trainer git remote add upstream https://github.com/idiap/coqui-ai-Trainer.git
-
Install 👟 for development.
make install
-
Create a new branch with an informative name for your goal.
git checkout -b an_informative_name_for_my_branch
-
Implement your changes on your new branch.
-
Explain your code using Google Style docstrings.
-
Add your tests to our test suite under
tests
folder. It is important to show that your code works, edge cases are considered, and inform others about the intended use. -
Run the tests to see how your updates work with the rest of the project. You can repeat this step multiple times as you implement your changes to make sure you are on the right direction.
make test # stop at the first error make test_all # run all the tests, report all the errors
-
Format your code. We use
ruff
for code formatting.make style
-
Run the linter and correct the issues raised. We use
ruff
for linting. It helps to enforce a coding standard, offers simple refactoring suggestions. The formatter and linter are also run automatically via pre-commit.make lint
-
When things are good, add new files and commit your changes.
git add my_file1.py my_file2.py ... git commit
It's a good practice to regularly sync your local copy of the project with the upstream code to keep up with the recent updates.
git fetch upstream git rebase upstream/main
-
Send a PR to
main
branch.Push your branch to your fork.
git push -u origin an_informative_name_for_my_branch
Then go to your fork's Github page and click on 'Pull request' to send your ✨PR✨.
-
Let's discuss until it is perfect. 💪
We might ask you for certain changes that would appear in the ✨PR✨'s page under 👟[https://github.com/idiap/coqui-ai-Trainer/pulls].
-
Once things look perfect, We merge it to the
main
branch and make it ready for the next version.
Feel free to ping us at any step you need help using our communication channels.
If you are new to Github or open-source contribution, These are good resources.