Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
October 14, 2021 16:29
March 15, 2021 16:09
March 15, 2021 16:09
January 17, 2023 08:20

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.