Opus finding
bin.ts top-level await wrapper cannot catch clipanion errors — runExit calls process.exit() directly
- src/bin.ts:42-51
The comment claims the try/catch wraps clipanion so synchronous throws during registration/arg-parsing flow through fail(). But clipanion's runExit internally calls process.exit() and catches its own errors; it does not throw to the caller in normal failure paths. The catch block will essentially never fire for the cases the comment advertises (arg-parsing errors). The comment is misleading about what this safety net actually protects.
Recommendation
Either use cli.run() (which returns an exit code and can throw) and call process.exit() yourself, or rewrite the comment to accurately describe what this catch covers (e.g. top-level module init throws only).