talktocursor 1.0.0 → 1.0.1
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.
- package/INSTALL.md +12 -10
- package/LICENSE +21 -0
- package/README.md +32 -16
- package/package.json +8 -5
- package/public/index.html +8 -5
package/INSTALL.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# TalkToCursor - Installation Guide
|
|
2
2
|
|
|
3
|
+
**[talktocursor.com](https://talktocursor.com)** | **[npm](https://www.npmjs.com/package/talktocursor)** | **[GitHub](https://github.com/MindSyncTech/talk-to-cursor)**
|
|
4
|
+
|
|
3
5
|
A hands-free voice interface for Cursor AI. Your coding assistant speaks progress updates aloud and can listen for voice commands using ElevenLabs TTS.
|
|
4
6
|
|
|
5
7
|
---
|
|
@@ -34,13 +36,13 @@ Skip to [Step 3: Get your ElevenLabs API Key](#step-3-get-your-elevenlabs-api-ke
|
|
|
34
36
|
**Option A** - From tar.gz:
|
|
35
37
|
```bash
|
|
36
38
|
tar -xzf talk-to-cursor.tar.gz
|
|
37
|
-
cd
|
|
39
|
+
cd talk-to-cursor
|
|
38
40
|
```
|
|
39
41
|
|
|
40
42
|
**Option B** - From GitHub:
|
|
41
43
|
```bash
|
|
42
|
-
git clone https://github.com/
|
|
43
|
-
cd
|
|
44
|
+
git clone https://github.com/MindSyncTech/talk-to-cursor.git
|
|
45
|
+
cd talk-to-cursor
|
|
44
46
|
```
|
|
45
47
|
|
|
46
48
|
### Step 2: Install dependencies and build
|
|
@@ -57,22 +59,22 @@ Then add to your Cursor MCP config (`~/.cursor/mcp.json`):
|
|
|
57
59
|
"mcpServers": {
|
|
58
60
|
"tts": {
|
|
59
61
|
"command": "node",
|
|
60
|
-
"args": ["/ABSOLUTE/PATH/TO/
|
|
62
|
+
"args": ["/ABSOLUTE/PATH/TO/talk-to-cursor/build/index.js"]
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
66
|
```
|
|
65
67
|
|
|
66
|
-
> **Important:** Replace `/ABSOLUTE/PATH/TO/
|
|
68
|
+
> **Important:** Replace `/ABSOLUTE/PATH/TO/talk-to-cursor` with the actual path on your machine.
|
|
67
69
|
>
|
|
68
|
-
> - macOS/Linux: `/Users/yourname/
|
|
69
|
-
> - Windows: `C:\\Users\\yourname\\
|
|
70
|
+
> - macOS/Linux: `/Users/yourname/talk-to-cursor/build/index.js`
|
|
71
|
+
> - Windows: `C:\\Users\\yourname\\talk-to-cursor\\build\\index.js`
|
|
70
72
|
|
|
71
73
|
---
|
|
72
74
|
|
|
73
75
|
## Step 3: Get your ElevenLabs API Key
|
|
74
76
|
|
|
75
|
-
1. Go to [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/
|
|
77
|
+
1. Go to [elevenlabs.io/app/settings/api-keys](https://try.elevenlabs.io/talktocursor)
|
|
76
78
|
2. Sign up or log in (free tier available with 10,000 characters/month)
|
|
77
79
|
3. Create a new API key and copy it
|
|
78
80
|
|
|
@@ -151,7 +153,7 @@ For a fully hands-free experience with voice dictation:
|
|
|
151
153
|
2. Set up a Python virtual environment:
|
|
152
154
|
|
|
153
155
|
```bash
|
|
154
|
-
cd
|
|
156
|
+
cd talk-to-cursor
|
|
155
157
|
python3 -m venv .venv
|
|
156
158
|
source .venv/bin/activate
|
|
157
159
|
pip install pynput pyobjc-framework-ApplicationServices
|
|
@@ -169,7 +171,7 @@ npm run auto-submit
|
|
|
169
171
|
|
|
170
172
|
### Wispr Voice Loop Setup (requires Wispr Flow)
|
|
171
173
|
|
|
172
|
-
For a full conversational voice loop using [Wispr Flow](https://
|
|
174
|
+
For a full conversational voice loop using [Wispr Flow](https://ref.wisprflow.ai/talktocursor):
|
|
173
175
|
|
|
174
176
|
1. Install Wispr Flow and configure its dictation hotkey
|
|
175
177
|
2. Enable **Wispr Voice Loop** in the settings UI
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Mike Sheehan
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,22 +1,31 @@
|
|
|
1
|
-
#
|
|
1
|
+
# TalkToCursor
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**[talktocursor.com](https://talktocursor.com)**
|
|
4
|
+
|
|
5
|
+
A hands-free voice interface for Cursor AI. Your coding assistant speaks progress updates, completions, and responses aloud using ElevenLabs TTS, enabling fully voice-driven coding workflows.
|
|
4
6
|
|
|
5
7
|
## Features
|
|
6
8
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
9
|
+
- **Text-to-Speech** - Agent speaks aloud via ElevenLabs API
|
|
10
|
+
- **Settings UI** - Web interface to configure API key, voice, and speech parameters
|
|
11
|
+
- **Auto-Submit** - Optional: automatically press Enter when dictation finishes (hands-free)
|
|
12
|
+
- **Voice Presets** - Quick settings for fast, slow, expressive, stable, and dramatic speech
|
|
13
|
+
- **Configurable** - Speed, stability, similarity boost, and style exaggeration controls
|
|
14
|
+
|
|
15
|
+
## Recommended Voice Setup
|
|
16
|
+
|
|
17
|
+
TalkToCursor handles text-to-speech responses from Cursor. For speech-to-text dictation, pair it with [Wispr Flow](https://ref.wisprflow.ai/talktocursor) for a smoother hands-free coding loop.
|
|
18
|
+
|
|
19
|
+
- **[ElevenLabs](https://try.elevenlabs.io/talktocursor)** - Required for high-quality text-to-speech
|
|
20
|
+
- **[Wispr Flow](https://ref.wisprflow.ai/talktocursor)** - Recommended for voice dictation and hands-free prompts
|
|
12
21
|
|
|
13
22
|
## Installation
|
|
14
23
|
|
|
15
24
|
### 1. Clone or download this repository
|
|
16
25
|
|
|
17
26
|
```bash
|
|
18
|
-
git clone https://github.com/
|
|
19
|
-
cd
|
|
27
|
+
git clone https://github.com/MindSyncTech/talk-to-cursor.git
|
|
28
|
+
cd talk-to-cursor
|
|
20
29
|
```
|
|
21
30
|
|
|
22
31
|
Or download and extract the ZIP.
|
|
@@ -42,21 +51,21 @@ Edit (or create) `~/.cursor/mcp.json`:
|
|
|
42
51
|
"mcpServers": {
|
|
43
52
|
"tts": {
|
|
44
53
|
"command": "node",
|
|
45
|
-
"args": ["/ABSOLUTE/PATH/TO/
|
|
54
|
+
"args": ["/ABSOLUTE/PATH/TO/talk-to-cursor/build/index.js"]
|
|
46
55
|
}
|
|
47
56
|
}
|
|
48
57
|
}
|
|
49
58
|
```
|
|
50
59
|
|
|
51
|
-
**Important:** Replace `/ABSOLUTE/PATH/TO/
|
|
60
|
+
**Important:** Replace `/ABSOLUTE/PATH/TO/talk-to-cursor` with the actual full path to where you cloned/downloaded this project.
|
|
52
61
|
|
|
53
62
|
For example:
|
|
54
|
-
- macOS/Linux: `/Users/yourname/
|
|
55
|
-
- Windows: `C:\\Users\\yourname\\
|
|
63
|
+
- macOS/Linux: `/Users/yourname/talk-to-cursor/build/index.js`
|
|
64
|
+
- Windows: `C:\\Users\\yourname\\talk-to-cursor\\build\\index.js`
|
|
56
65
|
|
|
57
66
|
### 5. Get your ElevenLabs API key
|
|
58
67
|
|
|
59
|
-
1. Go to [
|
|
68
|
+
1. Go to [ElevenLabs](https://try.elevenlabs.io/talktocursor)
|
|
60
69
|
2. Sign up or log in (free tier available)
|
|
61
70
|
3. Create a new API key and copy it
|
|
62
71
|
|
|
@@ -167,11 +176,18 @@ The script monitors the text field and automatically presses Enter when dictatio
|
|
|
167
176
|
- `npm run settings` - Open the web settings UI
|
|
168
177
|
- `npm run auto-submit` - Start the auto-submit script (macOS only)
|
|
169
178
|
|
|
179
|
+
## Links
|
|
180
|
+
|
|
181
|
+
- **Website:** [talktocursor.com](https://talktocursor.com)
|
|
182
|
+
- **npm:** [npmjs.com/package/talktocursor](https://www.npmjs.com/package/talktocursor)
|
|
183
|
+
|
|
170
184
|
## License
|
|
171
185
|
|
|
172
|
-
MIT
|
|
186
|
+
MIT - see [LICENSE](LICENSE)
|
|
173
187
|
|
|
174
188
|
## Credits
|
|
175
189
|
|
|
176
|
-
- [ElevenLabs](https://elevenlabs.io) for TTS API
|
|
190
|
+
- [ElevenLabs](https://try.elevenlabs.io/talktocursor) for TTS API
|
|
177
191
|
- [Model Context Protocol](https://modelcontextprotocol.io) for MCP SDK
|
|
192
|
+
|
|
193
|
+
Disclosure: Some links on this page are affiliate links. They help support TalkToCursor at no extra cost to you.
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "talktocursor",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Hands-free voice interface for Cursor AI
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Hands-free voice interface for Cursor AI. Text-to-speech, voice commands, and conversational coding using ElevenLabs TTS.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "build/index.js",
|
|
7
7
|
"bin": {
|
|
8
|
-
"talktocursor": "
|
|
8
|
+
"talktocursor": "build/index.js"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsc && chmod +x build/index.js",
|
|
@@ -30,9 +30,12 @@
|
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"repository": {
|
|
32
32
|
"type": "git",
|
|
33
|
-
"url": "https://github.com/
|
|
33
|
+
"url": "git+https://github.com/MindSyncTech/talk-to-cursor.git"
|
|
34
|
+
},
|
|
35
|
+
"homepage": "https://talktocursor.com",
|
|
36
|
+
"bugs": {
|
|
37
|
+
"url": "https://github.com/MindSyncTech/talk-to-cursor/issues"
|
|
34
38
|
},
|
|
35
|
-
"homepage": "https://github.com/mikesheehan/talktocursor#readme",
|
|
36
39
|
"files": [
|
|
37
40
|
"build/",
|
|
38
41
|
"public/",
|
package/public/index.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>
|
|
6
|
+
<title>Talk to Cursor</title>
|
|
7
7
|
<style>
|
|
8
8
|
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
9
9
|
|
|
@@ -678,7 +678,7 @@
|
|
|
678
678
|
<div class="container">
|
|
679
679
|
<header>
|
|
680
680
|
<div class="icon">🔊</div>
|
|
681
|
-
<h1>Cursor
|
|
681
|
+
<h1>Talk to Cursor Settings</h1>
|
|
682
682
|
<p>Configure your text-to-speech MCP server</p>
|
|
683
683
|
</header>
|
|
684
684
|
|
|
@@ -696,7 +696,7 @@
|
|
|
696
696
|
<button class="toggle-visibility" id="toggleKey" type="button">Show</button>
|
|
697
697
|
</div>
|
|
698
698
|
<div class="help-text">
|
|
699
|
-
Get your key from <a href="https://elevenlabs.io/
|
|
699
|
+
Get your key from <a href="https://try.elevenlabs.io/talktocursor" target="_blank">elevenlabs.io/app/settings/api-keys</a>
|
|
700
700
|
</div>
|
|
701
701
|
</div>
|
|
702
702
|
|
|
@@ -718,7 +718,7 @@
|
|
|
718
718
|
<label for="voiceId">Voice ID</label>
|
|
719
719
|
<input type="text" id="voiceId" placeholder="21m00Tcm4TlvDq8ikWAM" spellcheck="false">
|
|
720
720
|
<div class="help-text">
|
|
721
|
-
Browse voices at <a href="https://elevenlabs.io/
|
|
721
|
+
Browse voices at <a href="https://try.elevenlabs.io/talktocursor" target="_blank">elevenlabs.io/app/voice-library</a>
|
|
722
722
|
</div>
|
|
723
723
|
</div>
|
|
724
724
|
|
|
@@ -945,6 +945,9 @@
|
|
|
945
945
|
<!-- Wispr Voice Loop Card -->
|
|
946
946
|
<div class="card">
|
|
947
947
|
<div class="card-title">Wispr Voice Loop</div>
|
|
948
|
+
<p style="color: var(--text-muted); font-size: 13px; margin-top: 4px; margin-bottom: 12px;">
|
|
949
|
+
Download Wispr from <a href="https://ref.wisprflow.ai/talktocursor" target="_blank" rel="noopener noreferrer" style="color: var(--primary); text-decoration: none;">wispr.com</a>
|
|
950
|
+
</p>
|
|
948
951
|
|
|
949
952
|
<div class="toggle-row">
|
|
950
953
|
<div class="toggle-info">
|
|
@@ -1036,7 +1039,7 @@
|
|
|
1036
1039
|
</div>
|
|
1037
1040
|
|
|
1038
1041
|
<footer>
|
|
1039
|
-
|
|
1042
|
+
<a href="https://talktocursor.com" target="_blank" rel="noopener noreferrer">talktocursor.com</a> · <a href="https://github.com/MindSyncTech/talk-to-cursor" target="_blank" rel="noopener noreferrer">GitHub</a> · <a href="https://github.com" target="_blank">Documentation</a>
|
|
1040
1043
|
</footer>
|
|
1041
1044
|
</div>
|
|
1042
1045
|
|