voice-mode-install 1.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of voice-mode-install might be problematic. Click here for more details.

@@ -0,0 +1,125 @@
1
+ .external/
2
+ !.external/repos.txt
3
+
4
+ # Claude workspace
5
+ .claude/
6
+
7
+ # Environment configuration
8
+ .env.local
9
+ .env
10
+
11
+ # Python
12
+ __pycache__/
13
+ *.pyc
14
+ *.pyo
15
+ *.pyd
16
+ .Python
17
+ *.so
18
+ .pytest_cache/
19
+ .coverage
20
+ .coverage.*
21
+ htmlcov/
22
+ .mypy_cache/
23
+ .ruff_cache/
24
+ .hypothesis/
25
+ .tox/
26
+ *.cover
27
+ *.py,cover
28
+
29
+ # Virtual environments
30
+ venv/
31
+ env/
32
+ .venv/
33
+ test-env/
34
+ test-pkg-env/
35
+
36
+ # IDE
37
+ .vscode/
38
+ .idea/
39
+ *.swp
40
+ *.swo
41
+ *~
42
+
43
+ # OS
44
+ .DS_Store
45
+ Thumbs.db
46
+ desktop.ini
47
+
48
+ # Logs
49
+ *.log
50
+ logs/
51
+ logs
52
+ *.err
53
+
54
+ # Temporary files
55
+ tmp/
56
+ temp/
57
+ .tmp/
58
+ *.tmp
59
+
60
+ # Build artifacts
61
+ dist/
62
+ build/
63
+ *.egg-info/
64
+ .eggs/
65
+ *.whl
66
+
67
+ # Test artifacts
68
+ test_output/
69
+ *.mp3
70
+ *.wav
71
+ *.pcm
72
+ .aider*
73
+
74
+ # Voice MCP specific
75
+ voice-mcp_recordings/
76
+ debug_recordings/
77
+
78
+ # Documentation build
79
+ docs/_build/
80
+ docs/promote/
81
+
82
+ # Strategic/Private documents
83
+ docs/voicemode-brand/
84
+
85
+ # Local configuration
86
+ .claude/settings.local.json
87
+
88
+ # Node modules (for livekit frontend)
89
+ node_modules/
90
+ .npm/
91
+
92
+ # Next.js build artifacts
93
+ .next/
94
+
95
+ # Misc
96
+ .cache/
97
+ *.bak
98
+ *.orig
99
+ social
100
+ recover-voicemode-promote/
101
+
102
+ # Documentation build output
103
+ site/
104
+
105
+ # Generated documentation files
106
+ docs/README_PROCESSED.md
107
+
108
+ # Test files
109
+ test_preferences.py
110
+ testdir/
111
+
112
+ # Profiling output
113
+ *.prof
114
+
115
+ # Model files (should be downloaded, not committed)
116
+ models/
117
+ *.mlpackage/
118
+ *.mlmodel
119
+ *.mlmodelc/
120
+
121
+ # Coverage reports
122
+ htmlcov/
123
+ .coverage
124
+ .coverage.*
125
+ coverage.xml
@@ -0,0 +1,189 @@
1
+ Metadata-Version: 2.4
2
+ Name: voice-mode-install
3
+ Version: 1.0.1
4
+ Summary: Installer for VoiceMode - handles system dependencies and installation
5
+ Project-URL: Homepage, https://github.com/mbailey/voicemode
6
+ Project-URL: Repository, https://github.com/mbailey/voicemode
7
+ Project-URL: Issues, https://github.com/mbailey/voicemode/issues
8
+ Author-email: mbailey <mbailey@example.com>
9
+ License: MIT
10
+ Keywords: installer,mcp,setup,voice,voicemode
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Topic :: Software Development :: Libraries
20
+ Classifier: Topic :: System :: Installation/Setup
21
+ Requires-Python: >=3.10
22
+ Requires-Dist: click>=8.0.0
23
+ Requires-Dist: psutil>=5.9.0
24
+ Requires-Dist: pyyaml>=6.0.0
25
+ Description-Content-Type: text/markdown
26
+
27
+ # voicemode-install
28
+
29
+ A standalone installer package for VoiceMode that handles system dependency detection and installation.
30
+
31
+ ## Overview
32
+
33
+ `voicemode-install` simplifies the VoiceMode installation process by:
34
+
35
+ 1. **Detecting your platform** - Identifies your OS, distribution, and architecture
36
+ 2. **Checking dependencies** - Scans for required system packages
37
+ 3. **Installing packages** - Uses your system's package manager (apt, dnf, brew)
38
+ 4. **Installing VoiceMode** - Runs `uv tool install voice-mode`
39
+ 5. **Hardware recommendations** - Suggests optimal configuration for your system
40
+ 6. **Logging everything** - Saves installation logs for troubleshooting
41
+
42
+ ## Quick Start
43
+
44
+ ```bash
45
+ # Install and run
46
+ uvx voicemode-install
47
+
48
+ # Dry run (see what would be installed)
49
+ uvx voicemode-install --dry-run
50
+
51
+ # Install specific version
52
+ uvx voicemode-install --voice-mode-version=5.1.3
53
+
54
+ # Skip service installation
55
+ uvx voicemode-install --skip-services
56
+
57
+ # Non-interactive mode
58
+ uvx voicemode-install --non-interactive
59
+ ```
60
+
61
+ ## Prerequisites
62
+
63
+ - **uv** - Required to run the installer (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
64
+ - **Python 3.10+** - Usually pre-installed on modern systems
65
+ - **sudo access** - Needed to install system packages (Linux)
66
+
67
+ ## Supported Platforms
68
+
69
+ - **macOS** - Intel and Apple Silicon (via Homebrew)
70
+ - **Ubuntu/Debian** - Using apt package manager
71
+ - **Fedora/RHEL** - Using dnf package manager
72
+
73
+ ## Features
74
+
75
+ ### Phase 1 (Included)
76
+
77
+ ✅ **Dry-run Mode** - Preview what will be installed
78
+ ✅ **Installation Logging** - Detailed logs saved to `~/.voicemode/install.log`
79
+ ✅ **Shell Completion** - Auto-configures tab completion for bash/zsh
80
+ ✅ **Health Check** - Verifies installation after completion
81
+ ✅ **Version Pinning** - Install specific VoiceMode versions
82
+ ✅ **Hardware Detection** - Recommends optimal setup for your system
83
+
84
+ ### Phase 2 (Future)
85
+
86
+ ⏱️ Config Validation - Check for conflicting settings
87
+ ⏱️ Uninstall Support - Clean removal of VoiceMode
88
+
89
+ ## How It Works
90
+
91
+ 1. **Platform Detection** - Identifies OS, distribution, and architecture
92
+ 2. **Dependency Checking** - Compares installed packages against `dependencies.yaml`
93
+ 3. **Package Installation** - Uses platform-specific package managers:
94
+ - macOS: `brew install`
95
+ - Ubuntu/Debian: `sudo apt install`
96
+ - Fedora: `sudo dnf install`
97
+ 4. **VoiceMode Installation** - Runs `uv tool install voice-mode[==version]`
98
+ 5. **Post-Install** - Configures shell completion and verifies installation
99
+
100
+ ## Installation Logs
101
+
102
+ Logs are saved to `~/.voicemode/install.log` in JSONL format:
103
+
104
+ ```json
105
+ {"timestamp": "2025-10-12T10:30:00", "type": "start", "message": "Installation started"}
106
+ {"timestamp": "2025-10-12T10:30:15", "type": "check", "message": "Checked core dependencies"}
107
+ {"timestamp": "2025-10-12T10:30:45", "type": "install", "message": "Successfully installed system packages"}
108
+ {"timestamp": "2025-10-12T10:31:30", "type": "complete", "message": "Installation completed"}
109
+ ```
110
+
111
+ ## Troubleshooting
112
+
113
+ ### VoiceMode command not found after installation
114
+
115
+ Restart your shell or run:
116
+ ```bash
117
+ source ~/.bashrc # or ~/.zshrc for zsh
118
+ ```
119
+
120
+ ### Permission denied during package installation
121
+
122
+ The installer needs sudo access to install system packages. Run:
123
+ ```bash
124
+ sudo -v # Refresh sudo credentials
125
+ uvx voicemode-install
126
+ ```
127
+
128
+ ### Network errors during installation
129
+
130
+ - Check your internet connection
131
+ - Try again with: `uvx voicemode-install`
132
+ - Use `uvx --refresh voicemode-install` to get the latest installer
133
+
134
+ ### Installation hangs or fails
135
+
136
+ 1. Check the log file: `~/.voicemode/install.log`
137
+ 2. Try a dry run: `uvx voicemode-install --dry-run`
138
+ 3. Report issues with log file attached
139
+
140
+ ## Development
141
+
142
+ ### Building from Source
143
+
144
+ ```bash
145
+ cd installer/
146
+ uv build
147
+ ```
148
+
149
+ ### Testing Locally
150
+
151
+ ```bash
152
+ cd installer/
153
+ uv pip install -e .
154
+ voicemode-install --dry-run
155
+ ```
156
+
157
+ ### Project Structure
158
+
159
+ ```
160
+ installer/
161
+ ├── pyproject.toml # Package definition
162
+ ├── voicemode_install/
163
+ │ ├── __init__.py # Version and exports
164
+ │ ├── cli.py # Main CLI entry point
165
+ │ ├── system.py # Platform detection
166
+ │ ├── checker.py # Dependency checking
167
+ │ ├── installer.py # Package installation
168
+ │ ├── hardware.py # Hardware detection
169
+ │ ├── logger.py # Installation logging
170
+ │ └── dependencies.yaml # System dependencies
171
+ └── README.md
172
+ ```
173
+
174
+ ## Design Decisions
175
+
176
+ See `DECISIONS.md` in the task directory for detailed rationale behind:
177
+ - Version management strategy
178
+ - Dependency synchronization approach
179
+ - Error handling philosophy
180
+ - Platform coverage priorities
181
+ - Service installation scope
182
+
183
+ ## Contributing
184
+
185
+ This installer is part of the [VoiceMode](https://github.com/mbailey/voicemode) project.
186
+
187
+ ## License
188
+
189
+ MIT License - Same as VoiceMode
@@ -0,0 +1,163 @@
1
+ # voicemode-install
2
+
3
+ A standalone installer package for VoiceMode that handles system dependency detection and installation.
4
+
5
+ ## Overview
6
+
7
+ `voicemode-install` simplifies the VoiceMode installation process by:
8
+
9
+ 1. **Detecting your platform** - Identifies your OS, distribution, and architecture
10
+ 2. **Checking dependencies** - Scans for required system packages
11
+ 3. **Installing packages** - Uses your system's package manager (apt, dnf, brew)
12
+ 4. **Installing VoiceMode** - Runs `uv tool install voice-mode`
13
+ 5. **Hardware recommendations** - Suggests optimal configuration for your system
14
+ 6. **Logging everything** - Saves installation logs for troubleshooting
15
+
16
+ ## Quick Start
17
+
18
+ ```bash
19
+ # Install and run
20
+ uvx voicemode-install
21
+
22
+ # Dry run (see what would be installed)
23
+ uvx voicemode-install --dry-run
24
+
25
+ # Install specific version
26
+ uvx voicemode-install --voice-mode-version=5.1.3
27
+
28
+ # Skip service installation
29
+ uvx voicemode-install --skip-services
30
+
31
+ # Non-interactive mode
32
+ uvx voicemode-install --non-interactive
33
+ ```
34
+
35
+ ## Prerequisites
36
+
37
+ - **uv** - Required to run the installer (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
38
+ - **Python 3.10+** - Usually pre-installed on modern systems
39
+ - **sudo access** - Needed to install system packages (Linux)
40
+
41
+ ## Supported Platforms
42
+
43
+ - **macOS** - Intel and Apple Silicon (via Homebrew)
44
+ - **Ubuntu/Debian** - Using apt package manager
45
+ - **Fedora/RHEL** - Using dnf package manager
46
+
47
+ ## Features
48
+
49
+ ### Phase 1 (Included)
50
+
51
+ ✅ **Dry-run Mode** - Preview what will be installed
52
+ ✅ **Installation Logging** - Detailed logs saved to `~/.voicemode/install.log`
53
+ ✅ **Shell Completion** - Auto-configures tab completion for bash/zsh
54
+ ✅ **Health Check** - Verifies installation after completion
55
+ ✅ **Version Pinning** - Install specific VoiceMode versions
56
+ ✅ **Hardware Detection** - Recommends optimal setup for your system
57
+
58
+ ### Phase 2 (Future)
59
+
60
+ ⏱️ Config Validation - Check for conflicting settings
61
+ ⏱️ Uninstall Support - Clean removal of VoiceMode
62
+
63
+ ## How It Works
64
+
65
+ 1. **Platform Detection** - Identifies OS, distribution, and architecture
66
+ 2. **Dependency Checking** - Compares installed packages against `dependencies.yaml`
67
+ 3. **Package Installation** - Uses platform-specific package managers:
68
+ - macOS: `brew install`
69
+ - Ubuntu/Debian: `sudo apt install`
70
+ - Fedora: `sudo dnf install`
71
+ 4. **VoiceMode Installation** - Runs `uv tool install voice-mode[==version]`
72
+ 5. **Post-Install** - Configures shell completion and verifies installation
73
+
74
+ ## Installation Logs
75
+
76
+ Logs are saved to `~/.voicemode/install.log` in JSONL format:
77
+
78
+ ```json
79
+ {"timestamp": "2025-10-12T10:30:00", "type": "start", "message": "Installation started"}
80
+ {"timestamp": "2025-10-12T10:30:15", "type": "check", "message": "Checked core dependencies"}
81
+ {"timestamp": "2025-10-12T10:30:45", "type": "install", "message": "Successfully installed system packages"}
82
+ {"timestamp": "2025-10-12T10:31:30", "type": "complete", "message": "Installation completed"}
83
+ ```
84
+
85
+ ## Troubleshooting
86
+
87
+ ### VoiceMode command not found after installation
88
+
89
+ Restart your shell or run:
90
+ ```bash
91
+ source ~/.bashrc # or ~/.zshrc for zsh
92
+ ```
93
+
94
+ ### Permission denied during package installation
95
+
96
+ The installer needs sudo access to install system packages. Run:
97
+ ```bash
98
+ sudo -v # Refresh sudo credentials
99
+ uvx voicemode-install
100
+ ```
101
+
102
+ ### Network errors during installation
103
+
104
+ - Check your internet connection
105
+ - Try again with: `uvx voicemode-install`
106
+ - Use `uvx --refresh voicemode-install` to get the latest installer
107
+
108
+ ### Installation hangs or fails
109
+
110
+ 1. Check the log file: `~/.voicemode/install.log`
111
+ 2. Try a dry run: `uvx voicemode-install --dry-run`
112
+ 3. Report issues with log file attached
113
+
114
+ ## Development
115
+
116
+ ### Building from Source
117
+
118
+ ```bash
119
+ cd installer/
120
+ uv build
121
+ ```
122
+
123
+ ### Testing Locally
124
+
125
+ ```bash
126
+ cd installer/
127
+ uv pip install -e .
128
+ voicemode-install --dry-run
129
+ ```
130
+
131
+ ### Project Structure
132
+
133
+ ```
134
+ installer/
135
+ ├── pyproject.toml # Package definition
136
+ ├── voicemode_install/
137
+ │ ├── __init__.py # Version and exports
138
+ │ ├── cli.py # Main CLI entry point
139
+ │ ├── system.py # Platform detection
140
+ │ ├── checker.py # Dependency checking
141
+ │ ├── installer.py # Package installation
142
+ │ ├── hardware.py # Hardware detection
143
+ │ ├── logger.py # Installation logging
144
+ │ └── dependencies.yaml # System dependencies
145
+ └── README.md
146
+ ```
147
+
148
+ ## Design Decisions
149
+
150
+ See `DECISIONS.md` in the task directory for detailed rationale behind:
151
+ - Version management strategy
152
+ - Dependency synchronization approach
153
+ - Error handling philosophy
154
+ - Platform coverage priorities
155
+ - Service installation scope
156
+
157
+ ## Contributing
158
+
159
+ This installer is part of the [VoiceMode](https://github.com/mbailey/voicemode) project.
160
+
161
+ ## License
162
+
163
+ MIT License - Same as VoiceMode
@@ -0,0 +1,69 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "voice-mode-install"
7
+ version = "1.0.1"
8
+ description = "Installer for VoiceMode - handles system dependencies and installation"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = {text = "MIT"}
12
+ authors = [
13
+ {name = "mbailey", email = "mbailey@example.com"},
14
+ ]
15
+ keywords = ["voicemode", "installer", "mcp", "voice", "setup"]
16
+ classifiers = [
17
+ "Development Status :: 4 - Beta",
18
+ "Intended Audience :: Developers",
19
+ "License :: OSI Approved :: MIT License",
20
+ "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3.10",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Programming Language :: Python :: 3.13",
25
+ "Topic :: Software Development :: Libraries",
26
+ "Topic :: System :: Installation/Setup",
27
+ ]
28
+
29
+ dependencies = [
30
+ "click>=8.0.0",
31
+ "pyyaml>=6.0.0",
32
+ "psutil>=5.9.0",
33
+ ]
34
+
35
+ [project.urls]
36
+ Homepage = "https://github.com/mbailey/voicemode"
37
+ Repository = "https://github.com/mbailey/voicemode"
38
+ Issues = "https://github.com/mbailey/voicemode/issues"
39
+
40
+ [project.scripts]
41
+ voicemode-install = "voicemode_install.cli:main"
42
+
43
+ [tool.hatch.build.targets.wheel]
44
+ packages = ["voicemode_install"]
45
+ include = [
46
+ "voicemode_install/**/*.py",
47
+ "voicemode_install/**/*.yaml",
48
+ ]
49
+ exclude = [
50
+ "**/__pycache__",
51
+ "**/*.pyc",
52
+ "**/*.pyo",
53
+ "**/*.pyd",
54
+ "**/.DS_Store",
55
+ ]
56
+
57
+ [tool.hatch.build.targets.sdist]
58
+ include = [
59
+ "/voicemode_install",
60
+ "/README.md",
61
+ "/pyproject.toml",
62
+ ]
63
+ exclude = [
64
+ "**/__pycache__",
65
+ "**/*.pyc",
66
+ "**/*.pyo",
67
+ "**/*.pyd",
68
+ "**/.DS_Store",
69
+ ]
@@ -0,0 +1,3 @@
1
+ """VoiceMode Installer - System dependency management and installation."""
2
+
3
+ __version__ = "1.0.0"