Hi there! Thank you for wanting to contribute to Vocode! We're an open source project and are extremely open to contributions like new features,integrations, or documentation.
To contribute, please "fork and pull request".
This project uses Poetry as a dependency manager. Check out Poetry's documentation on how to install it on your system before proceeding.
To install requirements:
poetry install
Install pre-commit
to run linting before pushing, e.g. with Homebrew:
brew install pre-commit
poetry run pre-commit install
Our issues page has all of the bugs and enhancements that we want to implement. We have labels that split them into the following categories:
- enhancements: improvements to existing features or altogether new features
- bugs: identified issues that need fixing
If you are working on an issue, please assign to yourself! And please keep issues as modular/focused as possible.
We've marked the issues that we would love folks to work on first with 'good first issue' - see here for all such issues.
We are in the process of making it as easy as possible to contribute but we completely understand if you run into issues.
Please contact us if you need help! We'd love to help + improve the process so that others don't run into similar issues. Come find us on Discord!
We're working on our linting/documentation standards – and will have updates soon. We don't want that to get in your way at all.
We release updates to Vocode on a daily basis published to PyPI.
If you submit a PR, we'd love to feature your contribution on Twitter so please include your handle in your PR/otherwise!
We use black
for linting. If you're using VSCode, code should auto-format automatically. Otherwise, run the following script before pushing:
make lint_diff
We use mypy
for typechecking. Full correctness in vocode/
is required for merging a PR. Run the following script to run this locally:
make typecheck # or make typecheck_diff
We use pytest
for tests under the tests
directory. Run tests via:
make test
We use Mintlify for docs, which are found in the docs
directory. See the README for how to update.