silver-music-notifier 0.1.0 → 1.0.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/README.md CHANGED
@@ -10,9 +10,25 @@ local web UI (built with [silver-ui](https://silver-ui.com)).
10
10
  npm install -g silver-music-notifier
11
11
  ```
12
12
 
13
+ Requires Node.js 22.12.0 or newer.
14
+
13
15
  This requires a working build toolchain for `better-sqlite3` (the native SQLite
14
16
  driver), which is built automatically on install.
15
17
 
18
+ ## MusicBrainz contact (required)
19
+
20
+ MusicBrainz requires every API client to identify a contact (an email or URL) in
21
+ its User-Agent, and throttles or blocks requests without one. The first time you
22
+ run a command that hits the API (`add` or `refresh`), the CLI **prompts you for a
23
+ contact** and saves it. You can also set it ahead of time:
24
+
25
+ ```bash
26
+ silver-music-notifier config set musicbrainz.contact you@example.com
27
+ ```
28
+
29
+ or in the web UI's **Settings** view. In a non-interactive context (no TTY), the
30
+ command errors with this guidance instead of prompting.
31
+
16
32
  ## Usage
17
33
 
18
34
  ### Web UI
@@ -27,7 +43,8 @@ The UI has three views:
27
43
  - **Releases** — a feed of every known release-group, newest first, with a
28
44
  **Refresh** button and a "New" badge on releases discovered in the last refresh.
29
45
  - **Artists** — search MusicBrainz and add/remove the artists you follow.
30
- - **Settings** — choose notification methods and configure SMTP for email.
46
+ - **Settings** — set the MusicBrainz contact (required), choose notification
47
+ methods, and configure SMTP for email.
31
48
 
32
49
  ### CLI
33
50
 
@@ -40,15 +57,14 @@ silver-music-notifier remove "Radiohead" # stop tracking (by name or MBID)
40
57
  silver-music-notifier refresh # fetch releases + notify on new ones
41
58
  silver-music-notifier releases --new --limit 20
42
59
  silver-music-notifier config get # show settings
43
- silver-music-notifier config set notify.desktop false
60
+ silver-music-notifier config set notify.email true
44
61
  ```
45
62
 
46
63
  ## Notifications
47
64
 
48
- When `refresh` finds releases it has never seen before, it can notify you three ways:
65
+ When `refresh` finds releases it has never seen before, it can notify you two ways:
49
66
 
50
67
  - **In-page badges** — "New" badges in the web UI (always available).
51
- - **Desktop** — a system notification (enabled by default).
52
68
  - **Email** — an HTML summary, sent once SMTP is configured and the email toggle
53
69
  is on. Configure it in the **Settings** view or via `config set smtp.*`.
54
70
 
@@ -57,19 +73,27 @@ When `refresh` finds releases it has never seen before, it can notify you three
57
73
 
58
74
  ## Data & configuration
59
75
 
60
- State lives in a single SQLite file in your per-user data directory
61
- (e.g. `~/.config/silver-music-notifier/data.db` on Linux). Override the location
62
- with the `SMN_DATA_DIR` environment variable.
76
+ State lives in a single SQLite file (`data.db`) in your per-user data directory:
77
+
78
+ - **Linux:** `$XDG_DATA_HOME/silver-music-notifier` (usually `~/.local/share/silver-music-notifier`)
79
+ - **macOS:** `~/Library/Application Support/silver-music-notifier`
80
+ - **Windows:** `%LOCALAPPDATA%\silver-music-notifier\Data`
81
+
82
+ Override the location with the `SILVER_MUSIC_NOTIFIER_DATA_DIR` environment
83
+ variable.
63
84
 
64
85
  > **Note:** SMTP credentials (including the password) are stored in plaintext in
65
86
  > that local SQLite file. This is a single-user local tool; treat the data
66
87
  > directory accordingly.
67
88
 
68
- Other environment variables:
89
+ Notification methods (in-page / email) and the MusicBrainz contact are
90
+ configured in the web UI's **Settings** view or via `silver-music-notifier
91
+ config set …` — not through environment variables.
92
+
93
+ The only environment variable is:
69
94
 
70
- - `SMN_DATA_DIR` — override the data directory.
71
- - `SMN_DISABLE_DESKTOP=1` suppress desktop notifications.
72
- - `SMN_MB_CONTACT` — fallback MusicBrainz contact for the API User-Agent.
95
+ - `SILVER_MUSIC_NOTIFIER_DATA_DIR` — override the data directory (must be an env
96
+ var, since all other settings are stored inside it).
73
97
 
74
98
  ## Development
75
99