claude-code-sounds 1.5.0 → 1.5.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.
Files changed (3) hide show
  1. package/README.md +6 -5
  2. package/bin/cli.js +8 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -46,11 +46,12 @@ The bash installer requires `jq` (`brew install jq`).
46
46
  ## Usage
47
47
 
48
48
  ```bash
49
- npx claude-code-sounds # Interactive install
50
- npx claude-code-sounds --yes # Install defaults, skip all prompts
51
- npx claude-code-sounds --list # List available themes
52
- npx claude-code-sounds --uninstall # Remove all sounds and hooks
53
- npx claude-code-sounds --help # Show help
49
+ npx claude-code-sounds # Interactive install
50
+ npx claude-code-sounds --yes # Install defaults, skip all prompts
51
+ npx claude-code-sounds --theme portal # Install a specific theme directly
52
+ npx claude-code-sounds --list # List available themes
53
+ npx claude-code-sounds --uninstall # Remove all sounds and hooks
54
+ npx claude-code-sounds --help # Show help
54
55
  ```
55
56
 
56
57
  ## Themes
package/bin/cli.js CHANGED
@@ -772,10 +772,17 @@ async function reconfigure(existingInstall) {
772
772
  }
773
773
  }
774
774
 
775
- // Build initial grid from currently installed files
775
+ // Build initial grid: disk state for existing themes, theme.json defaults for new ones
776
+ const existingThemeSet = new Set(existingInstall.themes);
776
777
  const soundOnlyRows = rows.filter(r => r.type === 'sound');
777
778
  const initialGrid = soundOnlyRows.map(soundRow => {
779
+ const isNewTheme = !existingThemeSet.has(soundRow.theme);
778
780
  return HOOKS.map(hook => {
781
+ if (isNewTheme) {
782
+ const catSounds = themeData[soundRow.theme].sounds[hook.key];
783
+ if (!catSounds) return false;
784
+ return catSounds.files.some(f => f.name === soundRow.fileName);
785
+ }
779
786
  return currentFiles[hook.key]?.has(soundRow.fileName) || false;
780
787
  });
781
788
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-sounds",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "description": "Sound themes for Claude Code lifecycle hooks",
5
5
  "bin": {
6
6
  "claude-code-sounds": "bin/cli.js"