Inquirer.js
A collection of common interactive command line user interfaces
...Inquirer.js should ease the process of providing error feedback, asking questions, parsing input, validating answers, and managing hierarchical prompts. 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. ...