Thanks for your interest in contributing! This project was built to help others run LiveKit voice agents locally, and contributions are welcome.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/livekit-local-plugins.git cd livekit-local-plugins - Install uv if you haven't:
curl -LsSf https://astral.sh/uv/install.sh | sh - Install dependencies:
uv sync --all-extras
All commands should be run through uv run to use the project's virtual environment:
# Run the example agent
uv run examples/voice_agent.py dev
# Run linter
uv run ruff check src/
# Run type checker
uv run mypy src/
# Run tests
uv run pytest
# Format code
uv run ruff format src/# Add a runtime dependency
uv add package-name
# Add a dev dependency
uv add --dev package-name- Use Ruff for linting and formatting
- Follow PEP 8 conventions
- Add type hints to all function signatures
- Write docstrings for all public classes and functions
Before submitting a PR, ensure:
uv run ruff check src/ # No linting errors
uv run ruff format src/ # Code is formatted
uv run mypy src/ # No type errors- Use clear, descriptive commit messages
- Start with a verb: "Add", "Fix", "Update", "Remove"
- Reference issues when applicable: "Fix #123: ..."
- Additional STT plugins (e.g., Vosk, SpeechRecognition)
- Additional TTS plugins (e.g., Coqui, Bark)
- Performance optimizations
- Documentation improvements
- Bug fixes
Please open an issue first to discuss:
- Major architectural changes
- New plugin implementations
- Changes to the public API
Feel free to open an issue for questions or join the discussion on GitHub.
By contributing, you agree that your contributions will be licensed under the MIT License.