@claudeskill/cli 0.1.0 → 0.1.2

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 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
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../src/onboarding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH;;GAEG;AACH,eAAO,MAAM,aAAa,qBAgSzB,CAAC"}
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../src/onboarding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH;;GAEG;AACH,eAAO,MAAM,aAAa,qBAwVzB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  import * as p from "@clack/prompts";
5
5
  import { generateSalt, generateMasterKey, generateRecoveryKey, deriveKeyFromPassphrase, encryptMasterKey, formatRecoveryKey, toBase64, listAllSkills, } from "@claudeskill/core";
6
6
  import { saveConfig, getDefaultConfig, getConfigDir } from "./config.js";
7
- import { saveCredentials } from "./credentials.js";
7
+ import { saveCredentials, loadCredentials } from "./credentials.js";
8
8
  import * as api from "./api.js";
9
9
  import { pushSkills } from "./sync.js";
10
10
  /**
@@ -125,65 +125,113 @@ export const runOnboarding = async () => {
125
125
  }
126
126
  spinner.stop("Verified!");
127
127
  const { accessToken, refreshToken, user } = verifyResult.data;
128
- // Step 6: Create passphrase
129
- const passphrase = await p.password({
130
- message: "Create a vault passphrase:",
131
- mask: "*",
132
- validate: (value) => {
133
- if (!value)
134
- return "Passphrase is required";
135
- if (value.length < 8)
136
- return "Passphrase must be at least 8 characters";
137
- },
138
- });
139
- if (p.isCancel(passphrase)) {
140
- p.cancel("Setup cancelled.");
141
- process.exit(0);
142
- }
143
- const confirmPassphrase = await p.password({
144
- message: "Confirm passphrase:",
145
- mask: "*",
146
- validate: (value) => {
147
- if (value !== passphrase)
148
- return "Passphrases do not match";
149
- },
150
- });
151
- if (p.isCancel(confirmPassphrase)) {
152
- p.cancel("Setup cancelled.");
153
- process.exit(0);
154
- }
155
- // Step 7: Generate encryption keys
156
- spinner.start("Generating encryption keys...");
157
- const salt = generateSalt();
158
- const masterKey = generateMasterKey();
159
- const recoveryKey = generateRecoveryKey();
160
- const derivedKey = deriveKeyFromPassphrase(passphrase, salt);
161
- const encryptedMaster = encryptMasterKey(masterKey, derivedKey.key);
162
- // Combine IV + tag + ciphertext for storage
163
- const encryptedMasterKeyFull = new Uint8Array(encryptedMaster.iv.length +
164
- encryptedMaster.tag.length +
165
- encryptedMaster.encrypted.length);
166
- encryptedMasterKeyFull.set(encryptedMaster.iv, 0);
167
- encryptedMasterKeyFull.set(encryptedMaster.tag, encryptedMaster.iv.length);
168
- encryptedMasterKeyFull.set(encryptedMaster.encrypted, encryptedMaster.iv.length + encryptedMaster.tag.length);
169
- // Save credentials first so API calls have the access token
170
- await saveCredentials({
171
- accessToken,
172
- refreshToken,
173
- encryptedMasterKey: toBase64(encryptedMasterKeyFull),
174
- salt: toBase64(salt),
175
- });
176
- // Upload salt to server
177
- const saltResult = await api.setSalt(toBase64(salt));
178
- if (!saltResult.ok) {
179
- spinner.stop("Failed to save encryption settings");
180
- p.log.error(saltResult.error);
181
- process.exit(1);
128
+ // Check if this is an existing user (already has encryption set up)
129
+ if (!user.isNewUser) {
130
+ // Existing user - redirect to login flow
131
+ p.log.info("Welcome back! Enter your passphrase to unlock.");
132
+ // Get salt from server
133
+ // First save tokens temporarily so API calls work
134
+ await saveCredentials({
135
+ accessToken,
136
+ refreshToken,
137
+ encryptedMasterKey: "",
138
+ salt: "",
139
+ });
140
+ const saltResult = await api.getSalt();
141
+ if (!saltResult.ok) {
142
+ p.log.error(`Failed to get encryption settings: ${saltResult.error}`);
143
+ process.exit(1);
144
+ }
145
+ const passphrase = await p.password({
146
+ message: "Vault passphrase:",
147
+ mask: "*",
148
+ });
149
+ if (p.isCancel(passphrase)) {
150
+ p.cancel("Setup cancelled.");
151
+ process.exit(0);
152
+ }
153
+ // Get master key from server
154
+ const existingCreds = await loadCredentials();
155
+ let encryptedMasterKey = existingCreds?.encryptedMasterKey ?? "";
156
+ const masterKeyResult = await api.getMasterKey();
157
+ if (masterKeyResult.ok && masterKeyResult.data.encryptedMasterKey) {
158
+ encryptedMasterKey = masterKeyResult.data.encryptedMasterKey;
159
+ }
160
+ // Save credentials
161
+ await saveCredentials({
162
+ accessToken,
163
+ refreshToken,
164
+ encryptedMasterKey,
165
+ salt: saltResult.data.salt,
166
+ });
167
+ p.log.success("Logged in successfully!");
182
168
  }
183
- spinner.stop("Encryption keys generated");
184
- // Step 8: Show recovery key
185
- const formattedRecoveryKey = formatRecoveryKey(recoveryKey);
186
- p.note(`
169
+ else {
170
+ // New user - create passphrase and encryption keys
171
+ const passphrase = await p.password({
172
+ message: "Create a vault passphrase:",
173
+ mask: "*",
174
+ validate: (value) => {
175
+ if (!value)
176
+ return "Passphrase is required";
177
+ if (value.length < 8)
178
+ return "Passphrase must be at least 8 characters";
179
+ },
180
+ });
181
+ if (p.isCancel(passphrase)) {
182
+ p.cancel("Setup cancelled.");
183
+ process.exit(0);
184
+ }
185
+ const confirmPassphrase = await p.password({
186
+ message: "Confirm passphrase:",
187
+ mask: "*",
188
+ validate: (value) => {
189
+ if (value !== passphrase)
190
+ return "Passphrases do not match";
191
+ },
192
+ });
193
+ if (p.isCancel(confirmPassphrase)) {
194
+ p.cancel("Setup cancelled.");
195
+ process.exit(0);
196
+ }
197
+ // Generate encryption keys
198
+ spinner.start("Generating encryption keys...");
199
+ const salt = generateSalt();
200
+ const masterKey = generateMasterKey();
201
+ const recoveryKey = generateRecoveryKey();
202
+ const derivedKey = deriveKeyFromPassphrase(passphrase, salt);
203
+ const encryptedMaster = encryptMasterKey(masterKey, derivedKey.key);
204
+ // Combine IV + tag + ciphertext for storage
205
+ const encryptedMasterKeyFull = new Uint8Array(encryptedMaster.iv.length +
206
+ encryptedMaster.tag.length +
207
+ encryptedMaster.encrypted.length);
208
+ encryptedMasterKeyFull.set(encryptedMaster.iv, 0);
209
+ encryptedMasterKeyFull.set(encryptedMaster.tag, encryptedMaster.iv.length);
210
+ encryptedMasterKeyFull.set(encryptedMaster.encrypted, encryptedMaster.iv.length + encryptedMaster.tag.length);
211
+ // Save credentials first so API calls have the access token
212
+ await saveCredentials({
213
+ accessToken,
214
+ refreshToken,
215
+ encryptedMasterKey: toBase64(encryptedMasterKeyFull),
216
+ salt: toBase64(salt),
217
+ });
218
+ // Upload salt to server
219
+ const saltResult = await api.setSalt(toBase64(salt));
220
+ if (!saltResult.ok) {
221
+ spinner.stop("Failed to save encryption settings");
222
+ p.log.error(saltResult.error);
223
+ process.exit(1);
224
+ }
225
+ // Upload encrypted master key to server (for web dashboard decryption)
226
+ const masterKeyUploadResult = await api.setMasterKey(toBase64(encryptedMasterKeyFull));
227
+ if (!masterKeyUploadResult.ok) {
228
+ // Non-fatal - dashboard decryption won't work but CLI will
229
+ p.log.warn("Could not sync master key for web dashboard");
230
+ }
231
+ spinner.stop("Encryption keys generated");
232
+ // Show recovery key
233
+ const formattedRecoveryKey = formatRecoveryKey(recoveryKey);
234
+ p.note(`
187
235
  ${formattedRecoveryKey}
188
236
 
189
237
  This is the ONLY way to recover your skills if you
@@ -191,46 +239,47 @@ export const runOnboarding = async () => {
191
239
  (password manager, printed paper, etc).
192
240
 
193
241
  We cannot recover your data.
194
- `.trim(), "SAVE YOUR RECOVERY KEY");
195
- const savedRecoveryKey = await p.confirm({
196
- message: "I have saved my recovery key",
197
- });
198
- if (p.isCancel(savedRecoveryKey) || !savedRecoveryKey) {
199
- const showAgain = await p.confirm({
200
- message: "Show recovery key again?",
201
- });
202
- if (showAgain) {
203
- p.note(formattedRecoveryKey, "RECOVERY KEY");
204
- }
205
- const reallySaved = await p.confirm({
242
+ `.trim(), "SAVE YOUR RECOVERY KEY");
243
+ const savedRecoveryKey = await p.confirm({
206
244
  message: "I have saved my recovery key",
207
245
  });
208
- if (p.isCancel(reallySaved) || !reallySaved) {
209
- p.cancel("You must save your recovery key to continue.");
210
- process.exit(0);
211
- }
212
- }
213
- p.log.success("Encryption configured");
214
- // Step 10: Check for existing skills and offer to sync
215
- const skills = await listAllSkills();
216
- if (skills.length > 0) {
217
- const syncNow = await p.confirm({
218
- message: `Found ${skills.length} item${skills.length === 1 ? "" : "s"} (skills, commands, agents). Push them now?`,
219
- });
220
- if (!p.isCancel(syncNow) && syncNow) {
221
- spinner.start("Pushing skills...");
222
- const { pushed, errors } = await pushSkills(masterKey, (msg) => {
223
- spinner.message(msg);
224
- }, undefined);
225
- spinner.stop("Push complete");
226
- if (pushed > 0) {
227
- p.log.success(`Pushed ${pushed} skill${pushed === 1 ? "" : "s"}`);
246
+ if (p.isCancel(savedRecoveryKey) || !savedRecoveryKey) {
247
+ const showAgain = await p.confirm({
248
+ message: "Show recovery key again?",
249
+ });
250
+ if (showAgain) {
251
+ p.note(formattedRecoveryKey, "RECOVERY KEY");
228
252
  }
229
- if (errors.length > 0) {
230
- p.log.warning("Some skills failed:");
231
- errors.forEach((error) => {
232
- p.log.error(` ${error}`);
233
- });
253
+ const reallySaved = await p.confirm({
254
+ message: "I have saved my recovery key",
255
+ });
256
+ if (p.isCancel(reallySaved) || !reallySaved) {
257
+ p.cancel("You must save your recovery key to continue.");
258
+ process.exit(0);
259
+ }
260
+ }
261
+ p.log.success("Encryption configured");
262
+ // Check for existing skills and offer to sync
263
+ const skills = await listAllSkills();
264
+ if (skills.length > 0) {
265
+ const syncNow = await p.confirm({
266
+ message: `Found ${skills.length} item${skills.length === 1 ? "" : "s"} (skills, commands, agents). Push them now?`,
267
+ });
268
+ if (!p.isCancel(syncNow) && syncNow) {
269
+ spinner.start("Pushing skills...");
270
+ const { pushed, errors } = await pushSkills(masterKey, (msg) => {
271
+ spinner.message(msg);
272
+ }, undefined);
273
+ spinner.stop("Push complete");
274
+ if (pushed > 0) {
275
+ p.log.success(`Pushed ${pushed} skill${pushed === 1 ? "" : "s"}`);
276
+ }
277
+ if (errors.length > 0) {
278
+ p.log.warning("Some skills failed:");
279
+ errors.forEach((error) => {
280
+ p.log.error(` ${error}`);
281
+ });
282
+ }
234
283
  }
235
284
  }
236
285
  }
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../src/onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../src/onboarding.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,16 @@
1
1
  {
2
2
  "name": "@claudeskill/cli",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
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": ["dist"],
10
+ "files": [
11
+ "dist",
12
+ "README.md"
13
+ ],
11
14
  "publishConfig": {
12
15
  "access": "public"
13
16
  },