Skip to content

Coming soon... Effortlessly create CLIs powered by Node.js


Notifications You must be signed in to change notification settings


Repository files navigation

Waterfall CLI

npm bundle size Codecov coverage npm downloads npm release tested with Rugged license


Quick start



Read the docs at:




We love contributions! Contributing is easy; learn how.

Notes for future documentation:

The printError() function prints a message in a standardized way. The message will be sent to stderr, and it is possible that this might appear before un-flushed content in the stdout stream has been flushed. So, care may be needed to ensure stdout is flushed before calling printError() if you want the error message to always appear last. Also, it's your responsibility what happens after the message is output. ie: If you want to exit the program, and you're not within asynchronously executed code, you might be fine using process.exit() to immediately exit. But, if within asynchronous or callback code, you will likely find that process.exit() does not immediately exit, but instead, the 'exit' is scheduled for execution after currently executing code is done, so you'll need to use other flow control approaches (eg: return or throw an Error) to prevent subsequent code from executing.