Rewriting an argparse-based CLI with #Cappa. It's much cleaner:
- less verbose
- better contained (single module instead of using submodules for subcommands)
- better typed (dataclasses!)
- as reusable, or more reusable in other CLIs (classes instead of functions that modify an argparse parser)
- much easier to use programmatically (no need to call `main` or build an `argparse.Namespace` manually)
- better documented
- better output (rich!)

