The useful part
Type an intent into Bash, press Alt+O, and get one editable command back. While Codex works, the intent stays visible and a throbber animates on the next line. Quickfix never runs the result. The pause for review is the product.
What was deleted
Cmdsmith had ask, explain, model discovery, diagnostics, JSON output, clipboard integration, provider profiles, a direct HTTP client, packaging, and a Python dependency stack. None of that improved Alt+O, so none of it survived.
The runtime is 49 lines of Bash and its default Readline widget is 45. The optional Zsh widget is 32. Installation and tests are plain shell too. There is no config file, cache, database, model registry, SDK, or package manager.
Why Codex owns the hard part
codex exec already provides non-interactive output and reuses the saved Codex CLI login. That means a ChatGPT subscription can authenticate quickfix without another credential store or home-grown API client.
Luna at low reasoning is the default because command translation is narrow and repeatable. Two environment variables can select Terra or another effort level without creating a configuration system.
Generated shell commands can still be wrong or destructive. Quickfix only replaces the buffer; the user must inspect it and press Enter.
The whole interface
Run codex login, run ./install, restart Bash, and press Alt+O. Zsh remains available through ./install zsh. Set QUICKFIX_MODEL or QUICKFIX_REASONING only when the defaults need changing.
Source and tests live in jackmhny/quickfix. Codex authentication and non-interactive behavior are documented in the official authentication and non-interactive mode references.