claude-code-sounds 1.1.0 → 1.2.0
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/LICENSE +21 -0
- package/README.md +17 -148
- package/bin/cli.js +379 -58
- package/package.json +1 -1
- package/themes/mario/download.sh +123 -0
- package/themes/mario/theme.json +110 -0
- package/themes/mgs/download.sh +74 -0
- package/themes/mgs/theme.json +103 -0
- package/themes/pokemon-gen1/download.sh +75 -0
- package/themes/pokemon-gen1/theme.json +112 -0
- package/themes/portal/download.sh +95 -0
- package/themes/portal/theme.json +105 -0
- package/themes/star-wars/download.sh +119 -0
- package/themes/star-wars/theme.json +99 -0
- package/themes/wc3-peon/download.sh +2 -1
- package/themes/wc3-peon/theme.json +5 -2
- package/themes/zelda-oot/download.sh +67 -0
- package/themes/zelda-oot/theme.json +110 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 ryparker
|
|
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
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
Plays sound effects when sessions start, prompts are submitted, responses finish, errors occur, and more.
|
|
10
10
|
|
|
11
|
-
Ships with
|
|
11
|
+
Ships with 7 themes. Bring your own sounds or create new ones.
|
|
12
12
|
|
|
13
13
|
*"Something need doing?"*
|
|
14
14
|
|
|
@@ -53,154 +53,19 @@ npx claude-code-sounds --uninstall # Remove all sounds and hooks
|
|
|
53
53
|
npx claude-code-sounds --help # Show help
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
##
|
|
56
|
+
## Themes
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
> After installing, preview all sounds with `./preview.sh` or a specific category with `./preview.sh start`
|
|
61
|
-
|
|
62
|
-
<details open>
|
|
63
|
-
<summary><b>start</b> — Session starting, being summoned (5 sounds)</summary>
|
|
64
|
-
|
|
65
|
-
| Sound | Quote | Unit |
|
|
58
|
+
| Theme | Sounds | Vibe |
|
|
66
59
|
|---|---|---|
|
|
67
|
-
| `
|
|
68
|
-
| `
|
|
69
|
-
| `
|
|
70
|
-
| `
|
|
71
|
-
| `
|
|
60
|
+
| **WC3 Orc Peon** (`wc3-peon`) | 57 | *"Something need doing?"* — Peons, Grunts, Shamans, and Grom Hellscream |
|
|
61
|
+
| **Zelda: Ocarina of Time** (`zelda-oot`) | 47 | *"Hey! Listen!"* — Navi, Link, and iconic OOT jingles |
|
|
62
|
+
| **Super Mario Bros** (`mario`) | 47 | *"Let's-a go!"* — Coins, power-ups, and Mario's voice from NES to N64 |
|
|
63
|
+
| **Star Wars** (`star-wars`) | 36 | *"May the Force be with you"* — Lightsabers, R2-D2, and the dark side |
|
|
64
|
+
| **Metal Gear Solid** (`mgs`) | 40 | *"Kept you waiting, huh?"* — Codec calls, alert sounds, and Snake |
|
|
65
|
+
| **Pokemon Gen 1** (`pokemon-gen1`) | 49 | *"Wild PIKACHU appeared!"* — Cries, battle sounds, and Kanto menus |
|
|
66
|
+
| **Portal** (`portal`) | 42 | *"Are you still there?"* — Turrets, portal guns, and Aperture Science |
|
|
72
67
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
<details>
|
|
76
|
-
<summary><b>prompt</b> — User submitted a prompt, acknowledging order (7 sounds)</summary>
|
|
77
|
-
|
|
78
|
-
| Sound | Quote | Unit |
|
|
79
|
-
|---|---|---|
|
|
80
|
-
| `yes.wav` | *"Yes"* | Peon |
|
|
81
|
-
| `dabu.wav` | *"Dabu"* | Grunt |
|
|
82
|
-
| `zug-zug.wav` | *"Zug zug"* | Grunt |
|
|
83
|
-
| `right-away.wav` | *"Right away"* | Shaman |
|
|
84
|
-
| `immediately.wav` | *"Immediately!"* | Tauren |
|
|
85
|
-
| `anything-you-want.wav` | *"Anything you want"* | Headhunter |
|
|
86
|
-
| `more-work.mp3` | *"More work?"* | Peon (WC2) |
|
|
87
|
-
|
|
88
|
-
</details>
|
|
89
|
-
|
|
90
|
-
<details>
|
|
91
|
-
<summary><b>stop</b> — Claude finished responding (8 sounds)</summary>
|
|
92
|
-
|
|
93
|
-
| Sound | Quote | Unit |
|
|
94
|
-
|---|---|---|
|
|
95
|
-
| `zug-zug.wav` | *"Zug zug"* | Peon |
|
|
96
|
-
| `ok.wav` | *"OK"* | Peon |
|
|
97
|
-
| `i-can-do-that.wav` | *"I can do that"* | Peon |
|
|
98
|
-
| `be-happy-to.wav` | *"Be happy to"* | Peon |
|
|
99
|
-
| `understood.wav` | *"Understood"* | Shaman |
|
|
100
|
-
| `of-course.wav` | *"Of course"* | Far Seer |
|
|
101
|
-
| `it-is-certain.wav` | *"It is certain"* | Far Seer |
|
|
102
|
-
| `whatever-you-say.wav` | *"Whatever you say"* | Grom Hellscream |
|
|
103
|
-
|
|
104
|
-
</details>
|
|
105
|
-
|
|
106
|
-
<details>
|
|
107
|
-
<summary><b>permission</b> — Permission prompt, waiting for approval (5 sounds)</summary>
|
|
108
|
-
|
|
109
|
-
| Sound | Quote | Unit |
|
|
110
|
-
|---|---|---|
|
|
111
|
-
| `hmmm.wav` | *"Hmmm?"* | Peon |
|
|
112
|
-
| `what-you-want.wav` | *"What you want?"* | Peon |
|
|
113
|
-
| `what-you-want-me-to-do.wav` | *"What you want me to do?"* | Headhunter |
|
|
114
|
-
| `who-you-want-me-kill.wav` | *"Who you want me kill?"* | Headhunter |
|
|
115
|
-
| `you-seek-me-help.wav` | *"You seek me help?"* | Witch Doctor |
|
|
116
|
-
|
|
117
|
-
</details>
|
|
118
|
-
|
|
119
|
-
<details>
|
|
120
|
-
<summary><b>subagent</b> — Spawning a subagent (6 sounds)</summary>
|
|
121
|
-
|
|
122
|
-
| Sound | Quote | Unit |
|
|
123
|
-
|---|---|---|
|
|
124
|
-
| `work-work.wav` | *"Work, work"* | Peon |
|
|
125
|
-
| `zug-zug.wav` | *"Zug zug"* | Peon |
|
|
126
|
-
| `ill-try.wav` | *"I'll try"* | Peon |
|
|
127
|
-
| `why-not.wav` | *"Why not?"* | Peon |
|
|
128
|
-
| `for-the-horde.wav` | *"For the Horde!"* | Grunt |
|
|
129
|
-
| `taste-the-fury.wav` | *"Taste the fury of the Warsong!"* | Grom Hellscream |
|
|
130
|
-
|
|
131
|
-
</details>
|
|
132
|
-
|
|
133
|
-
<details>
|
|
134
|
-
<summary><b>idle</b> — Waiting for user input (7 sounds)</summary>
|
|
135
|
-
|
|
136
|
-
| Sound | Quote | Unit |
|
|
137
|
-
|---|---|---|
|
|
138
|
-
| `me-busy-leave-me-alone.wav` | *"Me busy, leave me alone!"* | Peon |
|
|
139
|
-
| `no-time-for-play.wav` | *"No time for play!"* | Peon |
|
|
140
|
-
| `me-not-that-kind-of-orc.wav` | *"Me not that kind of orc!"* | Peon |
|
|
141
|
-
| `why-you-poking-me.wav` | *"Why are you poking me again?"* | Grunt |
|
|
142
|
-
| `not-easy-being-green.wav` | *"It's not easy being green"* | Grunt |
|
|
143
|
-
| `i-can-wait-no-longer.wav` | *"I can wait no longer!"* | Grom Hellscream |
|
|
144
|
-
| `outlook-not-so-good.wav` | *"Outlook... not so good"* | Far Seer |
|
|
145
|
-
|
|
146
|
-
</details>
|
|
147
|
-
|
|
148
|
-
<details>
|
|
149
|
-
<summary><b>error</b> — Tool call failed (4 sounds)</summary>
|
|
150
|
-
|
|
151
|
-
| Sound | Quote | Unit |
|
|
152
|
-
|---|---|---|
|
|
153
|
-
| `peon-death.wav` | *(death sound)* | Peon |
|
|
154
|
-
| `grunt-death.wav` | *(death sound)* | Grunt |
|
|
155
|
-
| `headhunter-death.wav` | *(death sound)* | Headhunter |
|
|
156
|
-
| `reply-hazy-try-again.wav` | *"Reply hazy, try again"* | Far Seer |
|
|
157
|
-
|
|
158
|
-
</details>
|
|
159
|
-
|
|
160
|
-
<details>
|
|
161
|
-
<summary><b>end</b> — Session ending (3 sounds)</summary>
|
|
162
|
-
|
|
163
|
-
| Sound | Quote | Unit |
|
|
164
|
-
|---|---|---|
|
|
165
|
-
| `well-done.wav` | *"Well done!"* | Tauren |
|
|
166
|
-
| `finally.wav` | *"Finally!"* | Grom Hellscream |
|
|
167
|
-
| `okie-dokie.wav` | *"Okie dokie"* | Peon |
|
|
168
|
-
|
|
169
|
-
</details>
|
|
170
|
-
|
|
171
|
-
<details>
|
|
172
|
-
<summary><b>task-completed</b> — Task marked done (2 sounds)</summary>
|
|
173
|
-
|
|
174
|
-
| Sound | Quote | Unit |
|
|
175
|
-
|---|---|---|
|
|
176
|
-
| `well-done.wav` | *"Well done!"* | Tauren |
|
|
177
|
-
| `finally.wav` | *"Finally!"* | Grom Hellscream |
|
|
178
|
-
|
|
179
|
-
</details>
|
|
180
|
-
|
|
181
|
-
<details>
|
|
182
|
-
<summary><b>compact</b> — Context compaction, memory fading (4 sounds)</summary>
|
|
183
|
-
|
|
184
|
-
| Sound | Quote | Unit |
|
|
185
|
-
|---|---|---|
|
|
186
|
-
| `concentrate-and-ask-again.wav` | *"Concentrate... and ask again"* | Far Seer |
|
|
187
|
-
| `reply-hazy-try-again.wav` | *"Reply hazy, try again"* | Far Seer |
|
|
188
|
-
| `i-can-wait-no-longer.wav` | *"I can wait no longer!"* | Grom Hellscream |
|
|
189
|
-
| `death.wav` | *(death sound)* | Peon |
|
|
190
|
-
|
|
191
|
-
</details>
|
|
192
|
-
|
|
193
|
-
<details>
|
|
194
|
-
<summary><b>teammate-idle</b> — Teammate went idle (4 sounds)</summary>
|
|
195
|
-
|
|
196
|
-
| Sound | Quote | Unit |
|
|
197
|
-
|---|---|---|
|
|
198
|
-
| `what.wav` | *"What?!"* | Peon |
|
|
199
|
-
| `me-busy-leave-me-alone.wav` | *"Me busy, leave me alone!"* | Peon |
|
|
200
|
-
| `no-time-for-play.wav` | *"No time for play!"* | Peon |
|
|
201
|
-
| `i-can-wait-no-longer.wav` | *"I can wait no longer!"* | Grom Hellscream |
|
|
202
|
-
|
|
203
|
-
</details>
|
|
68
|
+
Each theme maps sounds across all 11 Claude Code lifecycle events. Preview installed sounds with `./preview.sh`.
|
|
204
69
|
|
|
205
70
|
## Hook Events
|
|
206
71
|
|
|
@@ -230,6 +95,7 @@ Defines metadata and maps source files to hook categories:
|
|
|
230
95
|
{
|
|
231
96
|
"name": "My Theme",
|
|
232
97
|
"description": "A short description",
|
|
98
|
+
"srcBase": "MyTheme",
|
|
233
99
|
"sounds": {
|
|
234
100
|
"start": {
|
|
235
101
|
"description": "Session starting",
|
|
@@ -241,13 +107,16 @@ Defines metadata and maps source files to hook categories:
|
|
|
241
107
|
}
|
|
242
108
|
```
|
|
243
109
|
|
|
110
|
+
- **`srcBase`** — subdirectory under the temp dir where downloaded files live (e.g., `"Orc"`, `"OOT"`)
|
|
111
|
+
- **`src`** — path relative to `$2/<srcBase>/` where the file is found after download
|
|
112
|
+
|
|
244
113
|
### `download.sh`
|
|
245
114
|
|
|
246
115
|
Downloads the sound files. Receives two arguments:
|
|
247
116
|
- `$1` — target sounds directory (`~/.claude/sounds`)
|
|
248
117
|
- `$2` — temp directory for downloads
|
|
249
118
|
|
|
250
|
-
The script should download and extract files so they're accessible at `$2
|
|
119
|
+
The script should download and extract files so they're accessible at `$2/<srcBase>/<src path>` (matching the `srcBase` and `src` values in `theme.json`).
|
|
251
120
|
|
|
252
121
|
## How It Works
|
|
253
122
|
|
|
@@ -279,4 +148,4 @@ This removes all sound files, the hook script, and the hooks config from `settin
|
|
|
279
148
|
|
|
280
149
|
## Disclaimer
|
|
281
150
|
|
|
282
|
-
Sound files are downloaded from third-party sources at install time and are not included in this repository. All game audio is property of Blizzard Entertainment.
|
|
151
|
+
Sound files are downloaded from third-party sources at install time and are not included in this repository. All game audio is property of its respective owners: Blizzard Entertainment (Warcraft), Nintendo (Zelda, Mario, Pokemon), Lucasfilm/Disney (Star Wars), Konami (Metal Gear Solid), and Valve (Portal).
|