codex-configurator 0.1.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Codex Configurator
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,97 @@
1
+ # Codex Configurator
2
+
3
+ Codex Configurator is a terminal user interface (TUI) built with Node.js, React, and Ink.
4
+ It shows the current contents of `~/.codex/config.toml` and can reload them on demand.
5
+
6
+ ## Requirements
7
+
8
+ - Node.js >= 18
9
+
10
+ ## Install
11
+
12
+ ```bash
13
+ npm install
14
+ ```
15
+
16
+ ## Usage
17
+
18
+ ```bash
19
+ npm start
20
+ ```
21
+
22
+ To run directly from an installed package:
23
+
24
+ ```bash
25
+ codex-configurator
26
+ ```
27
+
28
+ ## Controls
29
+
30
+ - `↑` `↓` : move selection
31
+ - `PgUp` `PgDn`: move one page up/down
32
+ - `Home` `End`: jump to first/last item
33
+ - `Enter`: open selected table; for boolean settings, toggle directly; for string settings, open inline input; for other preset values, open picker
34
+ - `Del`: unset selected value or remove selected custom `<id>` entry from `config.toml`
35
+ - `←` / `Backspace`: move up one level (to parent table)
36
+ - `r`: reload `~/.codex/config.toml`
37
+ - `q`: quit
38
+
39
+ The right-hand pane shows what each setting means, plus a picker when a value has preset options.
40
+ Deprecated settings are marked with a `[!]` warning marker; only that marker is highlighted.
41
+ Model picker entries are curated presets maintained by this project.
42
+ In select lists, `[default]` marks the default option.
43
+
44
+ ## TOML-aware navigation
45
+
46
+ The table view follows TOML structure, with a root catalog of common keys:
47
+
48
+ - At the root level, common top-level settings are shown even when unset (displayed with `default`).
49
+ - The `features` section remains browsable even when it is not present in the file.
50
+ - Unset feature flags use each feature’s documented default behavior when toggling.
51
+ - Feature rows tagged with `[not in official list]` come from your file but are not in the curated official set.
52
+ - Selected sections such as `history`, `tui`, `feedback`, and `shell_environment_policy` also show common unset keys.
53
+ - Attributes and subattributes are shown in strict alphabetical order.
54
+ - Unset boolean settings display explicit defaults as `true [default]` or `false [default]`.
55
+ - For placeholder keys like `<path>`, IDs entered in the UI are normalized under your home directory.
56
+
57
+ - Dotted/table sections become navigable table nodes.
58
+ - Inline key-value pairs are shown as leaf entries.
59
+ - Arrays of tables are represented as entries you can expand into indexed rows.
60
+ - Placeholder-based sections (for example `apps.<id>.*`) include a `+ add ...` row to create custom IDs directly from the UI.
61
+
62
+ ## Configuration source
63
+
64
+ The app reads from:
65
+
66
+ ```bash
67
+ ~/.codex/config.toml
68
+ ```
69
+
70
+ If the file is missing or unreadable, the TUI displays the read error and the expected path.
71
+
72
+ ## Upstream reference
73
+
74
+ - Codex configuration reference: https://developers.openai.com/codex/config-reference/
75
+
76
+ ## Scripts
77
+
78
+ - `npm start`: run the TUI
79
+ - `npm run dev`: same as `npm start`
80
+ - `npm run lint`: syntax check for all source files
81
+ - `npm run build`: syntax check for distributable entrypoint and modules
82
+ - `npm test`: runs lint
83
+
84
+ ## Project structure
85
+
86
+ - `index.js`: application entrypoint, state wiring, and input handling
87
+ - `src/configParser.js`: TOML file parsing, traversal, and row formatting
88
+ - `src/components`: Ink components split by responsibility
89
+ - `src/components/Header.js`: title and tags
90
+ - `src/components/ConfigNavigator.js`: left list and right detail rendering
91
+ - `src/constants.js`: UI copy and labels
92
+ - `src/configHelp.js`: user-facing copy for key explanations
93
+ - `src/layout.js`: pane width and path-key helpers
94
+ - `src/interaction.js`: input helpers
95
+ - `src/reference/config-reference.json`: source-of-truth schema extracted from upstream config reference and used to drive which UI settings are shown
96
+ - `.gitignore`: ignore list for Node/TUI artifacts
97
+ - `package.json`: package metadata and scripts