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 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 a **WC3 Orc Peon** theme. Bring your own sounds or create new themes.
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
- ## WC3 Orc Peon Theme
56
+ ## Themes
57
57
 
58
- 55 sounds from Warcraft 3 Orc units mapped across 11 Claude Code lifecycle events.
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
- | `ready-to-work.wav` | *"Ready to work!"* | Peon |
68
- | `something-need-doing.wav` | *"Something need doing?"* | Peon |
69
- | `more-work.mp3` | *"More work?"* | Peon (WC2) |
70
- | `how-can-i-help.wav` | *"How can I help?"* | Shaman |
71
- | `someone-call-for-the-doctor.wav` | *"Someone call for the doctor?"* | Witch Doctor |
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
- </details>
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/Orc/<src path>` (matching the `src` values in `theme.json`).
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).