• Add .commandDirectory(dir) method to Api to automatically add all modules in the directory as commands


  • Add .strict() mode to fail-fast on unrecognized flags or arguments, useful for detecting typos in command line input and alerting users


  • Refactor codebase to async/await, which requires Node 8+

  • Change .parseAndExit() to output to stderr unless help or version is explicitly requested

  • Fix contextual help content shown when a command uses context.cliMessage()

  • Support additional arbitrary data as 2nd argument to .parse(), to provide commands with runtime info beyond what is parsed from a given message/request, useful for chatbots and server-side apps


  • Add ability to read arguments from stdin, triggered via custom flag or lack of arguments


  • Add ability to parse environment variables as arguments/options, either via program prefix or customized per type
  • Add --no- negation support to TypeBoolean


  • Add an interactive mode, with the ability to prompt user for arguments/options