Setup and context
Modern development typically assumes constant keyboard interaction. However, Aqua Voice enables you to complete full application development using voice commands alone.
This guide focuses on practical implementation of complete hands-free workflows. Unlike general voice coding overviews, we emphasize real-world development without touching the keyboard.
What is Aqua Voice?
Aqua Voice is a high-precision voice recognition editor plugin for macOS and Windows. Key features:
- High Accuracy: 99%+ precision with natural language processing
- Real-Time Processing: Minimal latency voice input
- Multi-Editor Support: VS Code, Cursor, JetBrains IDEs, and more
- Customizable: User-defined commands and abbreviations
- Offline Processing: Works without internet connection
Setup
macOS Configuration
1. Grant Microphone Permissions
# System Settings > Security & Privacy > Microphone
# Add Aqua Voice to allowed apps2. Install Aqua Voice
brew install aqua-voiceOr download from aqua-voice.io.
3. Install VS Code Extension
- Open VS Code
- Extensions (Cmd+Shift+X) → Search "Aqua Voice"
- Click Install
4. Initial Setup
aqua-voice setup --platform macosConfigure interactively:
- Microphone selection (external preferred)
- Language (Japanese or English)
- Hotkey (e.g., Option+V to activate)
Windows Configuration
1. Grant Microphone Permissions
Settings > Privacy & Security > Microphone > Allow app microphone access
2. Install Aqua Voice
choco install aqua-voiceOr download from the official site.
3. Install VS Code Extension
- Open VS Code
- Extensions (Ctrl+Shift+X) → Search "Aqua Voice"
- Click Install
4. Initial Setup
aqua-voice setup --platform windowsBasic Voice Commands
Start and Stop
"Start listening" → Microphone icon turns red, ready for input
"Stop listening" → Microphone stops
File Operations
Create File
"New file" + "Name is index.js"
→ Creates index.js
Open File
"Open file" + "App.tsx"
→ Opens App.tsx
Save File
"Save" → Saves current file
"Save all" → Saves all files
Delete File
"Delete" + "Confirm"
→ Deletes current file
Navigation
Go to Line
"Go to line" + "42"
→ Moves to line 42
Jump to Symbol
"Go to symbol" + "handleClick"
→ Jumps to handleClick function
Search
"Search" + "useState"
→ Searches for useState
Replace
"Replace" + "oldName" + "newName"
→ Replaces oldName with newName
Editor Operations
Cursor Movement
"Cursor to end" → End of line
"Cursor to start" → Start of line
"Word forward" → Next word
"Word back" → Previous word
Selection
"Select line" → Select current line
"Select word" → Select current word
"Select all" → Select everything
Copy, Cut, Paste, Delete
"Copy" → Copy selection
"Cut" → Cut selection
"Paste" → Paste from clipboard
"Delete" → Delete selection
"Undo" → Undo last action
"Redo" → Redo last action
VS Code / Cursor Integration
Configure Aqua Voice
aqua-voice config editJSON configuration example:
{
"language": "en",
"editor": "vscode",
"hotkey": "alt+v",
"autoCommit": true,
"suggestions": true,
"customCommands": [
{
"voice": "create component",
"action": "create-react-component"
},
{
"voice": "run tests",
"action": "run-tests"
}
]
}Cursor Integration
When using Cursor (Claude-integrated editor):
- Install Aqua Voice extension
- Update Cursor settings:
{
"aqua-voice.enabled": true,
"aqua-voice.language": "en",
"aqua-voice.claudeIntegration": true
}- Send voice commands directly to Claude:
"Ask Claude" + "Suggest refactoring for this component"
→ Claude analyzes and provides suggestions
Custom Hotkeys
aqua-voice hotkey set --trigger "cmd+shift+v" --action "voice-input"Code Writing Techniques
Variable Naming Conventions
Programming names follow special voice rules:
Camel Case
"Camel handleButtonClick"
→ handleButtonClick
"Camel getUserData"
→ getUserData
Snake Case
"Snake user_profile"
→ user_profile
"Snake max_width"
→ max_width
Pascal Case
"Pascal UserProfile"
→ UserProfile
Brackets and Braces
"Open paren" → (
"Close paren" → )
"Open brace" → {
"Close brace" → }
"Open bracket" → [
"Close bracket" → ]
Operators and Symbols
"Plus" → +
"Minus" → -
"Star" → *
"Slash" → /
"Equals" → =
"Double equals" → ==
"Triple equals" → ===
"Not equals" → !=
"And and" → &&
"Or or" → ||
"Pipe" → |
"Dot" → .
"Semi" → ;
"Colon" → :
"Comma" → ,
"At" → @
"Hash" → #
Line and Indentation
"New line" → Enter (moves to new line)
"Indent" → Tab (add indentation)
"Outdent" → Shift+Tab (remove indentation)
Integration with Claude Code
Voice-Driven Code Generation
In Cursor or Claude Code environments, send voice instructions directly to Claude:
"Ask Claude" + "Create React Counter component"
→ Claude auto-generates component
"Ask Claude" + "Add useEffect for API calls"
→ Claude modifies and adds code
Multi-File Operations
"Start multi-file edit"
"Add import to App.tsx"
"Create function in utils.ts"
"Complete edit"
→ Multiple files updated at once
Verification
Ask Claude to verify generated code:
"Ask Claude" + "Check this code for errors"
→ Claude performs static analysis
Debug and Test Execution by Voice
Run Tests
"Run tests" → npm test
"Test App" → App.test.js
"Coverage" → Generate coverage report
Build
"Build" → npm run build
"Build production" → Production build
Debugger
"Start debug" → Launch VS Code debugger
"Breakpoint" + "current line" → Add breakpoint
"Continue" → Resume execution
"Step over" → Next step
"Step in" → Enter function
"Step out" → Exit function
Server Operations
"Start server" → npm start
"Stop server" → Stop running server
Practical Example: React Component Creation
Let's walk through creating a React component entirely by voice.
Step 1: Create File
"New file" + "Name is Counter.jsx"
Step 2: Add Imports
"Ask Claude" + "Add required imports"
Claude automatically generates:
import React, { useState } from 'react';Step 3: Component Structure
"Ask Claude" + "Create Counter function component"
Claude generates:
export default function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>Count: {count}</p>
<button onClick={() => setCount(count + 1)}>
Increment
</button>
</div>
);
}Step 4: Add Styling
"Ask Claude" + "Add Tailwind CSS styling"
→ className attributes added automatically
Step 5: Create Tests
"New file" + "Name is Counter.test.jsx"
"Ask Claude" + "Generate unit tests for Counter"
Step 6: Run Tests
"Run tests"
→ npm test executes
Step 7: Save
"Save all"
Step 8: Verification
"Start server"
→ npm start runs, browser shows component
This entire workflow happens without touching the keyboard.
Voice Development Best Practices
Microphone Selection
- External Microphone Recommended: Higher accuracy than built-in
- Noise Cancellation: Reduce background noise
- Optimal Distance: 15-20cm from mouth
Recommended models:
- Blue Yeti (USB)
- Audio-Technica AT2020
- Shure SM7B
Speaking Tips
- Clear articulation: Natural but distinct pronunciation
- Include pauses: Break complex commands into phrases
- Standard dialect: Use standard accent (American or British English)
Efficient Workflow Design
- Delegate complex input to Claude: Let AI handle intricate tasks
- Command combinations: Use macros for frequently used sequences
- Regular breaks: Voice input causes fatigue
Error Correction
"Correct" + "correct text here"
→ Fixes previous input
"Delete last"
→ Removes last input
"Undo"
→ Cancels last command
Limitations of Voice Development
Recognition Accuracy
Voice precision decreases in these scenarios:
- Special Characters: Regular expressions, shell scripts
- Mixed Languages: English keywords with comments in other languages
- Background Noise: Cafes, open offices
Performance Impact
Continuous voice recognition increases CPU load:
- Recognition engine constantly running
- Slight editor responsiveness decrease possible
Voice Fatigue
- 8-hour continuous voice development unrealistic
- 1-2 hour sessions with breaks recommended
- Hybrid approach optimal: Combine voice with keyboard input
Security Considerations
- Never speak API keys aloud
- Verify microphone isn't always listening
- Enter sensitive data manually
- Use secure password input methods
Troubleshooting
Microphone Not Recognized
# macOS
aqua-voice test-mic
# Windows
aqua-voice test-mic --verbosePoor Recognition Accuracy
- Reposition microphone (15-20cm from mouth)
- Reduce background noise
- Adjust input level:
aqua-voice config set --microphone-level 75- Retrain language model:
aqua-voice train-model --language enEditor Unresponsive
# Restart Aqua Voice
aqua-voice restart
# Reset VS Code connection
aqua-voice reset-connectionSummary
Aqua Voice enables truly hands-free development with significant benefits:
- Freedom of Movement: Reduces physical strain from keyboard work
- Improved Focus: Minimize hand movement, maximize mental clarity
- Accessibility: Enables development for users with keyboard limitations
However, hybrid voice-keyboard approach proves most practical. Combined with Claude Code, this workflow delivers maximum efficiency:
- Speak high-level instructions
- Claude handles detailed implementation
- Result: Comfortable, productive development experience