@youdie006/swapdex 0.152.0 → 0.153.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/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  <div align="center">
2
2
 
3
- <img src="https://raw.githubusercontent.com/youdie006/swapdex/main/docs/cli-banner.png" alt="swapdex - switch Claude Code and Codex login accounts, one command, all local" width="760" />
3
+ <img src="https://raw.githubusercontent.com/youdie006/swapdex/main/docs/cli-banner.png" alt="swapdex - switch Claude Code, Codex, Gemini CLI and Antigravity login accounts, one command, all local" width="760" />
4
4
 
5
5
  [![CI](https://github.com/youdie006/swapdex/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/youdie006/swapdex/actions/workflows/ci.yml)
6
+ [![crates.io](https://img.shields.io/crates/v/swapdex?logo=rust&color=7a3be0)](https://crates.io/crates/swapdex)
7
+ [![npm](https://img.shields.io/npm/v/%40youdie006%2Fswapdex?logo=npm&color=7a3be0)](https://www.npmjs.com/package/@youdie006/swapdex)
6
8
  [![license](https://img.shields.io/badge/license-MIT-1e1d1a.svg)](LICENSE)
7
9
  [![switcher: no network](https://img.shields.io/badge/switcher-no%20network-7a3be0.svg)](#what-it-will-not-do)
8
10
 
@@ -15,9 +17,18 @@ command, `swapdex quota`, reads your remaining balance from Anthropic; nothing
15
17
  else does.)
16
18
 
17
19
  <div align="center">
18
- <img src="https://raw.githubusercontent.com/youdie006/swapdex/main/docs/demo.gif" alt="swapdex demo: ls, use personal, status, restore, doctor" width="760" />
20
+ <img src="https://raw.githubusercontent.com/youdie006/swapdex/main/docs/demo.gif" alt="swapdex demo: ls lists two saved accounts, use personal switches Claude Code and Codex together, status confirms both, restore puts the previous login back" width="760" />
19
21
  </div>
20
22
 
23
+ ```sh
24
+ brew install youdie006/tap/swapdex # macOS / Linux
25
+ npm i -g @youdie006/swapdex # or, if you have node
26
+ cargo install swapdex # or, if you have rust
27
+ ```
28
+
29
+ Then `swapdex add work`, `swapdex add personal`, and `swapdex use personal`.
30
+ [Full install notes](#install) &middot; [what it will not do](#what-it-will-not-do).
31
+
21
32
  ---
22
33
 
23
34
  ## Why
@@ -58,7 +69,8 @@ no proxy, no client spoofing.
58
69
  <sub>swapdex still keeps the classic snapshot commands (`add` copies a live login
59
70
  into a profile, `use` on that profile swaps it back, guarded against the
60
71
  running-session logout) for the shared-slot workflow; `swapdex migrate` moves
61
- those profiles onto their own slots.</sub>
72
+ Claude and Codex profiles whose accounts are not already slotted onto their own
73
+ slots.</sub>
62
74
 
63
75
  ## Install
64
76
 
@@ -133,7 +145,8 @@ The classic snapshot commands still work for the shared-slot workflow: `swapdex
133
145
  add <name>` snapshots the current login, `swapdex use <name>` swaps it back
134
146
  (backed up first, and refused while a `claude` session is running on that login
135
147
  so it can't be logged out), `swapdex restore` undoes the last swap, and `swapdex
136
- ui` is the full-screen picker. `swapdex migrate` moves these onto their own slots.
148
+ ui` is the full-screen picker. `swapdex migrate` matches Claude and Codex
149
+ profiles to slots by account and creates spaces only for accounts without one.
137
150
 
138
151
  `status` shows the live account per tool, matched back to a saved profile:
139
152
 
@@ -204,6 +217,17 @@ has expired reports so rather than showing a stale number (swapdex never
204
217
  refreshes tokens -- that is the line between a switcher and a rotator). It is
205
218
  also in `swapdex ui` under the `%` key.
206
219
 
220
+ ### The dashboard
221
+
222
+ `swapdex ui` is the same thing without the commands: your accounts, which one is
223
+ active, and how much each has left. On a machine with no profiles yet it opens on
224
+ what you are *already* signed into and offers to save that as your first one, so
225
+ setup is one keystroke and a name.
226
+
227
+ <div align="center">
228
+ <img src="https://raw.githubusercontent.com/youdie006/swapdex/main/docs/ui-demo.gif" alt="swapdex ui on a fresh machine: it finds the Claude Code and Codex logins already present, saves them as a profile named main, and shows the account with its 5h and 7d usage bars" width="760" />
229
+ </div>
230
+
207
231
  ## How it works
208
232
 
209
233
  **Slots (the model swapdex uses now).** Each account gets its own
@@ -234,7 +258,8 @@ your projects, MCP servers, and settings are untouched. That switch is refused
234
258
  while a `claude` session is running on the same login slot, since the session's
235
259
  next token refresh would otherwise revoke the saved copy. On macOS the Claude
236
260
  token lives in the login Keychain, one item per `CLAUDE_CONFIG_DIR`. `swapdex
237
- migrate` moves these profiles onto their own slots, retiring the shared slot.
261
+ migrate [--tool claude|codex]` moves unslotted Claude and Codex profiles onto
262
+ their own slots, retiring the shared homes.
238
263
 
239
264
  ## Safety
240
265
 
package/man/swapdex.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH swapdex 1 "swapdex 0.152.0"
3
+ .TH swapdex 1 "swapdex 0.153.0"
4
4
  .SH NAME
5
5
  swapdex \- Switch Claude Code / Codex / Gemini / Antigravity login accounts, locally and safely.
6
6
  .SH SYNOPSIS
@@ -47,7 +47,7 @@ swapdex\-adopt(1)
47
47
  Register an existing CLAUDE_CONFIG_DIR directory as a slot (in place)
48
48
  .TP
49
49
  swapdex\-migrate(1)
50
- Give each legacy Claude profile its own permanent slot
50
+ Give each legacy Claude/Codex profile account its own permanent slot
51
51
  .TP
52
52
  swapdex\-onboard(1)
53
53
  Guided setup: register/migrate your accounts into permanent slots
@@ -130,4 +130,4 @@ Print the man page (roff) to stdout
130
130
  swapdex\-help(1)
131
131
  Print this message or the help of the given subcommand(s)
132
132
  .SH VERSION
133
- v0.152.0
133
+ v0.153.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@youdie006/swapdex",
3
- "version": "0.152.0",
3
+ "version": "0.153.0",
4
4
  "description": "Switch between multiple Claude Code, Codex, Gemini, and Antigravity login accounts, locally and safely.",
5
5
  "bin": {
6
6
  "swapdex": "bin/swapdex.js"
@@ -12,10 +12,10 @@
12
12
  "man/swapdex.1"
13
13
  ],
14
14
  "optionalDependencies": {
15
- "@youdie006/swapdex-darwin-arm64": "0.152.0",
16
- "@youdie006/swapdex-darwin-x64": "0.152.0",
17
- "@youdie006/swapdex-linux-x64": "0.152.0",
18
- "@youdie006/swapdex-linux-arm64": "0.152.0"
15
+ "@youdie006/swapdex-darwin-arm64": "0.153.0",
16
+ "@youdie006/swapdex-darwin-x64": "0.153.0",
17
+ "@youdie006/swapdex-linux-x64": "0.153.0",
18
+ "@youdie006/swapdex-linux-arm64": "0.153.0"
19
19
  },
20
20
  "keywords": [
21
21
  "cli",