@christiandoxa/prodex 0.2.126 → 0.2.128

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 (2) hide show
  1. package/README.md +97 -31
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -2,32 +2,51 @@
2
2
 
3
3
  [![CI](https://github.com/christiandoxa/prodex/actions/workflows/ci.yml/badge.svg)](https://github.com/christiandoxa/prodex/actions/workflows/ci.yml)
4
4
 
5
- `prodex` manages multiple isolated Codex profiles and lets Codex CLI or Claude Code run on top of the same OpenAI account pool.
5
+ Run multiple isolated Codex profiles on the same OpenAI account pool, with smart quota checks, clean profile separation, and continuation-aware routing.
6
6
 
7
- It is built for a simple setup:
7
+ `prodex` helps you manage multiple Codex identities without turning your workflow into a mess.
8
8
 
9
- - each account gets its own profile
10
- - quota is checked before launch
11
- - fresh work can move to another ready profile
12
- - existing continuations stay on the profile that already owns them
9
+ It is designed around a simple model:
10
+
11
+ - **One account = one profile**
12
+ - **Quota is checked before launch**
13
+ - **Fresh work can move to another ready profile**
14
+ - **Existing continuations stay with the profile that already owns them**
15
+
16
+ That means you can keep working smoothly across multiple accounts while preserving session continuity where it matters.
17
+
18
+ ## Why `prodex`?
19
+
20
+ Not everyone wants to pay $200 for a single account.
21
+
22
+ Sometimes it makes more sense to run 2 or 3 separate $20 accounts you already have. The problem is that doing it manually is annoying fast. You have to log in, log out, switch homes, check quota, and keep track of which session belongs to which account.
23
+
24
+ `prodex` exists to remove that pain.
25
+
26
+ It manages isolated profiles for each account, checks quota before launch, routes fresh work to an available profile, and keeps ongoing continuations attached to the right one.
27
+
28
+ Less account juggling, less friction, more actual work.
13
29
 
14
30
  ## Requirements
15
31
 
16
- - An OpenAI account, plus at least one logged-in Prodex profile
17
- - Codex CLI if you want to use `prodex`
18
- - Claude Code (`claude`) if you want to use `prodex claude`
32
+ Before using `prodex`, make sure you have:
33
+
34
+ - **An OpenAI account**, plus at least one logged-in Prodex profile
35
+ - **Codex CLI**, if you want to use `prodex`
36
+ - **Claude Code (`claude`)**, if you want to use `prodex claude`
19
37
 
20
- If you install `@christiandoxa/prodex` from npm, the Codex runtime dependency is installed for you. Claude Code is still a separate CLI and should already be available on your `PATH` when you use `prodex claude`.
38
+ > Installing `@christiandoxa/prodex` from npm also installs the Codex runtime dependency for you.
39
+ > Claude Code is still a separate CLI and must already be available on your `PATH` if you want to use `prodex claude`.
21
40
 
22
41
  ## Install
23
42
 
24
- Install from npm:
43
+ ### npm
25
44
 
26
45
  ```bash
27
46
  npm install -g @christiandoxa/prodex
28
47
  ```
29
48
 
30
- Or install from [crates.io](https://crates.io/crates/prodex):
49
+ ### Cargo
31
50
 
32
51
  ```bash
33
52
  cargo install prodex
@@ -43,14 +62,20 @@ Check your installed version:
43
62
  prodex --version
44
63
  ```
45
64
 
46
- The current local version in this repo is `0.2.126`:
65
+ The current local version in this repo is `0.2.128`:
47
66
 
48
67
  ```bash
49
- npm install -g @christiandoxa/prodex@0.2.126
50
- cargo install prodex --force --version 0.2.126
68
+ npm install -g @christiandoxa/prodex@0.2.128
69
+ cargo install prodex --force --version 0.2.128
51
70
  ```
52
71
 
53
- If you want to switch from a Cargo-installed binary to npm:
72
+ Dependency status in this repo:
73
+
74
+ - The npm runtime dependency is already at the latest published `@openai/codex` release: `0.118.0`
75
+ - `cargo update` currently produces no Rust lockfile changes on the Rust `1.94.1` compatible graph used by this project
76
+ - `generic-array` remains pinned transitively by `crypto-common`, and `sha2 0.11` would require a wider RustCrypto compatibility jump than this release
77
+
78
+ Switching from a Cargo-installed binary to npm?
54
79
 
55
80
  ```bash
56
81
  cargo uninstall prodex
@@ -65,21 +90,21 @@ If your shared Codex home already contains a login:
65
90
  prodex profile import-current main
66
91
  ```
67
92
 
68
- Or create a profile through the normal login flow:
93
+ Or create a profile through the usual login flow:
69
94
 
70
95
  ```bash
71
96
  prodex login
72
97
  prodex login --device-auth
73
98
  ```
74
99
 
75
- If you want to name the profile first:
100
+ Want to name the profile first?
76
101
 
77
102
  ```bash
78
103
  prodex profile add second
79
104
  prodex login --profile second
80
105
  ```
81
106
 
82
- Check the pool:
107
+ Check your profile pool and quota status:
83
108
 
84
109
  ```bash
85
110
  prodex profile list
@@ -95,11 +120,50 @@ prodex exec "review this repo"
95
120
  prodex claude -- -p "summarize this repo"
96
121
  ```
97
122
 
98
- `prodex` without a subcommand is shorthand for `prodex run`.
123
+ > `prodex` without a subcommand is shorthand for `prodex run`.
124
+
125
+ ## Common Workflows
126
+
127
+ ### 1. Create or import profiles
128
+
129
+ ```bash
130
+ prodex profile import-current main
131
+ prodex profile add second
132
+ prodex login --profile second
133
+ ```
134
+
135
+ ### 2. Inspect your pool
136
+
137
+ ```bash
138
+ prodex profile list
139
+ prodex quota --all
140
+ prodex info
141
+ ```
142
+
143
+ ### 3. Run Codex with automatic profile selection
144
+
145
+ ```bash
146
+ prodex
147
+ prodex run
148
+ prodex exec "review this repo"
149
+ ```
150
+
151
+ ### 4. Resume an existing session on the correct profile
152
+
153
+ ```bash
154
+ prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
155
+ ```
156
+
157
+ ### 5. Run Claude Code through the same profile pool
158
+
159
+ ```bash
160
+ prodex claude -- -p "summarize this repo"
161
+ prodex claude --profile second -- -p --output-format json "show the latest diff"
162
+ ```
99
163
 
100
- ## Important Commands
164
+ ## Command Reference
101
165
 
102
- ### Profile And Login
166
+ ### Profile & Login
103
167
 
104
168
  ```bash
105
169
  prodex profile list
@@ -114,7 +178,7 @@ prodex logout --profile main
114
178
  prodex profile remove second
115
179
  ```
116
180
 
117
- ### Run With Codex CLI
181
+ ### Run with Codex CLI
118
182
 
119
183
  ```bash
120
184
  prodex
@@ -125,14 +189,14 @@ prodex run 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
125
189
  printf 'context from stdin' | prodex run exec "summarize this"
126
190
  ```
127
191
 
128
- ### Run With Claude Code
192
+ ### Run with Claude Code
129
193
 
130
194
  ```bash
131
195
  prodex claude -- -p "summarize this repo"
132
196
  prodex claude --profile second -- -p --output-format json "show the latest diff"
133
197
  ```
134
198
 
135
- ### Export And Import Profiles
199
+ ### Export & Import Profiles
136
200
 
137
201
  ```bash
138
202
  prodex profile export
@@ -141,9 +205,10 @@ prodex profile export --profile main --profile second backup.json
141
205
  prodex profile import backup.json
142
206
  ```
143
207
 
144
- `prodex profile export` includes each exported profile's `auth.json`. By default it exports every configured profile and asks whether the bundle should be password-protected.
208
+ `prodex profile export` includes each exported profiles `auth.json`.
209
+ By default, it exports every configured profile and asks whether the bundle should be password-protected.
145
210
 
146
- ### Quota, Status, And Debugging
211
+ ### Quota, Status & Debugging
147
212
 
148
213
  ```bash
149
214
  prodex quota --all
@@ -163,13 +228,14 @@ prodex doctor --runtime
163
228
  tail -n 200 "$(cat /tmp/prodex-runtime-latest.path)"
164
229
  ```
165
230
 
166
- Use `prodex cleanup` to remove stale local runtime logs, temp login homes, dead broker leases and registries, plus old orphaned managed profile homes that are no longer tracked in state.
231
+ Use `prodex cleanup` to remove stale local runtime logs, temporary login homes, dead broker leases and registries, plus old orphaned managed profile homes that are no longer tracked in state.
167
232
 
168
233
  ## Notes
169
234
 
170
- - Managed profiles share persisted Codex state through Prodex-owned shared storage.
171
- - `prodex quota --all` refreshes live by default. Use `--once` for a one-shot snapshot.
235
+ * Managed profiles share persisted Codex state through Prodex-owned shared storage.
236
+ * `prodex quota --all` refreshes live by default.
237
+ * Use `--once` if you only want a one-shot snapshot.
172
238
 
173
- ## More
239
+ ## Learn More
174
240
 
175
241
  For a longer walkthrough, see [QUICKSTART.md](./QUICKSTART.md).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christiandoxa/prodex",
3
- "version": "0.2.126",
3
+ "version": "0.2.128",
4
4
  "description": "Safe multi-account auto-rotate for Codex CLI with isolated CODEX_HOME profiles",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -16,12 +16,12 @@
16
16
  "@openai/codex": "^0.118.0"
17
17
  },
18
18
  "optionalDependencies": {
19
- "@christiandoxa/prodex-linux-x64": "0.2.126",
20
- "@christiandoxa/prodex-linux-arm64": "0.2.126",
21
- "@christiandoxa/prodex-darwin-x64": "0.2.126",
22
- "@christiandoxa/prodex-darwin-arm64": "0.2.126",
23
- "@christiandoxa/prodex-win32-x64": "0.2.126",
24
- "@christiandoxa/prodex-win32-arm64": "0.2.126"
19
+ "@christiandoxa/prodex-linux-x64": "0.2.128",
20
+ "@christiandoxa/prodex-linux-arm64": "0.2.128",
21
+ "@christiandoxa/prodex-darwin-x64": "0.2.128",
22
+ "@christiandoxa/prodex-darwin-arm64": "0.2.128",
23
+ "@christiandoxa/prodex-win32-x64": "0.2.128",
24
+ "@christiandoxa/prodex-win32-arm64": "0.2.128"
25
25
  },
26
26
  "engines": {
27
27
  "node": ">=18"