@claudeskill/cli 0.1.0 → 0.1.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.
- package/README.md +139 -0
- package/package.json +5 -2
package/README.md
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# @claudeskill/cli
|
|
2
|
+
|
|
3
|
+
Sync your Claude Code skills across devices with zero-knowledge encryption.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Try without installing
|
|
9
|
+
npx @claudeskill/cli
|
|
10
|
+
|
|
11
|
+
# Or install globally
|
|
12
|
+
npm install -g @claudeskill/cli
|
|
13
|
+
claudeskill
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Features
|
|
17
|
+
|
|
18
|
+
- **Interactive TUI** - Navigate with arrow keys, no commands to memorize
|
|
19
|
+
- **Zero-knowledge encryption** - Your skills are encrypted client-side. The server never sees your content.
|
|
20
|
+
- **Cross-device sync** - Access your skills from any device
|
|
21
|
+
- **Version history** - Track changes and restore previous versions
|
|
22
|
+
- **Self-host option** - Run your own server for complete control
|
|
23
|
+
|
|
24
|
+
## Interactive Mode
|
|
25
|
+
|
|
26
|
+
Simply run `claudeskill` to access the interactive menu:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
claudeskill
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Navigate through options using arrow keys:
|
|
33
|
+
- **Status** - Check sync status
|
|
34
|
+
- **List** - View all skills with dependency trees
|
|
35
|
+
- **Push** - Upload local changes (with preview and confirmation)
|
|
36
|
+
- **Pull** - Download from cloud (with preview and confirmation)
|
|
37
|
+
- **Login** - Switch account or add device
|
|
38
|
+
- **Logout** - Sign out
|
|
39
|
+
|
|
40
|
+
## Commands
|
|
41
|
+
|
|
42
|
+
All features are also available as direct commands:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
claudeskill # Interactive menu (recommended)
|
|
46
|
+
claudeskill status # Show sync status
|
|
47
|
+
claudeskill list # List all skills
|
|
48
|
+
claudeskill list --tree # Show dependency graph
|
|
49
|
+
claudeskill list --tools # Show tool usage matrix
|
|
50
|
+
claudeskill push # Push local changes to cloud
|
|
51
|
+
claudeskill push -m "message" # Push with commit message
|
|
52
|
+
claudeskill pull # Pull remote changes to local
|
|
53
|
+
claudeskill login # Login to existing account
|
|
54
|
+
claudeskill logout # Logout and clear credentials
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Version History
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
claudeskill log <skill> # Show version history
|
|
61
|
+
claudeskill checkout <skill> <hash> # Restore a specific version
|
|
62
|
+
claudeskill diff <skill> <hash1> <hash2> # Compare two versions
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## First Run
|
|
66
|
+
|
|
67
|
+
On first run, you'll be guided through setup:
|
|
68
|
+
|
|
69
|
+
1. **Choose sync mode** - Cloud (free), self-hosted, or local-only
|
|
70
|
+
2. **Enter your email** - Used for authentication (OTP-based, no passwords)
|
|
71
|
+
3. **Create a passphrase** - Encrypts your skills locally (never sent to server)
|
|
72
|
+
4. **Save your recovery key** - 8-word backup phrase for account recovery
|
|
73
|
+
|
|
74
|
+
## Adding a Second Device
|
|
75
|
+
|
|
76
|
+
On additional devices, use the login command:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
claudeskill login
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Enter your email, verify the OTP code, and use your **existing passphrase** to unlock your vault.
|
|
83
|
+
|
|
84
|
+
## How It Works
|
|
85
|
+
|
|
86
|
+
### Encryption
|
|
87
|
+
|
|
88
|
+
1. You create a **passphrase** (never sent to server)
|
|
89
|
+
2. A **master key** is generated and encrypted with your passphrase
|
|
90
|
+
3. Your skills are encrypted with the master key using AES-256-GCM
|
|
91
|
+
4. Only encrypted blobs are stored on the server
|
|
92
|
+
|
|
93
|
+
### Authentication
|
|
94
|
+
|
|
95
|
+
1. Enter your email
|
|
96
|
+
2. Receive a 6-digit OTP code
|
|
97
|
+
3. Verify the code to get access tokens
|
|
98
|
+
4. No passwords stored - just email + encryption passphrase
|
|
99
|
+
|
|
100
|
+
### Recovery
|
|
101
|
+
|
|
102
|
+
- A **recovery key** (8 words) is generated during setup
|
|
103
|
+
- Store it safely - it's the only way to recover if you forget your passphrase
|
|
104
|
+
- We cannot recover your data without it
|
|
105
|
+
|
|
106
|
+
## Security
|
|
107
|
+
|
|
108
|
+
- All encryption happens client-side using AES-256-GCM
|
|
109
|
+
- Key derivation uses Argon2id (memory-hard, resistant to GPU attacks)
|
|
110
|
+
- Server only stores encrypted blobs - zero knowledge of content
|
|
111
|
+
- OTP codes expire after 10 minutes
|
|
112
|
+
- Access tokens expire after 1 hour
|
|
113
|
+
- Refresh tokens expire after 30 days
|
|
114
|
+
|
|
115
|
+
## Self-Hosting
|
|
116
|
+
|
|
117
|
+
Point the CLI to your own server:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
claudeskill
|
|
121
|
+
# Choose "Self-hosted" mode
|
|
122
|
+
# Enter your server URL: https://skills.example.com
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
See the [main repository](https://github.com/user/claude-skill-sync) for server setup instructions.
|
|
126
|
+
|
|
127
|
+
## Requirements
|
|
128
|
+
|
|
129
|
+
- Node.js 18+
|
|
130
|
+
|
|
131
|
+
## License
|
|
132
|
+
|
|
133
|
+
MIT
|
|
134
|
+
|
|
135
|
+
## Learn More
|
|
136
|
+
|
|
137
|
+
- Documentation: https://claudeskill.io
|
|
138
|
+
- GitHub: https://github.com/user/claude-skill-sync
|
|
139
|
+
- Report issues: https://github.com/user/claude-skill-sync/issues
|
package/package.json
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claudeskill/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Sync your Claude Code skills across devices with zero-knowledge encryption",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"claudeskill": "./dist/index.js"
|
|
8
8
|
},
|
|
9
9
|
"main": "./dist/index.js",
|
|
10
|
-
"files": [
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"README.md"
|
|
13
|
+
],
|
|
11
14
|
"publishConfig": {
|
|
12
15
|
"access": "public"
|
|
13
16
|
},
|