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.
- package/LICENSE +21 -0
- package/README.md +337 -0
- package/dist/index.js +2925 -0
- package/dist/permissions-BHOAvP8i.js +55 -0
- package/dist/permissions-CoaVX2ZM.js +3 -0
- package/dist/skills-CJ_pyPlv.js +53 -0
- package/dist/skills-DwMXaN3R.js +3 -0
- package/package.json +60 -0
- package/skills/c-ai/SKILL.md +68 -0
- package/skills/c-apps/SKILL.md +42 -0
- package/skills/c-bluetooth/SKILL.md +42 -0
- package/skills/c-briefing/SKILL.md +80 -0
- package/skills/c-browser/SKILL.md +66 -0
- package/skills/c-calendar/SKILL.md +47 -0
- package/skills/c-core/SKILL.md +83 -0
- package/skills/c-cron/SKILL.md +58 -0
- package/skills/c-display/SKILL.md +45 -0
- package/skills/c-email/SKILL.md +54 -0
- package/skills/c-files/SKILL.md +52 -0
- package/skills/c-github/SKILL.md +61 -0
- package/skills/c-jira/SKILL.md +66 -0
- package/skills/c-lights/SKILL.md +55 -0
- package/skills/c-linear/SKILL.md +64 -0
- package/skills/c-location/SKILL.md +47 -0
- package/skills/c-memory/SKILL.md +86 -0
- package/skills/c-messaging/SKILL.md +51 -0
- package/skills/c-music/SKILL.md +59 -0
- package/skills/c-network/SKILL.md +71 -0
- package/skills/c-notes/SKILL.md +45 -0
- package/skills/c-notify/SKILL.md +39 -0
- package/skills/c-notion/SKILL.md +53 -0
- package/skills/c-obsidian/SKILL.md +63 -0
- package/skills/c-research/SKILL.md +45 -0
- package/skills/c-screen/SKILL.md +55 -0
- package/skills/c-secrets/SKILL.md +62 -0
- package/skills/c-slack/SKILL.md +46 -0
- package/skills/c-social/SKILL.md +57 -0
- package/skills/c-speakers/SKILL.md +59 -0
- package/skills/c-system/SKILL.md +72 -0
- package/skills/c-tasks/SKILL.md +60 -0
- package/skills/c-telegram/SKILL.md +66 -0
- package/skills/c-tracking/SKILL.md +46 -0
- package/skills/c-video/SKILL.md +56 -0
- 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) 🐾
|