There are several challenges in wrapping yargs to justify this change:
- Lack of extensibility for customization.
- Poor error handling: e.g. displayed stack traces and unclear messages for user input errors.
- Inability to provide global help for all subcommands
- Reduced control over CLI behavior and output formatting.
The new implementation should:
- be written specifically to work with Commands from this library (so it's very cohesive)
- use classes under-the-hood to allow more flexibility and extensibility