@christiandoxa/prodex 0.103.0 → 0.105.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.
Files changed (2) hide show
  1. package/README.md +254 -16
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -46,13 +46,17 @@ You need at least one logged-in Prodex profile.
46
46
 
47
47
  ## Installation
48
48
 
49
- ### npm
49
+ <details open>
50
+ <summary>Install from npm</summary>
50
51
 
51
52
  ```bash
52
53
  npm install -g @christiandoxa/prodex
53
54
  ```
54
55
 
55
- ### Source checkout
56
+ </details>
57
+
58
+ <details>
59
+ <summary>Install from source checkout</summary>
56
60
 
57
61
  ```bash
58
62
  cargo install --path .
@@ -60,21 +64,35 @@ cargo install --path .
60
64
 
61
65
  If you install from source, make sure the `codex` binary in your `PATH` is already installed and up to date.
62
66
 
67
+ </details>
68
+
63
69
  ## Optional tools
64
70
 
65
- `prodex` can run without Claude-Mem or RTK.
71
+ `prodex` can run without Claude-Mem, RTK, SQZ, token-savior, claw-compactor, llm-min docs, or Presidio.
66
72
 
67
73
  Install them only if you want to use commands such as:
68
74
 
75
+ <details>
76
+ <summary>Optional tool commands</summary>
77
+
69
78
  ```bash
70
79
  prodex caveman mem
71
80
  prodex caveman mem rtk
81
+ prodex rtk
82
+ prodex sqz
83
+ prodex tokensavior
84
+ prodex clawcompactor
85
+ prodex llmmin
86
+ prodex presidio doctor
87
+ prodex presidio redact --text "My phone is 212-555-1234"
72
88
  prodex s
73
89
  prodex super
74
90
  prodex claude mem
75
91
  prodex claude caveman mem
76
92
  ```
77
93
 
94
+ </details>
95
+
78
96
  <details>
79
97
  <summary>Install Claude-Mem</summary>
80
98
 
@@ -109,13 +127,13 @@ RTK is used by the `rtk` variants and by my daily `prodex s` / `prodex super` wo
109
127
  ### Homebrew
110
128
 
111
129
  ```bash
112
- brew install rtk
130
+ brew install rtk-ai/tap/rtk
113
131
  ```
114
132
 
115
133
  ### Linux/macOS quick install
116
134
 
117
135
  ```bash
118
- curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
136
+ curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/master/install.sh | sh
119
137
  ```
120
138
 
121
139
  If it installs to `~/.local/bin`, make sure that directory is in your `PATH`:
@@ -133,7 +151,7 @@ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
133
151
  ### Cargo
134
152
 
135
153
  ```bash
136
- cargo install --git https://github.com/rtk-ai/rtk
154
+ cargo install --git https://github.com/rtk-ai/rtk rtk
137
155
  ```
138
156
 
139
157
  ### Verify RTK
@@ -149,7 +167,7 @@ Remove it and reinstall from the Git URL:
149
167
 
150
168
  ```bash
151
169
  cargo uninstall rtk
152
- cargo install --git https://github.com/rtk-ai/rtk
170
+ cargo install --git https://github.com/rtk-ai/rtk rtk
153
171
  ```
154
172
 
155
173
  ### Initialize RTK
@@ -170,9 +188,193 @@ Then restart your coding tool.
170
188
 
171
189
  </details>
172
190
 
191
+ <details>
192
+ <summary>Install SQZ</summary>
193
+
194
+ SQZ is used by `prodex sqz` and by Super mode when the `sqz-mcp` binary is available on `PATH` or under a managed optimizer checkout.
195
+
196
+ Recommended Linux/macOS install:
197
+
198
+ ```bash
199
+ curl -fsSL https://raw.githubusercontent.com/ojuschugh1/sqz/main/install.sh | sh
200
+ ```
201
+
202
+ Windows PowerShell:
203
+
204
+ ```powershell
205
+ irm https://raw.githubusercontent.com/ojuschugh1/sqz/main/install.ps1 | iex
206
+ ```
207
+
208
+ Alternative npm install:
209
+
210
+ ```bash
211
+ npm install -g sqz-cli
212
+ ```
213
+
214
+ Optional source install:
215
+
216
+ ```bash
217
+ cargo install sqz-cli
218
+ ```
219
+
220
+ Initialize hooks if you also want SQZ outside Prodex:
221
+
222
+ ```bash
223
+ sqz init --global
224
+ # or only for the current project
225
+ sqz init
226
+ ```
227
+
228
+ Verify:
229
+
230
+ ```bash
231
+ sqz --version
232
+ sqz gain
233
+ which sqz-mcp
234
+ ```
235
+
236
+ Prodex auto-registers `prodex-sqz` for Super/Caveman overlay sessions when `sqz-mcp` is discoverable.
237
+
238
+ </details>
239
+
240
+ <details>
241
+ <summary>Install token-savior</summary>
242
+
243
+ token-savior is used by `prodex tokensavior` and by Super mode when the `token-savior` binary is available on `PATH` or under a managed optimizer checkout.
244
+
245
+ Recommended isolated install:
246
+
247
+ ```bash
248
+ git clone https://github.com/Mibayy/token-savior ~/.local/share/token-savior
249
+ python3 -m venv ~/.local/token-savior-venv
250
+ ~/.local/token-savior-venv/bin/pip install -e "$HOME/.local/share/token-savior[mcp]"
251
+ ln -sf ~/.local/token-savior-venv/bin/token-savior ~/.local/bin/token-savior
252
+ ```
253
+
254
+ Make sure `~/.local/bin` is on `PATH`:
255
+
256
+ ```bash
257
+ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
258
+ ```
259
+
260
+ If you use Zsh:
261
+
262
+ ```bash
263
+ echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
264
+ ```
265
+
266
+ Verify:
267
+
268
+ ```bash
269
+ token-savior --help
270
+ which token-savior
271
+ ```
272
+
273
+ Prodex handles MCP registration for its own overlay session when it can find the binary, so you do not need to manually edit `.mcp.json` just for `prodex super`.
274
+
275
+ </details>
276
+
277
+ <details>
278
+ <summary>Install claw-compactor</summary>
279
+
280
+ claw-compactor is used by `prodex clawcompactor` and by Super mode as a deterministic/local context compaction aid.
281
+
282
+ Recommended source install:
283
+
284
+ ```bash
285
+ git clone https://github.com/aeromomo/claw-compactor.git ~/.local/share/claw-compactor
286
+ python3 -m venv ~/.local/claw-compactor-venv
287
+ ~/.local/claw-compactor-venv/bin/pip install -e "$HOME/.local/share/claw-compactor[accurate]"
288
+ ```
289
+
290
+ If you only need exact token counting for the scripts:
291
+
292
+ ```bash
293
+ ~/.local/claw-compactor-venv/bin/pip install tiktoken
294
+ ```
295
+
296
+ Expose the checkout to Prodex's managed optimizer discovery:
297
+
298
+ ```bash
299
+ mkdir -p ~/.local/share/prodex-optimizers
300
+ ln -sfn ~/.local/share/claw-compactor ~/.local/share/prodex-optimizers/claw-compactor
301
+ ```
302
+
303
+ Quick non-destructive benchmark:
304
+
305
+ ```bash
306
+ python3 ~/.local/share/claw-compactor/scripts/mem_compress.py /path/to/workspace benchmark
307
+ ```
308
+
309
+ </details>
310
+
311
+ <details>
312
+ <summary>Install or generate llm-min docs</summary>
313
+
314
+ `prodex llmmin` and Super mode look for checked-in `llm-min.txt`-style documentation. Prodex does not require the `llm-min` generator at runtime.
315
+
316
+ Install the upstream generator only when you want to create or refresh those docs:
317
+
318
+ ```bash
319
+ python3 -m pip install llm-min
320
+ playwright install
321
+ ```
322
+
323
+ `llm-min` uses Gemini for document compression, so set a Gemini API key before generating docs:
324
+
325
+ ```bash
326
+ export GEMINI_API_KEY=your_api_key_here
327
+ ```
328
+
329
+ Generate from local docs:
330
+
331
+ ```bash
332
+ llm-min -i ./docs -o ./llm_min_docs -n project
333
+ ```
334
+
335
+ Then check in or reference the generated `llm-min.txt`/`llm-full.txt` artifacts as appropriate for your repo. If you do not want remote model calls, skip the generator and provide hand-written or checked-in `llm-min.txt` files.
336
+
337
+ </details>
338
+
339
+ <details>
340
+ <summary>Install Presidio</summary>
341
+
342
+ Presidio is used by `prodex presidio` and by the optional Super-mode privacy prompt. It runs as local Analyzer and Anonymizer HTTP services.
343
+
344
+ Fast Docker install using Microsoft's published images:
345
+
346
+ ```bash
347
+ docker pull mcr.microsoft.com/presidio-analyzer
348
+ docker pull mcr.microsoft.com/presidio-anonymizer
349
+
350
+ docker run -d --name presidio-analyzer -p 5002:3000 mcr.microsoft.com/presidio-analyzer:latest
351
+ docker run -d --name presidio-anonymizer -p 5001:3000 mcr.microsoft.com/presidio-anonymizer:latest
352
+ ```
353
+
354
+ Source checkout with Compose:
355
+
356
+ ```bash
357
+ git clone https://github.com/microsoft/presidio.git ~/.local/share/presidio
358
+ cd ~/.local/share/presidio
359
+ docker compose -f docker-compose-text.yml up -d --build
360
+ ```
361
+
362
+ Verify with Prodex:
363
+
364
+ ```bash
365
+ prodex presidio doctor
366
+ prodex presidio redact --text "My name is John Smith and my phone is 212-555-1234."
367
+ prodex presidio enable
368
+ ```
369
+
370
+ `prodex super` / `prodex s` asks `Use Presidio for data safety? [y/N]` before starting an interactive session. The default is `n`. Answering `y` marks the session as Presidio-enabled and is equivalent to adding the `presidio` prefix to the Super stack.
371
+
372
+ </details>
373
+
173
374
  ## Quick start
174
375
 
175
- ### Import your current Codex login
376
+ <details open>
377
+ <summary>Import your current Codex login</summary>
176
378
 
177
379
  If your current Codex home is already logged in:
178
380
 
@@ -180,7 +382,10 @@ If your current Codex home is already logged in:
180
382
  prodex profile import-current main
181
383
  ```
182
384
 
183
- ### Or create profiles from scratch
385
+ </details>
386
+
387
+ <details>
388
+ <summary>Create profiles from scratch</summary>
184
389
 
185
390
  ```bash
186
391
  prodex login
@@ -188,7 +393,10 @@ prodex profile add second
188
393
  prodex login --profile second
189
394
  ```
190
395
 
191
- ### Check profiles and quota
396
+ </details>
397
+
398
+ <details>
399
+ <summary>Check profiles and quota</summary>
192
400
 
193
401
  ```bash
194
402
  prodex profile list
@@ -196,7 +404,10 @@ prodex quota --all
196
404
  prodex session list
197
405
  ```
198
406
 
199
- ### Start Codex through Prodex
407
+ </details>
408
+
409
+ <details>
410
+ <summary>Start Codex through Prodex</summary>
200
411
 
201
412
  ```bash
202
413
  prodex
@@ -208,6 +419,8 @@ Or run a one-off prompt:
208
419
  prodex exec "review this repo"
209
420
  ```
210
421
 
422
+ </details>
423
+
211
424
  <details>
212
425
  <summary>Import a Copilot CLI account</summary>
213
426
 
@@ -222,6 +435,9 @@ When you import a Copilot profile, Prodex does not move the Copilot token into P
222
435
 
223
436
  ## Daily command: `prodex s`
224
437
 
438
+ <details open>
439
+ <summary>Super mode overview</summary>
440
+
225
441
  For daily work, I use:
226
442
 
227
443
  ```bash
@@ -253,16 +469,33 @@ prodex s exec "review this repo"
253
469
  `prodex super` expands to:
254
470
 
255
471
  ```bash
256
- prodex caveman mem rtk --full-access
472
+ prodex caveman mem rtk sqz tokensavior clawcompactor llmmin --full-access
473
+ ```
474
+
475
+ Before an interactive Super session starts, Prodex asks whether to enable Presidio:
476
+
477
+ ```text
478
+ Use Presidio for data safety? [y/N]
479
+ ```
480
+
481
+ The default is `n`. Answering `y` is equivalent to adding the `presidio` prefix:
482
+
483
+ ```bash
484
+ prodex caveman mem rtk sqz tokensavior clawcompactor llmmin presidio --full-access
257
485
  ```
258
486
 
259
487
  Full access maps to Codex's sandbox-bypass launch flag. Use it only when you intentionally want Codex to run without the normal approval and sandbox protections.
260
488
 
261
489
  Super's built-in optimization stack is deliberately local and deterministic. It preloads the existing Caveman, Claude-Mem, and RTK pieces, auto-registers `sqz-mcp` and `token-savior` MCP servers when those binaries are already on `PATH` or in a managed `prodex-optimizers` checkout, then uses Smart Context Autopilot plus low-token workflow accommodations for targets such as `claw-compactor` and `llm-min.txt`.
262
490
 
491
+ RTK and SQZ split the token work across different sides of the flow:
492
+
493
+ - RTK works upstream/input-side. Use `rtk <cmd>` for noisy terminal commands before their output enters the model context, such as `git diff`, `cargo test`, `npm test`, build logs, and package-manager output.
494
+ - SQZ works downstream/context-side through the auto-registered `prodex-sqz` MCP server. Use it for repeated workspace reads, large text blobs, and long-session context reuse instead of emitting the same full content again.
495
+
263
496
  Managed optimizer checkouts are discovered from `PRODEX_OPTIMIZERS_HOME`, `$XDG_DATA_HOME/prodex-optimizers`, then `~/.local/share/prodex-optimizers`.
264
497
 
265
- `memsearch` and `prompt-cache` are not auto-enabled by `prodex super`. They need embeddings, a model/API-backed index, or a semantic cache, so they remain opt-in external workflows.
498
+ </details>
266
499
 
267
500
  ## Commands
268
501
 
@@ -393,6 +626,11 @@ prodex exec "review this repo"
393
626
  prodex caveman
394
627
  prodex caveman mem
395
628
  prodex caveman mem rtk
629
+ prodex rtk
630
+ prodex sqz
631
+ prodex tokensavior
632
+ prodex clawcompactor
633
+ prodex llmmin
396
634
  prodex caveman --dry-run
397
635
  prodex caveman --profile main
398
636
  prodex caveman exec "review this repo in caveman mode"
@@ -403,7 +641,7 @@ prodex caveman 019c9e3d-45a0-7ad0-a6ee-b194ac2d44f9
403
641
 
404
642
  If you use the `mem` variant, Prodex points an existing Claude-Mem Codex setup to the active Prodex session path instead of the default `~/.codex/sessions`.
405
643
 
406
- Add `rtk` after `mem` when you want Prodex to inject RTK shell-command guidance into the temporary Codex overlay for that launch.
644
+ Add optimizer prefixes before Codex args when you want Prodex to inject a specific launch overlay for that session: `mem`, `rtk`, `sqz`, `tokensavior`, `clawcompactor`, or `llmmin`. Top-level shortcuts such as `prodex rtk` and `prodex sqz` map to `prodex caveman <prefix>`.
407
645
 
408
646
  RTK is still an external binary. Install it separately if `rtk gain` is unavailable.
409
647
 
@@ -445,9 +683,9 @@ It keeps exact pass-through for continuation-sensitive requests. When safe, it u
445
683
 
446
684
  The Super optimization stack is meant to stay deterministic and local by default. It auto-registers `sqz-mcp` and `token-savior` MCP servers when those binaries are already on `PATH` or in a managed `prodex-optimizers` checkout, and accommodates `claw-compactor` and `llm-min.txt`-style workflows with local compaction, stable references, and lower-token context shaping rather than hidden remote summarization.
447
685
 
448
- Managed optimizer checkouts are discovered from `PRODEX_OPTIMIZERS_HOME`, `$XDG_DATA_HOME/prodex-optimizers`, then `~/.local/share/prodex-optimizers`.
686
+ RTK handles upstream/input command output before it enters the context window. SQZ handles downstream/context reuse after content is already in the session, using `prodex-sqz` when the MCP server is available.
449
687
 
450
- Super does not automatically enable `memsearch` or `prompt-cache`. Those require embeddings, model/API access, or a semantic cache, so use them only when you intentionally opt in to those external capabilities.
688
+ Managed optimizer checkouts are discovered from `PRODEX_OPTIMIZERS_HOME`, `$XDG_DATA_HOME/prodex-optimizers`, then `~/.local/share/prodex-optimizers`.
451
689
 
452
690
  </details>
453
691
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christiandoxa/prodex",
3
- "version": "0.103.0",
3
+ "version": "0.105.0",
4
4
  "description": "Safe multi-account auto-rotate for Codex CLI with isolated CODEX_HOME profiles",
5
5
  "license": "Apache-2.0",
6
6
  "bin": {
@@ -16,12 +16,12 @@
16
16
  "@openai/codex": "latest"
17
17
  },
18
18
  "optionalDependencies": {
19
- "@christiandoxa/prodex-linux-x64": "0.103.0",
20
- "@christiandoxa/prodex-linux-arm64": "0.103.0",
21
- "@christiandoxa/prodex-darwin-x64": "0.103.0",
22
- "@christiandoxa/prodex-darwin-arm64": "0.103.0",
23
- "@christiandoxa/prodex-win32-x64": "0.103.0",
24
- "@christiandoxa/prodex-win32-arm64": "0.103.0"
19
+ "@christiandoxa/prodex-linux-x64": "0.105.0",
20
+ "@christiandoxa/prodex-linux-arm64": "0.105.0",
21
+ "@christiandoxa/prodex-darwin-x64": "0.105.0",
22
+ "@christiandoxa/prodex-darwin-arm64": "0.105.0",
23
+ "@christiandoxa/prodex-win32-x64": "0.105.0",
24
+ "@christiandoxa/prodex-win32-arm64": "0.105.0"
25
25
  },
26
26
  "engines": {
27
27
  "node": ">=18"