January 16, 2026
Tab-complete tea is piping
CLI's completion should know what options you've typed
Autocomplete that actually listens — fans say 'finally'
TLDR: Optique 0.10.0 adds smart autocomplete that changes based on what you already typed, like showing branches from the chosen repo. The crowd is split: shell loyalists say “fish does that,” while others love parser-level smarts that make CLIs easier, consistent, and actually helpful.
Optique 0.10.0 just dropped a “your CLI knows what you already typed” bomb, and the crowd grabbed popcorn. Pick a repo, and your next autocomplete shows only branches from that repo—like Git’s -C trick, but for any tool. Fans cheered the end of clueless suggestions; skeptics asked if this is new or just shell magic. One voice went full “I think fish does this?” and the room split between shell stans and parser purists.
Power users flexed real-world wins: one dev said context-aware completion made their tool “100x easier” once model choices changed based on the selected agent. Another called it the “missing piece”—when earlier flags guide the rest, the command line starts to teach itself. Meanwhile, the brainiacs showed up with charts and vibes: “it’s just a state machine and a DAG,” they argued, insisting shells can do it if you wire them up.
The twist? Optique 0.10.0 moves that smarts into the parser—the part that reads what you type—so validation and completion agree, even at runtime. Fish fans say “we’ve seen parts of this,” but parser-level folks clap back: now the rules live with the app, not scattered shell scripts. Jokes flew about CLIs finally “reading the room” and remembering your flags—autocomplete, but with manners.
Key Points
- •Optique 0.10.0 adds dependency() and derive()/deriveAsync to enable runtime-dependent, type-safe CLI validation and completion.
- •The existing or() combinator supports static dependent option groups with TypeScript-enforced correctness and context-aware completion.
- •Runtime dependencies are resolved via factory functions that build parsers using values from dependency sources (e.g., --repo).
- •Optique performs parsing in three phases: collect dependency values, build concrete parsers via factories, then re-parse derived options.
- •The @optique/git package supplies async parsers (e.g., gitBranch) to provide repository-aware completion for options like branches.