Skip to content

docs(rfd): Add RFD 061 for interactive config browser#468

Merged
JeanMertz merged 1 commit intomainfrom
prr38
Mar 22, 2026
Merged

docs(rfd): Add RFD 061 for interactive config browser#468
JeanMertz merged 1 commit intomainfrom
prr38

Conversation

@JeanMertz
Copy link
Collaborator

Adds RFD 061, proposing an interactive configuration browser triggered by a bare --cfg flag (no value). When invoked, the wizard presents a filterable list of all AppConfig fields, lets the user search and select one, then shows a type-appropriate inline prompt (confirm for booleans, select for enums, text input for strings/integers, $EDITOR for complex/multiline types).

The wizard produces a Vec<KvAssignment> — the same type that --cfg KEY=VALUE parsing produces — so its output feeds directly into the existing config pipeline. A confirmation step shows the collected values and the equivalent CLI command (normalised to the simplest flag form via alias reverse lookup and CliRecord reverse mapping from RFD 060), teaching users the CLI syntax over time.

Implementation is planned in four phases: core loop and clap integration, $EDITOR escape hatch, polished field selector with documentation preview and visual markers, and finally equivalent-command output. Phases 1 and 2 deliver a functional wizard; phases 3 and 4 polish the experience.

Adds RFD 061, proposing an interactive configuration browser triggered
by a bare `--cfg` flag (no value). When invoked, the wizard presents a
filterable list of all `AppConfig` fields, lets the user search and
select one, then shows a type-appropriate inline prompt (confirm for
booleans, select for enums, text input for strings/integers, `$EDITOR`
for complex/multiline types).

The wizard produces a `Vec<KvAssignment>` — the same type that `--cfg
KEY=VALUE` parsing produces — so its output feeds directly into the
existing config pipeline. A confirmation step shows the collected values
and the equivalent CLI command (normalised to the simplest flag form via
alias reverse lookup and `CliRecord` reverse mapping from RFD 060),
teaching users the CLI syntax over time.

Implementation is planned in four phases: core loop and clap
integration, `$EDITOR` escape hatch, polished field selector with
documentation preview and visual markers, and finally equivalent-command
output. Phases 1 and 2 deliver a functional wizard; phases 3 and 4
polish the experience.

Signed-off-by: Jean Mertz <git@jeanmertz.com>
@JeanMertz JeanMertz merged commit 54cf780 into main Mar 22, 2026
12 checks passed
@JeanMertz JeanMertz deleted the prr38 branch March 22, 2026 05:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant