Inquirer.js
A collection of common interactive command line user interfaces
...Inquirer.js provides the user interface and the inquiry session flow. If you're searching for a full blown command line program utility, then check out commander, vorpal or args. Create a self contained inquirer module. If you don't want to affect other libraries that also rely on inquirer when you overwrite or add new prompt types. Internally, Inquirer uses the JS reactive extension to handle events and async flows. This mean you can take advantage of this feature to provide more advanced flows. For example, you can dynamically add questions to be asked.