Interactive key confirmation (--ask)
Status: shipped for cleanup (batch + per-key). Other commands remain optional follow-ups.
Shipped behavior (cleanup)
| Flag | Effect |
|---|---|
--ask | TTY only: after computing candidate removals, prompt per top-level namespace (segment before first .). Global --yes skips all prompts. |
--ask-per-key | With --ask: one confirm per key (can be noisy). |
Global --yes | Overrides --ask — full candidate list is removed without interactive prompts. |
Ignored when:
--check-onlyor--json(no interactive prompts).- Not a TTY —
--askis ignored (info log); use--yesor bulk confirm as today.
Implementation
packages/cli/src/core/ask/removal.ts—groupKeysByTopSegment,promptApprovedRemovalKeys.packages/cli/src/commands/cleanup/index.ts— wires flags aftersafeToRemoveis computed.
Follow-ups (not required to close sprint)
fill/locales delete: opt-in--askusing the same helpers.- Config key
reference.commands.cleanup.askGroupByif we need finer grouping than top segment.