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 +21 -0
- package/README.md +97 -0
- package/index.js +759 -0
- package/package.json +42 -0
- package/src/components/ConfigNavigator.js +387 -0
- package/src/components/Header.js +33 -0
- package/src/configFeatures.js +233 -0
- package/src/configHelp.js +252 -0
- package/src/configParser.js +564 -0
- package/src/configReference.js +217 -0
- package/src/constants.js +4 -0
- package/src/interaction.js +25 -0
- package/src/layout.js +20 -0
- package/src/reference/config-reference.json +5837 -0
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
|