This guide covers building Voice Mode for local development and testing.
- Python >= 3.10
- uv installed
Note: Development builds temporarily modify the version file, but make build-dev automatically restores it.
Use the make build-dev command for automatic versioning:
# Automatically appends .dev + timestamp to current version
make build-devThis creates a unique development version like 2.4.2.dev20240627123456.
The command safely handles version updates with automatic rollback on errors.
If you prefer to set a specific dev version:
# Edit voice_mode/__version__.py
__version__ = "2.4.2.dev0" # Example dev version
# Then build
uv buildThis creates wheel and source distributions in the dist/ directory:
dist/voice_mode-2.4.2.dev0-py3-none-any.whldist/voice_mode-2.4.2.dev0.tar.gz
# Install the wheel directly
pip install /path/to/voicemode/dist/voice_mode-2.4.2.dev0-py3-none-any.whl
# Or with uv
uv pip install /path/to/voicemode/dist/voice_mode-2.4.2.dev0-py3-none-any.whlFor testing with Claude Code or other MCP clients:
{
"mcpServers": {
"voice-mode-dev": {
"command": "python",
"args": ["-m", "voice_mode"],
"env": {
"PYTHONPATH": "/path/to/voicemode",
"OPENAI_API_KEY": "your-key"
}
}
}
}- Use
.devNsuffix:2.4.2.dev0,2.4.2.dev1, etc. - These won't be published to PyPI by CI/CD
- Increment the dev number for each test build
- Use semantic versioning:
2.4.2,2.5.0, etc. - Only create release versions when ready to publish
- Use
make releasefor official releases
- Create a test environment:
uv venv test-env
source test-env/bin/activate # On Windows: test-env\Scripts\activate- Install your build:
uv pip install dist/voice_mode-*.whl- Test the installation:
python -m voice_mode --help- Ensure you're in the project root directory
- Check that
pyproject.tomlis valid - Run
uv syncto ensure dependencies are installed
- Verify the wheel installed correctly:
pip show voice-mode - Check Python path:
python -c "import voice_mode; print(voice_mode.__file__)"
- Uninstall existing versions:
pip uninstall voice-mode - Use virtual environments to isolate installations