@christiandoxa/prodex 0.23.0 → 0.24.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 +72 -33
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -2,31 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/christiandoxa/prodex/actions/workflows/ci.yml)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
`prodex` is a wrapper around Codex / Claude Code setups when you want to work with multiple isolated profiles.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Main use case: one account per profile, quota checked before launch, and new sessions can hop to another ready profile when the current one is not a good candidate. Existing sessions stay pinned to the profile they started with.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
It can also launch Caveman mode, and optionally wire Claude-Mem into the selected session path.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
- `prodex
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- one account = one profile
|
|
14
|
+
- isolated profile homes
|
|
15
|
+
- quota preflight before launch
|
|
16
|
+
- rotates fresh work to another ready profile
|
|
17
|
+
- keeps continuation/session affinity
|
|
18
|
+
- `prodex caveman` for Codex + Caveman
|
|
19
|
+
- `prodex caveman mem` for Codex + Caveman + Claude-Mem
|
|
20
|
+
- `prodex claude` for Claude Code through the same pool
|
|
21
|
+
- `prodex claude caveman` for Claude Code + Caveman
|
|
22
|
+
- `prodex claude caveman mem` for Claude Code + Caveman + Claude-Mem
|
|
19
23
|
|
|
20
24
|
## Requirements
|
|
21
25
|
|
|
22
|
-
|
|
26
|
+
You need at least one logged-in Prodex profile.
|
|
27
|
+
|
|
28
|
+
Depending on what you want to run:
|
|
29
|
+
|
|
23
30
|
- Codex CLI for `prodex` and `prodex caveman`
|
|
24
31
|
- Claude Code (`claude`) for `prodex claude` and `prodex claude caveman`
|
|
25
|
-
-
|
|
32
|
+
- optionally `claude-mem` for `mem` variants
|
|
33
|
+
|
|
34
|
+
Installing `@christiandoxa/prodex` from npm also installs the pinned Codex runtime dependency:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm install -g @christiandoxa/prodex
|
|
38
|
+
````
|
|
26
39
|
|
|
27
|
-
|
|
40
|
+
That pulls in `@openai/codex@0.121.0` as well. Claude Code is still separate.
|
|
28
41
|
|
|
29
|
-
If you want
|
|
42
|
+
If you want Claude-Mem support, install it with the upstream installer:
|
|
30
43
|
|
|
31
44
|
```bash
|
|
32
45
|
npx claude-mem install --ide codex-cli
|
|
@@ -48,22 +61,22 @@ npm install -g @christiandoxa/prodex
|
|
|
48
61
|
cargo install prodex
|
|
49
62
|
```
|
|
50
63
|
|
|
51
|
-
|
|
64
|
+
If you want a pinned version:
|
|
52
65
|
|
|
53
66
|
```bash
|
|
54
|
-
npm install -g @christiandoxa/prodex@0.
|
|
55
|
-
cargo install prodex --force --version 0.
|
|
67
|
+
npm install -g @christiandoxa/prodex@0.24.0
|
|
68
|
+
cargo install prodex --force --version 0.24.0
|
|
56
69
|
```
|
|
57
70
|
|
|
58
|
-
## Quick
|
|
71
|
+
## Quick start
|
|
59
72
|
|
|
60
|
-
If your shared Codex home already
|
|
73
|
+
If your current shared Codex home is already logged in:
|
|
61
74
|
|
|
62
75
|
```bash
|
|
63
76
|
prodex profile import-current main
|
|
64
77
|
```
|
|
65
78
|
|
|
66
|
-
Or
|
|
79
|
+
Or do it from scratch:
|
|
67
80
|
|
|
68
81
|
```bash
|
|
69
82
|
prodex login
|
|
@@ -71,14 +84,21 @@ prodex profile add second
|
|
|
71
84
|
prodex login --profile second
|
|
72
85
|
```
|
|
73
86
|
|
|
74
|
-
|
|
87
|
+
Import a currently logged-in Copilot CLI account into Prodex metadata:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
prodex profile import copilot
|
|
91
|
+
prodex profile import copilot --name copilot-main --activate
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Check what Prodex sees:
|
|
75
95
|
|
|
76
96
|
```bash
|
|
77
97
|
prodex profile list
|
|
78
98
|
prodex quota --all
|
|
79
99
|
```
|
|
80
100
|
|
|
81
|
-
Run through Prodex:
|
|
101
|
+
Run stuff through Prodex:
|
|
82
102
|
|
|
83
103
|
```bash
|
|
84
104
|
prodex
|
|
@@ -91,15 +111,16 @@ prodex claude caveman -- -p "summarize this repo briefly"
|
|
|
91
111
|
prodex claude caveman mem -- -p "summarize this repo briefly"
|
|
92
112
|
```
|
|
93
113
|
|
|
94
|
-
`prodex`
|
|
114
|
+
`prodex` with no subcommand is just `prodex run`.
|
|
95
115
|
|
|
96
|
-
##
|
|
116
|
+
## Commands
|
|
97
117
|
|
|
98
118
|
### Profiles
|
|
99
119
|
|
|
100
120
|
```bash
|
|
101
121
|
prodex profile list
|
|
102
122
|
prodex profile add second
|
|
123
|
+
prodex profile import copilot
|
|
103
124
|
prodex profile import-current main
|
|
104
125
|
prodex login --profile second
|
|
105
126
|
prodex use --profile main
|
|
@@ -108,6 +129,12 @@ prodex profile remove second
|
|
|
108
129
|
prodex profile remove --all
|
|
109
130
|
```
|
|
110
131
|
|
|
132
|
+
A note on Copilot import:
|
|
133
|
+
|
|
134
|
+
`prodex profile import copilot` does **not** move the Copilot token into Prodex-managed storage. The token stays where Copilot already keeps it. Prodex only records the provider identity and API endpoint in its own metadata.
|
|
135
|
+
|
|
136
|
+
The imported profile shows up in the pool and export/import flows, but `prodex run`, `prodex login`, `prodex logout`, and `prodex quota` still only work with OpenAI/Codex profiles right now.
|
|
137
|
+
|
|
111
138
|
### Codex
|
|
112
139
|
|
|
113
140
|
```bash
|
|
@@ -129,9 +156,11 @@ prodex caveman exec "review this repo in caveman mode"
|
|
|
129
156
|
prodex caveman 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
|
|
130
157
|
```
|
|
131
158
|
|
|
132
|
-
`prodex caveman` uses the Caveman plugin from [JuliusBrussee/caveman](https://github.com/JuliusBrussee/caveman) and launches Codex
|
|
159
|
+
`prodex caveman` uses the Caveman plugin from [JuliusBrussee/caveman](https://github.com/JuliusBrussee/caveman) and launches Codex with a temporary overlay `CODEX_HOME`.
|
|
160
|
+
|
|
161
|
+
That matters because the base profile home is left alone after the session exits.
|
|
133
162
|
|
|
134
|
-
|
|
163
|
+
If you use the `mem` variant, Prodex points an existing Claude-Mem Codex setup at the active Prodex session path instead of the default `~/.codex/sessions` tree.
|
|
135
164
|
|
|
136
165
|
### Claude Code
|
|
137
166
|
|
|
@@ -146,13 +175,17 @@ prodex claude --profile second caveman -- -p "review the latest diff briefly"
|
|
|
146
175
|
prodex claude --profile second -- -p --output-format json "show the latest diff"
|
|
147
176
|
```
|
|
148
177
|
|
|
149
|
-
Use `prodex claude` for the normal Claude Code path
|
|
178
|
+
Use `prodex claude` for the normal Claude Code path.
|
|
150
179
|
|
|
151
|
-
|
|
180
|
+
Use `prodex claude caveman` if you want Claude Code with Caveman preloaded.
|
|
152
181
|
|
|
153
|
-
|
|
182
|
+
The `caveman` prefix loads the plugin for that session only while still keeping state under the Prodex-managed `CLAUDE_CONFIG_DIR`, not global `~/.claude`.
|
|
154
183
|
|
|
155
|
-
|
|
184
|
+
The `mem` prefix loads an existing Claude-Mem Claude Code install via Claude's `--plugin-dir` support.
|
|
185
|
+
|
|
186
|
+
`prodex claude caveman mem` combines both.
|
|
187
|
+
|
|
188
|
+
### Export / quota / debug
|
|
156
189
|
|
|
157
190
|
```bash
|
|
158
191
|
prodex profile export
|
|
@@ -161,6 +194,12 @@ prodex quota --all --once
|
|
|
161
194
|
prodex doctor --runtime
|
|
162
195
|
```
|
|
163
196
|
|
|
164
|
-
##
|
|
197
|
+
## Notes
|
|
198
|
+
|
|
199
|
+
This is basically a profile/session router for people who do a lot of CLI-driven agent work and do not want everything tied to one mutable global home.
|
|
200
|
+
|
|
201
|
+
If you only use one account and do not care about quota-aware routing or keeping sessions attached to their original profile, you probably do not need it.
|
|
202
|
+
|
|
203
|
+
## More
|
|
165
204
|
|
|
166
|
-
|
|
205
|
+
See [QUICKSTART.md](./QUICKSTART.md) for the longer walkthrough.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@christiandoxa/prodex",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.0",
|
|
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.121.0"
|
|
17
17
|
},
|
|
18
18
|
"optionalDependencies": {
|
|
19
|
-
"@christiandoxa/prodex-linux-x64": "0.
|
|
20
|
-
"@christiandoxa/prodex-linux-arm64": "0.
|
|
21
|
-
"@christiandoxa/prodex-darwin-x64": "0.
|
|
22
|
-
"@christiandoxa/prodex-darwin-arm64": "0.
|
|
23
|
-
"@christiandoxa/prodex-win32-x64": "0.
|
|
24
|
-
"@christiandoxa/prodex-win32-arm64": "0.
|
|
19
|
+
"@christiandoxa/prodex-linux-x64": "0.24.0",
|
|
20
|
+
"@christiandoxa/prodex-linux-arm64": "0.24.0",
|
|
21
|
+
"@christiandoxa/prodex-darwin-x64": "0.24.0",
|
|
22
|
+
"@christiandoxa/prodex-darwin-arm64": "0.24.0",
|
|
23
|
+
"@christiandoxa/prodex-win32-x64": "0.24.0",
|
|
24
|
+
"@christiandoxa/prodex-win32-arm64": "0.24.0"
|
|
25
25
|
},
|
|
26
26
|
"engines": {
|
|
27
27
|
"node": ">=18"
|