swixter 0.1.2 → 0.1.3

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 (3) hide show
  1. package/README.md +43 -11
  2. package/dist/cli/index.js +4509 -1690
  3. package/package.json +6 -4
package/README.md CHANGED
@@ -260,8 +260,8 @@ Sync your profiles and provider configs across devices with end-to-end encryptio
260
260
  ### Quick Start
261
261
 
262
262
  ```bash
263
- swixter auth register # Create account
264
- swixter auth login # Sign in (password)
263
+ swixter auth register # Create account with email verification
264
+ swixter auth login # Sign in with email + password
265
265
  swixter auth login --magic-link # Sign in via magic link email
266
266
  swixter sync push # Upload encrypted config to cloud
267
267
  swixter sync pull # Download and merge from cloud
@@ -271,14 +271,43 @@ swixter sync status # Check sync state
271
271
  ### Auth Commands
272
272
 
273
273
  ```bash
274
- swixter auth register # Create a new account
275
- swixter auth login # Sign in with email + password
276
- swixter auth login --magic-link # Sign in via magic link
277
- swixter auth logout # Sign out
278
- swixter auth status # Check login status
279
- swixter auth delete-account # Delete your account and cloud data
274
+ swixter auth register # Create a new account (email verification)
275
+ swixter auth login # Sign in with email + password
276
+ swixter auth login --magic-link # Sign in via magic link (browser or manual token)
277
+ swixter auth logout # Sign out
278
+ swixter auth status # Check login status
279
+ swixter auth delete-account # Delete your account and cloud data
280
280
  ```
281
281
 
282
+ ### Registration Flow
283
+
284
+ Creating an account uses email verification:
285
+
286
+ 1. Enter your email address
287
+ 2. A 6-digit verification code is sent to your email
288
+ 3. Enter the verification code
289
+ 4. Create a login password (min 6 characters)
290
+ 5. Optionally set a display name
291
+ 6. After registration, set up **end-to-end encryption** with a master password (min 8 characters, separate from your login password)
292
+ 7. Choose whether to save the encryption key locally for automatic sync
293
+
294
+ ### Login Options
295
+
296
+ **Password Login:**
297
+ ```bash
298
+ swixter auth login
299
+ # Enter email and password
300
+ ```
301
+
302
+ **Magic Link Login:**
303
+ ```bash
304
+ swixter auth login --magic-link
305
+ # Enter email → check email → click the link → CLI detects it automatically
306
+ # Or press Enter to enter the token manually
307
+ ```
308
+
309
+ After magic link login, you'll be prompted to set a login password for future sign-ins.
310
+
282
311
  ### Sync Commands
283
312
 
284
313
  ```bash
@@ -291,7 +320,7 @@ swixter sync enable # Enable auto sync
291
320
  swixter sync disable # Disable auto sync
292
321
  ```
293
322
 
294
- ### How It Works
323
+ ### Encryption & Security
295
324
 
296
325
  ```
297
326
  Local Config → Derive Encryption Key → Encrypt Sensitive Fields → Upload to Cloud
@@ -299,9 +328,12 @@ Local Config → Derive Encryption Key → Encrypt Sensitive Fields → Upload t
299
328
  Cloud → Download → Decrypt → Merge with Local Config → Apply
300
329
  ```
301
330
 
302
- - **End-to-end encryption**: Sensitive fields (API keys, auth tokens) are encrypted using a key derived from your master password before leaving your machine
331
+ - **End-to-end encryption**: Sensitive fields (API keys, auth tokens) are encrypted with AES-GCM using a key derived from your master password via PBKDF2 before leaving your machine
332
+ - **Master password**: Separate from your login password. Used only for encryption. If forgotten, your cloud data cannot be decrypted
333
+ - **Save encryption key**: You can save the derived key locally for convenience (automatic sync without re-entering master password), or enter it each time
303
334
  - **Version-based conflict detection**: Local and remote versions are tracked to detect and handle conflicts
304
- - **Selective push/pull**: Only config and providers data are synced; local-only settings stay untouched
335
+ - **Selective push/pull**: Only profiles and custom providers are synced; local-only settings stay untouched
336
+ - **Switching accounts**: When logging in as a different user, you'll be prompted to pull their cloud data, push your local data, or skip
305
337
 
306
338
  ## Other Commands
307
339