wachi 0.1.4 → 0.1.6

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 (2) hide show
  1. package/README.md +24 -17
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -35,8 +35,8 @@ brew tap ysm-dev/tap && brew install wachi
35
35
  ## Quick Start
36
36
 
37
37
  ```bash
38
- # 1. Subscribe to any URL (auto-discovers RSS)
39
- wachi sub "slack://xoxb-token/channel" "https://blog.example.com"
38
+ # 1. Create a named channel and subscribe a URL (auto-discovers RSS)
39
+ wachi sub -n main -a "slack://xoxb-token/channel" "https://blog.example.com"
40
40
 
41
41
  # 2. Check for new content (run this on a schedule)
42
42
  wachi check
@@ -47,7 +47,7 @@ wachi check
47
47
  ## How It Works
48
48
 
49
49
  ```
50
- wachi sub <apprise-url> <url>
50
+ wachi sub -n <name> [-a <apprise-url>] <url>
51
51
 
52
52
 
53
53
  Is it RSS? ───yes───▶ Store as RSS subscription
@@ -71,19 +71,20 @@ On `wachi check`, each subscription is fetched and compared against a dedup tabl
71
71
  ## Commands
72
72
 
73
73
  ```
74
- wachi sub <apprise-url> <url> Subscribe a URL to a notification channel
74
+ wachi sub -n <name> <url> Subscribe a URL to a named channel
75
+ -a, --apprise-url <url> Required when creating a new channel
75
76
  -e, --send-existing Send all current items on next check (skip baseline)
76
77
 
77
- wachi unsub <apprise-url> [url] Unsubscribe a URL or remove entire channel
78
+ wachi unsub -n <name> [url] Unsubscribe a URL or remove entire channel
78
79
 
79
80
  wachi ls List all channels and subscriptions
80
81
 
81
82
  wachi check Check all subscriptions for changes
82
- -c, --channel <apprise-url> Check specific channel only
83
- -n, --concurrency <number> Max concurrent checks (default: 10)
83
+ -n, --name <name> Check specific channel only
84
+ -p, --concurrency <number> Max concurrent checks (default: 10)
84
85
  -d, --dry-run Preview without sending or recording
85
86
 
86
- wachi test <apprise-url> Send a test notification
87
+ wachi test -n <name> Send a test notification
87
88
 
88
89
  wachi upgrade Update wachi to latest version
89
90
  ```
@@ -94,25 +95,28 @@ wachi upgrade Update wachi to latest version
94
95
 
95
96
  ```bash
96
97
  # Blog (auto-discovers RSS)
97
- wachi sub "slack://xoxb-token/channel" "https://blog.example.com"
98
+ wachi sub -n main -a "slack://xoxb-token/channel" "https://blog.example.com"
98
99
 
99
100
  # Hacker News front page (LLM identifies content selectors)
100
- wachi sub "discord://webhook-id/token" "https://news.ycombinator.com"
101
+ wachi sub -n alerts -a "discord://webhook-id/token" "https://news.ycombinator.com"
102
+
103
+ # Add another subscription to an existing channel name
104
+ wachi sub -n main "https://example.com/changelog"
101
105
 
102
106
  # YouTube channel
103
- wachi sub "tgram://bot-token/chat-id" "https://youtube.com/@channel"
107
+ wachi sub -n media -a "tgram://bot-token/chat-id" "https://youtube.com/@channel"
104
108
 
105
109
  # URL without https:// (auto-prepended)
106
- wachi sub "slack://token/channel" "blog.example.com"
110
+ wachi sub -n main "blog.example.com"
107
111
 
108
112
  # Send all existing items on next check (no baseline)
109
- wachi sub -e "discord://webhook-id/token" "https://news.ycombinator.com"
113
+ wachi sub -n alerts -e "https://news.ycombinator.com"
110
114
 
111
115
  # Dry-run: see what would be sent
112
116
  wachi check -d
113
117
 
114
118
  # Check specific channel only
115
- wachi check -c "slack://xoxb-token/channel"
119
+ wachi check -n main
116
120
 
117
121
  # Run every 5 minutes with crnd
118
122
  crnd "*/5 * * * *" wachi check
@@ -134,10 +138,10 @@ https://blog.example.com/post/new-feature
134
138
  New Feature: Faster Builds with Incremental Compilation
135
139
  ```
136
140
 
137
- Test your channel before subscribing:
141
+ Test a saved channel anytime:
138
142
 
139
143
  ```bash
140
- wachi test "slack://xoxb-token/channel"
144
+ wachi test -n main
141
145
  ```
142
146
 
143
147
  ## Configuration
@@ -161,7 +165,8 @@ summary:
161
165
 
162
166
  # Channels and subscriptions (managed by wachi sub/unsub)
163
167
  channels:
164
- - apprise_url: "slack://xoxb-token/channel"
168
+ - name: "main"
169
+ apprise_url: "slack://xoxb-token/channel"
165
170
  subscriptions:
166
171
  - url: "https://blog.example.com"
167
172
  rss_url: "https://blog.example.com/feed.xml"
@@ -171,6 +176,8 @@ channels:
171
176
  link_selector: ".titleline > a"
172
177
  ```
173
178
 
179
+ Each channel entry requires `name`. Names must be unique (case-insensitive).
180
+
174
181
  All fields are optional with sensible defaults. An empty config file is valid.
175
182
 
176
183
  | Variable | Purpose |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wachi",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Subscribe any link and get notified on change",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -54,10 +54,10 @@
54
54
  "zod-validation-error": "5.0.0"
55
55
  },
56
56
  "optionalDependencies": {
57
- "@wachi-cli/darwin-arm64": "0.1.4",
58
- "@wachi-cli/darwin-x64": "0.1.4",
59
- "@wachi-cli/linux-arm64": "0.1.4",
60
- "@wachi-cli/linux-x64": "0.1.4",
61
- "@wachi-cli/win32-x64": "0.1.4"
57
+ "@wachi-cli/darwin-arm64": "0.1.6",
58
+ "@wachi-cli/darwin-x64": "0.1.6",
59
+ "@wachi-cli/linux-arm64": "0.1.6",
60
+ "@wachi-cli/linux-x64": "0.1.6",
61
+ "@wachi-cli/win32-x64": "0.1.6"
62
62
  }
63
63
  }