-
Flatten everything to make it easier to map command-line flags to json. The old structure was an illusion anyway because there was no mechanism to enforce that things were in the right place. This also helps with future flexibility.
-
Use "file" consistently for specifying a file path. We use "filename" when adding attachments for a completely different purpose.
-
Now still have to go through and implement the handlers.
-
Use named functions rather than just end() for clarity.
-
All that's left now is input and output handling.
-
Handle optional choices in addition to required choices. Refactor the way help options are added to completion to make it work with optional help choices.