Skip to content

Commit 54cf780

Browse files
authored
docs(rfd): Add RFD 061 for interactive config browser (#468)
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>
1 parent 6147df9 commit 54cf780

2 files changed

Lines changed: 464 additions & 1 deletion

File tree

docs/.vitepress/rfd-summaries.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,11 +232,15 @@
232232
"summary": "Replace opaque tool output strings with typed content blocks (text, resource, question) mirroring MCP's CallToolResult model."
233233
},
234234
"059-shell-completions-and-man-pages.md": {
235-
"hash": "791b583757910d0f1687a180f4ec49fd2d7876ffd695ceffc546bcf4ae5b9c7c",
235+
"hash": "87620f0427690fa91fb954cf7cb95dd62392937a6410414f19a3a9fc0d07aca2",
236236
"summary": "Add `jp completions` and `jp manpage` subcommands using clap_complete and clap_mangen for shell integration."
237237
},
238238
"060-config-explain.md": {
239239
"hash": "cfa8458677aef01bb18793dab19605f67968b23ad00905a9d02dbd1bc7647bc0",
240240
"summary": "Global `--explain` flag traces config resolution through 9 layers, showing where each field value originates."
241+
},
242+
"061-interactive-config.md": {
243+
"hash": "0b3bcc7ed9bbafde9e3599e05238320856c4e5711af34cc35dbade7d4d0ecbc8",
244+
"summary": "Bare `--cfg` flag triggers interactive configuration browser for searching, inspecting, and editing config fields with type-appropriate prompts."
241245
}
242246
}

0 commit comments

Comments
 (0)