codex-configurator 0.2.3 → 0.2.5

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,7 +1,9 @@
1
1
  # Codex Configurator
2
2
 
3
3
  Codex Configurator is a terminal user interface (TUI) built with Node.js, React, and Ink.
4
- It shows the current contents of a Codex TOML configuration file and can reload it on demand.
4
+ It shows the current contents of Codex TOML configuration files and can edit them inline.
5
+ The TUI uses a fixed full-screen shell so row/list geometry does not shift as modes change.
6
+ While running, it uses the terminal’s alternate screen buffer so the session is rendered as a full-screen interface without scrollback history during interaction.
5
7
 
6
8
  ## Requirements
7
9
 
@@ -19,10 +21,10 @@ npm i -g codex-configurator
19
21
  codex-configurator
20
22
  ```
21
23
 
22
- Optional config-path override:
24
+ Optional workspace override:
23
25
 
24
26
  ```bash
25
- codex-configurator --config /path/to/config.toml
27
+ codex-configurator --codex-dir /path/to/workspace
26
28
  ```
27
29
 
28
30
  For local development in this repository:
@@ -37,12 +39,15 @@ npm start
37
39
  - `↑` `↓` : move selection
38
40
  - `PgUp` `PgDn`: move one page up/down
39
41
  - `Home` `End`: jump to first/last item
40
- - `Enter`: open selected table; for boolean settings, toggle directly; for string settings, open inline input; for other preset values, open picker
41
- - `/`: start fuzzy filter mode for the current list
42
+ - `Enter`: open selected table; for mixed scalar/object settings, choose a preset first (object presets open nested settings); for boolean settings, toggle directly; for string settings, open inline input; for other preset values, open picker
42
43
  - `Del`: unset selected value or remove selected custom `<id>` entry from `config.toml`
43
44
  - `←` / `Backspace`: move up one level (to parent table)
44
- - `r`: reload the active config file
45
- - `q`: quit
45
+ - `:`: enter command mode
46
+ - `:filter`: start fuzzy filter mode for the current list
47
+ - `:file`: switch between TOML config files in the current workspace
48
+ - `:reload`: reload the active config file
49
+ - `:help`: toggle quick help overlay
50
+ - `:quit` (or `:q`): quit
46
51
 
47
52
  The right-hand pane shows what each setting means, plus a picker when a value has preset options.
48
53
  Deprecated settings are marked with a `[!]` warning marker; only that marker is highlighted.
@@ -80,13 +85,20 @@ By default the app reads from:
80
85
  ~/.codex/config.toml
81
86
  ```
82
87
 
83
- You can override this path with either:
88
+ You can override the workspace with either:
84
89
 
85
- - CLI: `--config /absolute/or/relative/path.toml`
86
- - Env: `CODEX_CONFIGURATOR_CONFIG_PATH`
90
+ - CLI: `--codex-dir /absolute/or/relative/path`
91
+ - Env: `CODEX_CONFIGURATOR_CODEX_DIR`
87
92
 
88
93
  Precedence is CLI first, then environment variable, then the default path.
89
- If the file is missing or unreadable, the TUI displays the read error and the resolved path.
94
+ The resolved workspace is normalized and `/path/.codex/config.toml` is used as the config file.
95
+ If the active file is missing or unreadable, the TUI displays the read error and resolved path.
96
+
97
+ The active config file can also be changed at runtime with `:file`:
98
+
99
+ - `main config` is always the resolved workspace main file (`~/.codex/config.toml` by default).
100
+ - each `agents.<name>.config_file` entry contributes an additional editable file.
101
+ If that file does not exist yet, saving `agents.<name>.config_file` in the main file creates it as an empty TOML file before the main update is written.
90
102
  Configuration writes are atomic and create the target file (and parent directories) when missing.
91
103
 
92
104
  ## Error logging
@@ -119,15 +131,22 @@ This uses the `npm` command from `PATH` (or `CODEX_CONFIGURATOR_NPM_BIN` if set)
119
131
 
120
132
  ## Upstream reference
121
133
 
122
- - Codex configuration reference: https://developers.openai.com/codex/config-reference/
134
+ - Canonical config schema: https://developers.openai.com/codex/config-schema.json
135
+ - The local menu reads directly from `src/reference/config-schema.json`, which is downloaded from the canonical schema.
136
+ - To refresh the reference snapshot after a new stable Codex release:
137
+ - `npm run sync:reference`
138
+ - Snapshot currently synced against Codex stable reference updates published on 2026-02-25.
139
+ - Release notes and change history: `CHANGELOG.md`
123
140
 
124
141
  ## Scripts
125
142
 
126
- - `npm start`: run the TUI
127
- - `npm run dev`: same as `npm start`
143
+ - `npm run dev`: run the TUI in a temporary workspace (`.codex-configurator.scratch`) without resetting it
144
+ - `npm run dev:reset`: reset the temporary workspace (`.codex-configurator.scratch`) and run the TUI
145
+ - `npm start`: run the TUI directly (no scratch isolation)
128
146
  - `npm run lint`: ESLint static analysis for `index.js`, `src`, and `test`
129
147
  - `npm run build`: validates the npm package archive (`npm pack --dry-run --ignore-scripts --cache .npm-cache`)
130
148
  - `npm test`: runs the Node.js unit test suite (`node --test`)
149
+ - `npm run sync:reference`: downloads the latest `config-schema.json` into `src/reference/config-schema.json`
131
150
 
132
151
  ## Continuous integration
133
152
 
@@ -147,6 +166,6 @@ GitHub Actions runs production dependency audit (`npm audit --omit=dev --audit-l
147
166
  - `src/configHelp.js`: user-facing copy for key explanations
148
167
  - `src/layout.js`: pane width and path-key helpers
149
168
  - `src/interaction.js`: input helpers
150
- - `src/reference/config-reference.json`: source-of-truth schema extracted from upstream config reference and used to drive which UI settings are shown
169
+ - `src/reference/config-schema.json`: downloaded canonical schema used directly by the UI menu
151
170
  - `.gitignore`: ignore list for Node/TUI artifacts
152
171
  - `package.json`: package metadata and scripts