pawmode 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.
Files changed (44) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +337 -0
  3. package/dist/index.js +2925 -0
  4. package/dist/permissions-BHOAvP8i.js +55 -0
  5. package/dist/permissions-CoaVX2ZM.js +3 -0
  6. package/dist/skills-CJ_pyPlv.js +53 -0
  7. package/dist/skills-DwMXaN3R.js +3 -0
  8. package/package.json +60 -0
  9. package/skills/c-ai/SKILL.md +68 -0
  10. package/skills/c-apps/SKILL.md +42 -0
  11. package/skills/c-bluetooth/SKILL.md +42 -0
  12. package/skills/c-briefing/SKILL.md +80 -0
  13. package/skills/c-browser/SKILL.md +66 -0
  14. package/skills/c-calendar/SKILL.md +47 -0
  15. package/skills/c-core/SKILL.md +83 -0
  16. package/skills/c-cron/SKILL.md +58 -0
  17. package/skills/c-display/SKILL.md +45 -0
  18. package/skills/c-email/SKILL.md +54 -0
  19. package/skills/c-files/SKILL.md +52 -0
  20. package/skills/c-github/SKILL.md +61 -0
  21. package/skills/c-jira/SKILL.md +66 -0
  22. package/skills/c-lights/SKILL.md +55 -0
  23. package/skills/c-linear/SKILL.md +64 -0
  24. package/skills/c-location/SKILL.md +47 -0
  25. package/skills/c-memory/SKILL.md +86 -0
  26. package/skills/c-messaging/SKILL.md +51 -0
  27. package/skills/c-music/SKILL.md +59 -0
  28. package/skills/c-network/SKILL.md +71 -0
  29. package/skills/c-notes/SKILL.md +45 -0
  30. package/skills/c-notify/SKILL.md +39 -0
  31. package/skills/c-notion/SKILL.md +53 -0
  32. package/skills/c-obsidian/SKILL.md +63 -0
  33. package/skills/c-research/SKILL.md +45 -0
  34. package/skills/c-screen/SKILL.md +55 -0
  35. package/skills/c-secrets/SKILL.md +62 -0
  36. package/skills/c-slack/SKILL.md +46 -0
  37. package/skills/c-social/SKILL.md +57 -0
  38. package/skills/c-speakers/SKILL.md +59 -0
  39. package/skills/c-system/SKILL.md +72 -0
  40. package/skills/c-tasks/SKILL.md +60 -0
  41. package/skills/c-telegram/SKILL.md +66 -0
  42. package/skills/c-tracking/SKILL.md +46 -0
  43. package/skills/c-video/SKILL.md +56 -0
  44. package/skills/c-voice/SKILL.md +58 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Dax
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 ADDED
@@ -0,0 +1,337 @@
1
+ <p align="center">
2
+ <pre align="center">
3
+ ▄██▄ ▄██▄
4
+ ▀██▀ ▀██▀
5
+ ▄██▄ ▄██▄
6
+ ▀██▀ ▀██▀
7
+ ▄██████▄
8
+ ▄██████████▄
9
+ ██████████████
10
+ ▀██████████▀
11
+ ▀██████▀
12
+ </pre>
13
+ </p>
14
+
15
+ <h1 align="center">OpenPaw</h1>
16
+ <p align="center"><b>Personal Assistant Wizard for Claude Code</b></p>
17
+ <p align="center"><i>*wags tail furiously* — your new best friend is here.</i></p>
18
+
19
+ <p align="center">
20
+ <a href="https://www.npmjs.com/package/openpaw"><img src="https://img.shields.io/npm/v/openpaw?color=b4783c&label=npm&style=flat-square" alt="npm"></a>
21
+ <a href="https://github.com/daxaur/openpaw/blob/main/LICENSE"><img src="https://img.shields.io/github/license/daxaur/openpaw?color=c88a48&style=flat-square" alt="license"></a>
22
+ <a href="https://github.com/daxaur/openpaw"><img src="https://img.shields.io/github/stars/daxaur/openpaw?color=dca03c&style=flat-square" alt="stars"></a>
23
+ </p>
24
+
25
+ ---
26
+
27
+ ## Quick Start
28
+
29
+ ```bash
30
+ npx openpaw
31
+ ```
32
+
33
+ Pick your skills. Choose terminal, Telegram, or both. Claude does the rest. Good boy.
34
+
35
+ ```bash
36
+ # Skip the wizard with a preset
37
+ npx openpaw --preset essentials
38
+ npx openpaw --preset developer --yes
39
+ ```
40
+
41
+ ---
42
+
43
+ ## What is OpenPaw?
44
+
45
+ OpenPaw turns **Claude Code** into a full personal assistant. One command, 30+ skills, and a really good boy who fetches your emails, plays your music, and controls your smart home.
46
+
47
+ ```
48
+ npx openpaw
49
+ ┌───────────────────────────────────────┐
50
+ │ How should we set things up, human? │
51
+ │ │
52
+ │ > ⚡ Quick Setup (pick a preset) │
53
+ │ 🎯 Custom (sniff through skills) │
54
+ └───────────────────────────────────────┘
55
+
56
+ How do you want to talk to Claude? 🐾
57
+ > 🖥 Terminal only
58
+ > 📱 Telegram
59
+ > 🖥📱 Both
60
+
61
+ ✔ Sniffed out Homebrew taps
62
+ ✔ Taught Claude new tricks
63
+ ✔ Buried treats in ~/.claude/skills/
64
+ ✔ Set up the doggy door (permissions)
65
+ ✔ Put up the baby gate (safety hooks)
66
+ ✔ All done! *tail wag intensifies*
67
+ ```
68
+
69
+ Then just talk to Claude — from your terminal or your phone:
70
+
71
+ ```
72
+ > "What emails did I get today?"
73
+ > "Play lo-fi on Spotify"
74
+ > "Turn the bedroom lights to 20%"
75
+ > "What's on my calendar tomorrow?"
76
+ > "Go to hacker news and summarize the top 5 posts"
77
+ ```
78
+
79
+ **No daemon.** OpenPaw runs once, writes config, gets out of the way. No subscriptions. No extra cost. Just a wizard that sets things up and takes a nap. 🐾
80
+
81
+ ---
82
+
83
+ ## Telegram Bridge
84
+
85
+ Talk to Claude from your phone. Full bidirectional. All your skills available as bot commands.
86
+
87
+ ```bash
88
+ # Set up during the wizard, or separately:
89
+ openpaw telegram setup
90
+
91
+ # Start the bridge:
92
+ openpaw telegram
93
+ ```
94
+
95
+ **Bot commands** (auto-generated from your skills):
96
+ - `/email check my inbox`
97
+ - `/music play some jazz`
98
+ - `/notes add grocery list`
99
+ - `/model sonnet` / `/model opus` / `/model haiku` — switch models on the fly
100
+ - `/skills` — see what's installed
101
+ - `/stop` — cancel current operation
102
+ - `/clear` — fresh start
103
+
104
+ Or just send a regular message. Claude figures out which skill to use.
105
+
106
+ ---
107
+
108
+ ## PAW MODE
109
+
110
+ When you launch Claude through OpenPaw, it runs in **PAW MODE** — full personal assistant mode. Claude knows your name, your preferences, what skills are installed, and greets you at session start.
111
+
112
+ PAW MODE is established through:
113
+ - `~/.claude/SOUL.md` — your personality config
114
+ - `~/.claude/skills/c-core/SKILL.md` — the coordinator brain
115
+ - `~/.claude/memory/` — persistent facts across sessions
116
+
117
+ ---
118
+
119
+ ## Presets
120
+
121
+ Get started fast with a preset, or choose `Custom` to sniff through skills one by one.
122
+
123
+ | Preset | Skills |
124
+ |---|---|
125
+ | **Everything** | All 31 skills for your platform |
126
+ | **Essentials** | Email, calendar, notes, music, browser, system, notifications |
127
+ | **Productivity** | Notes, Obsidian, tasks, email, calendar, Slack, cloud files |
128
+ | **Developer** | GitHub, Linear, Jira, browser, network, AI, cron |
129
+ | **Creative & Media** | Music, video, screen, voice, browser, research |
130
+ | **Smart Home** | Lights, speakers, Bluetooth, system, display, notifications |
131
+
132
+ ---
133
+
134
+ ## Skills
135
+
136
+ 31 capabilities across 8 categories. Install only what you need.
137
+
138
+ ### Productivity
139
+
140
+ | Skill | Description | Tools |
141
+ |---|---|---|
142
+ | `c-notes` | Apple Notes + Reminders | `memo` `remindctl` |
143
+ | `c-obsidian` | Obsidian vault management | `obsidian-cli` |
144
+ | `c-notion` | Notion pages + databases | `notion-cli` |
145
+ | `c-tasks` | Todoist / Things 3 / Taskwarrior | choose during setup |
146
+
147
+ ### Communication
148
+
149
+ | Skill | Description | Tools |
150
+ |---|---|---|
151
+ | `c-email` | Read, send, search email (Gmail or IMAP) | `gog` `himalaya` |
152
+ | `c-calendar` | Events + scheduling (Google or Apple) | `gog` `icalpal` |
153
+ | `c-messaging` | iMessage + WhatsApp | `imsg` `wacli` |
154
+ | `c-slack` | Slack channels + DMs | `slack` |
155
+ | `c-social` | Twitter/X | `bird` |
156
+ | `c-telegram` | Telegram bridge (built-in) | — |
157
+
158
+ ### Media
159
+
160
+ | Skill | Description | Tools |
161
+ |---|---|---|
162
+ | `c-music` | Spotify playback + search | `spogo` |
163
+ | `c-video` | YouTube download + convert | `yt-dlp` `ffmpeg` |
164
+ | `c-screen` | Screenshots, OCR, webcam | `peekaboo` `camsnap` |
165
+ | `c-voice` | Speech-to-text + TTS | `sag` `say` |
166
+
167
+ ### Smart Home
168
+
169
+ | Skill | Description | Tools |
170
+ |---|---|---|
171
+ | `c-lights` | Philips Hue control | `openhue` |
172
+ | `c-speakers` | Sonos speakers | `sonos` |
173
+ | `c-bluetooth` | Bluetooth devices | `blu` |
174
+
175
+ ### Browser & Automation
176
+
177
+ | Skill | Description | Tools |
178
+ |---|---|---|
179
+ | `c-browser` | Headless browser — navigate, click, scrape | `agent-browser` / `playwright` |
180
+ | `c-cron` | Cron jobs + launchctl services | `lunchy-go` |
181
+
182
+ ### System & Files
183
+
184
+ | Skill | Description | Tools |
185
+ |---|---|---|
186
+ | `c-system` | macOS Swiss Army Knife — volume, wifi, battery, dock | `m` |
187
+ | `c-apps` | Mac App Store from CLI | `mas` |
188
+ | `c-files` | Cloud sync — Google Drive, S3, Dropbox, 70+ providers | `rclone` |
189
+ | `c-display` | Display brightness + safe trash | `brightness` `trash` |
190
+ | `c-notify` | Native macOS notifications | `terminal-notifier` |
191
+
192
+ ### Research & Utilities
193
+
194
+ | Skill | Description | Tools |
195
+ |---|---|---|
196
+ | `c-research` | Summarize URLs, PDFs, videos | `summarize` |
197
+ | `c-location` | Apple Maps + nearby places | `goplaces` |
198
+ | `c-tracking` | Package tracking (UPS, FedEx, etc.) | `ordercli` |
199
+ | `c-secrets` | 1Password / Bitwarden | `op` `bw` |
200
+ | `c-network` | DNS lookups + HTTP client | `doggo` `http` |
201
+ | `c-ai` | Query LLMs — pipe text, chat, summarize | `llm` `aichat` |
202
+
203
+ ### Developer
204
+
205
+ | Skill | Description | Tools |
206
+ |---|---|---|
207
+ | `c-github` | PRs, issues, repos, actions | `gh` `jq` |
208
+ | `c-linear` | Linear issues + projects | `linear` |
209
+ | `c-jira` | Jira issues + sprints | `jira` |
210
+
211
+ ---
212
+
213
+ ## Commands
214
+
215
+ | Command | Description |
216
+ |---|---|
217
+ | `openpaw` | Interactive setup wizard |
218
+ | `openpaw --preset <name>` | Quick setup with a preset |
219
+ | `openpaw --preset <name> --yes` | Non-interactive setup |
220
+ | `openpaw --dry-run` | Preview what would be installed |
221
+ | `openpaw telegram` | Start the Telegram bridge |
222
+ | `openpaw telegram setup` | Configure Telegram bot |
223
+ | `openpaw list` | Show all available skills |
224
+ | `openpaw add <skills>` | Add skills — `openpaw add notes music email` |
225
+ | `openpaw remove <skills>` | Remove skills |
226
+ | `openpaw status` | Show installed skills + tool versions |
227
+ | `openpaw doctor` | Diagnose issues |
228
+ | `openpaw update` | Upgrade CLI tools |
229
+ | `openpaw soul` | Edit personality (SOUL.md) |
230
+ | `openpaw export` | Export config + memory |
231
+ | `openpaw import <file>` | Import config from file |
232
+ | `openpaw reset` | Remove everything OpenPaw installed |
233
+
234
+ ---
235
+
236
+ ## How It Works
237
+
238
+ OpenPaw doesn't run in the background (except the optional Telegram bridge). Here's what happens:
239
+
240
+ ```
241
+ 1. You pick a preset or choose individual skills
242
+ 2. Pick your interface: terminal, Telegram, or both
243
+ 3. CLI tools are installed via brew/npm/pip
244
+ 4. SKILL.md files are created in ~/.claude/skills/
245
+ 5. Permissions + safety hooks are configured
246
+ 6. Telegram bridge is set up (if selected)
247
+ 7. Claude launches in PAW MODE — ready to fetch! 🐾
248
+ ```
249
+
250
+ **Skills** are SKILL.md files that Claude auto-discovers. They teach Claude how to use each CLI tool.
251
+
252
+ **Permissions** let Claude run tools without prompting you every time. Only the minimum needed.
253
+
254
+ **Safety hooks** block dangerous patterns like mass-delete, mass-email, and credential exposure. Baby gate = installed.
255
+
256
+ **`--dangerously-skip-permissions`** lets Claude actually be your assistant. The wizard explains this and asks before enabling. Safety hooks still protect you.
257
+
258
+ ---
259
+
260
+ ## Why OpenPaw?
261
+
262
+ - **Free forever** — uses your existing Claude subscription
263
+ - **No daemon** — runs once, configures, takes a nap
264
+ - **No attack surface** — no open ports, no cloud dependencies
265
+ - **5-minute setup** — from zero to personal assistant
266
+ - **Telegram built-in** — talk to Claude from your phone
267
+ - **31 skills** — email, music, smart home, GitHub, browser, and more
268
+ - **Open source** — MIT license, community-driven
269
+
270
+ ---
271
+
272
+ ## The `/c` Coordinator
273
+
274
+ Every OpenPaw install includes `c-core` — a coordinator skill that acts as the brain. It knows what's installed and routes your requests to the right tool.
275
+
276
+ ```
277
+ /c what emails came in today?
278
+ /c play something chill on spotify
279
+ /c add "buy groceries" to my reminders
280
+ /c search my obsidian vault for project ideas
281
+ ```
282
+
283
+ ---
284
+
285
+ ## tmux Support
286
+
287
+ For the Telegram bridge (or running "both" mode), OpenPaw can set up a tmux session:
288
+
289
+ ```bash
290
+ # The wizard offers this automatically, or:
291
+ tmux new-session -s openpaw 'openpaw telegram'
292
+ ```
293
+
294
+ In "both" mode, tmux splits into two panes — Claude Code on the left, Telegram bridge on the right.
295
+
296
+ ---
297
+
298
+ ## Contributing
299
+
300
+ Want to teach this pup a new trick? It's easy:
301
+
302
+ ```bash
303
+ # 1. Fork the repo
304
+ gh repo fork daxaur/openpaw
305
+
306
+ # 2. Create your skill template
307
+ mkdir skills/c-yourskill
308
+ # Write a SKILL.md with YAML frontmatter + usage instructions
309
+
310
+ # 3. Add tool definitions to the catalog
311
+ # Edit src/catalog/index.ts
312
+
313
+ # 4. Submit a PR
314
+ gh pr create
315
+ ```
316
+
317
+ ### Skill template format
318
+
319
+ ```markdown
320
+ ---
321
+ name: c-yourskill
322
+ description: Short description (under 400 chars)
323
+ tags: [tag1, tag2]
324
+ ---
325
+
326
+ # Your Skill Name
327
+
328
+ Instructions for Claude on how to use the CLI tool...
329
+ ```
330
+
331
+ ---
332
+
333
+ ## License
334
+
335
+ MIT — do whatever you want with it. Go fetch.
336
+
337
+ Made with care (and tail wags) by [@daxaur](https://github.com/daxaur) 🐾