How can I help make Open Voice OS better?

OpenVoiceOS is an open-source voice assistant platform powered by a passionate community of developers, translators, testers, and advocates. Whether you're skilled in coding, translation, testing, documentation, or simply spreading the word, your contributions are vital to our mission of creating a customizable, privacy-focused, and inclusive voice assistant. We're also grateful for financial donations, which help sustain the project's growth and innovation. No matter how you choose to contribute, your involvement helps make OpenVoiceOS a powerful, adaptable, and accessible tool for users around the world.

Coding

OpenVoiceOS, is always actively seeking contributions from developers across its entire framework. Whether you're skilled in front-end interfaces, backend services, machine learning, or voice recognition, your expertise can help advance this community-driven project. Developers can contribute by improving existing features, fixing bugs, or optimizing performance, ensuring the platform remains robust, user-friendly, and accessible to a broader audience.

Learn More

Building a Skill and/or Plugin

We welcome developers who can create skills and plugins to help expand its functionality and versatility. By contributing your creativity with coding new skills, enhance existing ones, or develop new plugins that integrate seamlessly with the platform we enrich the user experience and offer more personalized and diverse interactions.

Learn More

Helping with Translation

OpenVoiceOS is committed to ensuring that no language is left behind and is seeking help from translators around the globe to make this vision a reality. As an open-source voice assistant platform, OpenVoiceOS aims to be accessible to users around the world, regardless of their native language.

Learn More

Documentation

OpenVoiceOS is seeking contributors to help enhance both user and developer documentation, a critical aspect of making the platform accessible and easy to use. Clear, comprehensive documentation is essential for guiding users through the setup and operation of the voice assistant, as well as for assisting developers in creating new features, skills, and plugins. Whether you're skilled in writing, technical communication, or have a deep understanding of OpenVoiceOS, your contributions can ensure that documentation is thorough, up-to-date, and user-friendly.

Learn More

Sharing is Caring

We are looking for passionate advocates to help spread the word. By raising awareness through social media, blogs, community forums, and other channels, you can play a crucial role in growing the OpenVoiceOS community. Whether you enjoy creating content, engaging with tech enthusiasts, or networking within developer circles, your efforts can help attract more users and contributors to the project.

Learn More

Donating

OpenVoiceOS welcomes support in the form of donations to help sustain and grow its open-source voice assistant platform. Donations play a vital role in covering essential expenses, such as server costs, development tools, and other resources that keep the project running smoothly. By contributing financially, you can directly impact the platform's ability to innovate, improve, and remain accessible to everyone. Whether it's a one-time donation or ongoing support, every contribution helps ensure that OpenVoiceOS continues to thrive as a community-driven project.

Learn More

Pull Request Review Process

OpenVoiceOS is made up of many smaller projects across multiple GitHub repositories that together power the amazing voice assistant we all know and love.

We're thrilled you're interested in contributing to OpenVoiceOS! This guide will walk you through our Pull Request (PR) process, highlighting how we leverage automation and encourage early collaboration. Our goal is to make contributing as easy and collaborative as possible, so don't worry about perfection!

TL;DR

  • • Use Conventional Commits
  • • Open draft PRs early, mark as "Ready for Review" when you're ready
  • • CodeRabbit bot helps automate feedback
  • • Everyone is welcome to review PRs, not just maintainers!
  • • PRs are squash-merged to keep history clean
  • • Don't worry about perfection, we'll help you get it right!

Who is responsible for reviewing PRs?

OpenVoiceOS is an open source project. Most of everything happening in our project is done by volunteers. We have a core team of developers that are responsible for the overall architecture of OpenVoiceOS, and they are responsible for merging PRs (also volunteers). However, they are not the only ones reviewing PRs.

Everyone is welcome to review PRs, and we encourage you to jump in!

So, when you have opened a PR, please consider checking out if there is an open PR you can help out with. Any review comment, improvement suggestion, or even just a "I tested this using ... and it works" is very much appreciated. Besides, reviewing others' code is a great way to learn more about OpenVoiceOS.

Conventional Commits

We use Conventional Commits to help our bots process and categorize changes. Don't stress if you're not an expert; it's mostly about clear, concise commit messages. For example:

  • feat: add new voice command for weather
  • fix: resolve issue with audio playback on startup
  • docs: update installation instructions

Creating and Managing Your PR

We encourage you to open PRs early and often, even if your code isn't perfect or fully functional. This allows our bots and maintainers to provide feedback and guidance throughout your development process.

Our Code RabbitAI Bot:

Once you open a PR, our Code RabbitAI bot will automatically review your code. This bot helps with initial checks, style suggestions, and identifying potential issues, speeding up the review process.

  • Draft PRs: If you're actively implementing changes and want to avoid the bot "annoying" you with reviews on every commit, simply mark your PR as a Draft.
  • Ready for Review: When you're ready for another round of feedback from the bot and maintainers, mark your PR as Ready for Review. The bot will then re-engage and provide its insights.

Commit History:

Don't obsess over a pristine commit history within your PR. All PRs will be squashed on merge to dev, meaning your individual commits will be condensed into a single commit when integrated into the main development branch. This keeps our dev branch history clean and easy to navigate. The commit on the dev branch will also link directly to your original PR, making it easy to reference at any point.

Code Style:

Don't stress about strict code style adherence. Just use common sense and try to stick to the surrounding code's style. While we loosely follow PEP8, we consider code style largely the job of our bots and CI. We're thankful for your collaboration and want to make it as easy as possible for you to get started, without annoying you with nitpicks.

Feedback and Iteration:

The Code RabbitAI bot and our maintainers will provide feedback directly on your PR. Remember, these comments are not personal; they're meant to help you improve your contribution. Don't hesitate to ask questions or seek clarification.

What to Expect After Opening a PR

  • Initial Bot Review: The Code RabbitAI bot will provide an initial automated review, offering suggestions and pointing out any immediate concerns.
  • Maintainer Review: Our maintainers will review your PR, providing more in-depth feedback on design, functionality, and adherence to OpenVoiceOS principles.
  • Iteration: You'll likely go through a few rounds of revisions based on the feedback you receive. Use the Draft PR feature to manage this process effectively.
  • Merging: Once your PR meets our standards and passes all checks, a maintainer will merge it into the dev branch.
  • If a PR isn't merged: If for any reason we decide not to merge a PR, please don't take it personally. We'll most likely offer a way to add any missing functionality via a standalone plugin you can maintain independently. Just talk to us!

Don't Worry About Perfection!

If any of the above seems too complex, don't worry! Our Code RabbitAI bot and our maintainers are here to help. If your commits aren't perfectly conventional or your PR needs some refinement, a maintainer or bot will fix it for you or guide you on how to make the necessary adjustments.

We're excited to see your contributions to OpenVoiceOS!