What's an open question is whether everything should be built into the framework or delegated to the mentioned example packages in brackets above.
I imagine the core of the CLI framework to be very lightweight, mainly an orchestrator to deal with the above features which are provided as individual plugins (i.e. NPM packages). For example, if a CLI creator decides they don't need long-running tasks, their CLI won't include it and hence only contain the necessary code to make their CLI work, nothing else.
A list of requirements / features:
--help
stdout, Markdown, or machine-readable JSON outputWhat's an open question is whether everything should be built into the framework or delegated to the mentioned example packages in brackets above.
I imagine the core of the CLI framework to be very lightweight, mainly an orchestrator to deal with the above features which are provided as individual plugins (i.e. NPM packages). For example, if a CLI creator decides they don't need long-running tasks, their CLI won't include it and hence only contain the necessary code to make their CLI work, nothing else.