Testing various subcommand patterns.
./
├── commands/
│ ├── bash_script
│ ├── bash_script.py
│ ├── clone.py
│ └── echo.py
└── main.py
Entrypoint.
Registers all subcommands and does the actual parsing.
Imports all subcommands beneath it.
A subcommand must have a setup function with the following signature:
def setup(subparsers: argparse._SubParsersAction) -> None:
cmd = subparsers.add_parser(...)
cmd.set_defaults(run=...)