voice-mode-install


Namevoice-mode-install JSON
Version 6.0.5 PyPI version JSON
download
home_pageNone
SummaryInstaller for VoiceMode - handles system dependencies and installation
upload_time2025-10-26 23:13:47
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords installer mcp setup voice voicemode
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # voice-mode-install

A standalone installer package for VoiceMode that handles system dependency detection and installation.

## Overview

`voice-mode-install` simplifies the VoiceMode installation process by:

1. **Detecting your platform** - Identifies your OS, distribution, and architecture
2. **Checking dependencies** - Scans for required system packages
3. **Installing packages** - Uses your system's package manager (apt, dnf, brew)
4. **Installing VoiceMode** - Runs `uv tool install voice-mode`
5. **Hardware recommendations** - Suggests optimal configuration for your system
6. **Logging everything** - Saves installation logs for troubleshooting

## Quick Start

```bash
# Install and run
uvx voice-mode-install

# Dry run (see what would be installed)
uvx voice-mode-install --dry-run

# Install specific version
uvx voice-mode-install --voice-mode-version=5.1.3

# Skip service installation
uvx voice-mode-install --skip-services

# Non-interactive mode
uvx voice-mode-install --non-interactive
```

## Prerequisites

- **uv** - Required to run the installer (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
- **Python 3.10+** - Usually pre-installed on modern systems
- **sudo access** - Needed to install system packages (Linux)
- **Homebrew** (macOS) - The installer will offer to install it if missing

## Supported Platforms

- **macOS** - Intel and Apple Silicon (via Homebrew)
- **Ubuntu/Debian** - Using apt package manager
- **Fedora/RHEL** - Using dnf package manager

## Features

### Phase 1 (Included)

✅ **Dry-run Mode** - Preview what will be installed
✅ **Installation Logging** - Detailed logs saved to `~/.voicemode/install.log`
✅ **Shell Completion** - Auto-configures tab completion for bash/zsh
✅ **Health Check** - Verifies installation after completion
✅ **Version Pinning** - Install specific VoiceMode versions
✅ **Hardware Detection** - Recommends optimal setup for your system
✅ **Homebrew Auto-Install** - Offers to install Homebrew on macOS if missing

### Phase 2 (Future)

⏱️ Config Validation - Check for conflicting settings
⏱️ Uninstall Support - Clean removal of VoiceMode

## How It Works

1. **Platform Detection** - Identifies OS, distribution, and architecture
2. **Dependency Checking** - Compares installed packages against `dependencies.yaml`
3. **Package Manager Setup** (macOS only) - Checks for Homebrew and offers to install if missing
4. **Package Installation** - Uses platform-specific package managers:
   - macOS: `brew install` (installs Homebrew first if needed)
   - Ubuntu/Debian: `sudo apt install`
   - Fedora: `sudo dnf install`
5. **VoiceMode Installation** - Runs `uv tool install voice-mode[==version]`
6. **Post-Install** - Configures shell completion and verifies installation

## Installation Logs

Logs are saved to `~/.voicemode/install.log` in JSONL format:

```json
{"timestamp": "2025-10-12T10:30:00", "type": "start", "message": "Installation started"}
{"timestamp": "2025-10-12T10:30:15", "type": "check", "message": "Checked core dependencies"}
{"timestamp": "2025-10-12T10:30:45", "type": "install", "message": "Successfully installed system packages"}
{"timestamp": "2025-10-12T10:31:30", "type": "complete", "message": "Installation completed"}
```

## Troubleshooting

### VoiceMode command not found after installation

Restart your shell or run:
```bash
source ~/.bashrc  # or ~/.zshrc for zsh
```

### Permission denied during package installation

The installer needs sudo access to install system packages. Run:
```bash
sudo -v  # Refresh sudo credentials
uvx voice-mode-install
```

### Network errors during installation

- Check your internet connection
- Try again with: `uvx voice-mode-install`
- Use `uvx --refresh voice-mode-install` to get the latest installer

### Installation hangs or fails

1. Check the log file: `~/.voicemode/install.log`
2. Try a dry run: `uvx voice-mode-install --dry-run`
3. Report issues with log file attached

## Development

### Building from Source

```bash
cd installer/
uv build
```

### Testing Locally

```bash
cd installer/
uv pip install -e .
voice-mode-install --dry-run
```

### Project Structure

```
installer/
├── pyproject.toml          # Package definition
├── voicemode_install/
│   ├── __init__.py        # Version and exports
│   ├── cli.py             # Main CLI entry point
│   ├── system.py          # Platform detection
│   ├── checker.py         # Dependency checking
│   ├── installer.py       # Package installation
│   ├── hardware.py        # Hardware detection
│   ├── logger.py          # Installation logging
│   └── dependencies.yaml  # System dependencies
└── README.md
```

## Design Decisions

See `DECISIONS.md` in the task directory for detailed rationale behind:
- Version management strategy
- Dependency synchronization approach
- Error handling philosophy
- Platform coverage priorities
- Service installation scope

## Contributing

This installer is part of the [VoiceMode](https://github.com/mbailey/voicemode) project.

## License

MIT License - Same as VoiceMode

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "voice-mode-install",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "installer, mcp, setup, voice, voicemode",
    "author": null,
    "author_email": "mbailey <mbailey@example.com>",
    "download_url": "https://files.pythonhosted.org/packages/c7/2c/80338cc4e7645041e805171eae6941899d76fe297771b5098c3f0adad040/voice_mode_install-6.0.5.tar.gz",
    "platform": null,
    "description": "# voice-mode-install\n\nA standalone installer package for VoiceMode that handles system dependency detection and installation.\n\n## Overview\n\n`voice-mode-install` simplifies the VoiceMode installation process by:\n\n1. **Detecting your platform** - Identifies your OS, distribution, and architecture\n2. **Checking dependencies** - Scans for required system packages\n3. **Installing packages** - Uses your system's package manager (apt, dnf, brew)\n4. **Installing VoiceMode** - Runs `uv tool install voice-mode`\n5. **Hardware recommendations** - Suggests optimal configuration for your system\n6. **Logging everything** - Saves installation logs for troubleshooting\n\n## Quick Start\n\n```bash\n# Install and run\nuvx voice-mode-install\n\n# Dry run (see what would be installed)\nuvx voice-mode-install --dry-run\n\n# Install specific version\nuvx voice-mode-install --voice-mode-version=5.1.3\n\n# Skip service installation\nuvx voice-mode-install --skip-services\n\n# Non-interactive mode\nuvx voice-mode-install --non-interactive\n```\n\n## Prerequisites\n\n- **uv** - Required to run the installer (`curl -LsSf https://astral.sh/uv/install.sh | sh`)\n- **Python 3.10+** - Usually pre-installed on modern systems\n- **sudo access** - Needed to install system packages (Linux)\n- **Homebrew** (macOS) - The installer will offer to install it if missing\n\n## Supported Platforms\n\n- **macOS** - Intel and Apple Silicon (via Homebrew)\n- **Ubuntu/Debian** - Using apt package manager\n- **Fedora/RHEL** - Using dnf package manager\n\n## Features\n\n### Phase 1 (Included)\n\n\u2705 **Dry-run Mode** - Preview what will be installed\n\u2705 **Installation Logging** - Detailed logs saved to `~/.voicemode/install.log`\n\u2705 **Shell Completion** - Auto-configures tab completion for bash/zsh\n\u2705 **Health Check** - Verifies installation after completion\n\u2705 **Version Pinning** - Install specific VoiceMode versions\n\u2705 **Hardware Detection** - Recommends optimal setup for your system\n\u2705 **Homebrew Auto-Install** - Offers to install Homebrew on macOS if missing\n\n### Phase 2 (Future)\n\n\u23f1\ufe0f Config Validation - Check for conflicting settings\n\u23f1\ufe0f Uninstall Support - Clean removal of VoiceMode\n\n## How It Works\n\n1. **Platform Detection** - Identifies OS, distribution, and architecture\n2. **Dependency Checking** - Compares installed packages against `dependencies.yaml`\n3. **Package Manager Setup** (macOS only) - Checks for Homebrew and offers to install if missing\n4. **Package Installation** - Uses platform-specific package managers:\n   - macOS: `brew install` (installs Homebrew first if needed)\n   - Ubuntu/Debian: `sudo apt install`\n   - Fedora: `sudo dnf install`\n5. **VoiceMode Installation** - Runs `uv tool install voice-mode[==version]`\n6. **Post-Install** - Configures shell completion and verifies installation\n\n## Installation Logs\n\nLogs are saved to `~/.voicemode/install.log` in JSONL format:\n\n```json\n{\"timestamp\": \"2025-10-12T10:30:00\", \"type\": \"start\", \"message\": \"Installation started\"}\n{\"timestamp\": \"2025-10-12T10:30:15\", \"type\": \"check\", \"message\": \"Checked core dependencies\"}\n{\"timestamp\": \"2025-10-12T10:30:45\", \"type\": \"install\", \"message\": \"Successfully installed system packages\"}\n{\"timestamp\": \"2025-10-12T10:31:30\", \"type\": \"complete\", \"message\": \"Installation completed\"}\n```\n\n## Troubleshooting\n\n### VoiceMode command not found after installation\n\nRestart your shell or run:\n```bash\nsource ~/.bashrc  # or ~/.zshrc for zsh\n```\n\n### Permission denied during package installation\n\nThe installer needs sudo access to install system packages. Run:\n```bash\nsudo -v  # Refresh sudo credentials\nuvx voice-mode-install\n```\n\n### Network errors during installation\n\n- Check your internet connection\n- Try again with: `uvx voice-mode-install`\n- Use `uvx --refresh voice-mode-install` to get the latest installer\n\n### Installation hangs or fails\n\n1. Check the log file: `~/.voicemode/install.log`\n2. Try a dry run: `uvx voice-mode-install --dry-run`\n3. Report issues with log file attached\n\n## Development\n\n### Building from Source\n\n```bash\ncd installer/\nuv build\n```\n\n### Testing Locally\n\n```bash\ncd installer/\nuv pip install -e .\nvoice-mode-install --dry-run\n```\n\n### Project Structure\n\n```\ninstaller/\n\u251c\u2500\u2500 pyproject.toml          # Package definition\n\u251c\u2500\u2500 voicemode_install/\n\u2502   \u251c\u2500\u2500 __init__.py        # Version and exports\n\u2502   \u251c\u2500\u2500 cli.py             # Main CLI entry point\n\u2502   \u251c\u2500\u2500 system.py          # Platform detection\n\u2502   \u251c\u2500\u2500 checker.py         # Dependency checking\n\u2502   \u251c\u2500\u2500 installer.py       # Package installation\n\u2502   \u251c\u2500\u2500 hardware.py        # Hardware detection\n\u2502   \u251c\u2500\u2500 logger.py          # Installation logging\n\u2502   \u2514\u2500\u2500 dependencies.yaml  # System dependencies\n\u2514\u2500\u2500 README.md\n```\n\n## Design Decisions\n\nSee `DECISIONS.md` in the task directory for detailed rationale behind:\n- Version management strategy\n- Dependency synchronization approach\n- Error handling philosophy\n- Platform coverage priorities\n- Service installation scope\n\n## Contributing\n\nThis installer is part of the [VoiceMode](https://github.com/mbailey/voicemode) project.\n\n## License\n\nMIT License - Same as VoiceMode\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Installer for VoiceMode - handles system dependencies and installation",
    "version": "6.0.5",
    "project_urls": {
        "Homepage": "https://github.com/mbailey/voicemode",
        "Issues": "https://github.com/mbailey/voicemode/issues",
        "Repository": "https://github.com/mbailey/voicemode"
    },
    "split_keywords": [
        "installer",
        " mcp",
        " setup",
        " voice",
        " voicemode"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8ca4b30fd697fa04ec1a4841fa4a38a0e6496d7502e0981bc9f1cc4a21fc53c0",
                "md5": "b67b0282229e81a92c0d3977a9bd4035",
                "sha256": "c94feca36e0310ed923f9f1df3ce0a4ee797a4f19588aa00b87ef1c3ec9acf4c"
            },
            "downloads": -1,
            "filename": "voice_mode_install-6.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b67b0282229e81a92c0d3977a9bd4035",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 18498,
            "upload_time": "2025-10-26T23:13:46",
            "upload_time_iso_8601": "2025-10-26T23:13:46.176420Z",
            "url": "https://files.pythonhosted.org/packages/8c/a4/b30fd697fa04ec1a4841fa4a38a0e6496d7502e0981bc9f1cc4a21fc53c0/voice_mode_install-6.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c72c80338cc4e7645041e805171eae6941899d76fe297771b5098c3f0adad040",
                "md5": "2693ca3191d45ab31bc5d1c4b6dccc04",
                "sha256": "1c1caaf2f98f7c48b86e3418df1a4b3d2fab1756687b172997d07092100093e6"
            },
            "downloads": -1,
            "filename": "voice_mode_install-6.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "2693ca3191d45ab31bc5d1c4b6dccc04",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 15687,
            "upload_time": "2025-10-26T23:13:47",
            "upload_time_iso_8601": "2025-10-26T23:13:47.272113Z",
            "url": "https://files.pythonhosted.org/packages/c7/2c/80338cc4e7645041e805171eae6941899d76fe297771b5098c3f0adad040/voice_mode_install-6.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-26 23:13:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mbailey",
    "github_project": "voicemode",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "voice-mode-install"
}
        
Elapsed time: 2.48341s