- Update menu.ts and selector.ts to use isStdinTTY() and function-based
terminal colors
- Refactor index.ts from 995-line monolith to ~270-line dispatcher that
registers all commands via the CLI parser and delegates to modules
- Add initTTY() call at startup for correct pipe/TTY detection
- Interactive menu expanded to include new commands (explain, review,
changelog, suggest, amend)
Extract duplicate menu rendering logic from `index.ts` into a new `src/menu.ts` module, providing generic `selectOne` and `selectMany` functions. This reduces code duplication, improves maintainability, and adds consistent UI controls display across the commit flow and platform selection.
Reviewed-on: #3