Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including ntl with all npm packages installed. Try it out:

ntl lists no main file and has no index.js, so it can't be directly required. If this is a mistake, please let us know. It may however contain internal files that you can require manually:

// require("ntl/[??]")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

ntl v4.0.0

Npm Task List: Interactive cli menu to list/run npm tasks


NPM version Build Status License Join the chat at

Npm Task List

Interactive cli menu to list and run npm tasks.

demo gif

An iPipeTo workflow


$ npm install -g ntl


just run it at once using npx:

npx ntl

There's also a longhand command you can run if you experience conflicts:

npx npm-tasklist


cd to a folder containing a package.json files that has configured scripts, then:


You can also specify a project folder containing a package.json file:

ntl ./my-node-project

Longhand project folder example:

npm-tasklist ./my-node-project

Custom runner

If you want to use a custom runner, e.g: yarn you can either use a environment variable:

NTL_RUNNER=yarn ntl

OR you can also define a runner property in the ntl configuration within your package.json:

  "ntl": {
    "runner": "yarn"

Exclude scripts

Example package.json:

  "scripts": {
    "test": "jest --coverage",
    "test:watch": "jest --coverage --watchAll",
    "coveralls": "jest --coverage --coverageReporters=text-lcov | coveralls",
    "tasks": "ntl --exclude coverall tasks"

You can define a list of scripts to be excluded from the interactive menu:

$ ntl --exclude coverall tasks
✔  Npm Task List - v3.0.0
? Select a task to run: (Use arrow keys)
❯ test

You can also use a wildcard character to exclude multiple scripts with one string:

$ ntl --exclude "test*"
✔  Npm Task List - v3.0.0
? Select a task to run: (Use arrow keys)
❯ coveralls

Using task descriptions

You can define descriptions for your tasks in your package.json file by defining a ntl section, e.g:

  "ntl": {
    "descriptions": {
      "build": "Builds the project",
      "coverage": "Run test outputing code coverage",
      "test": "Run project's tests"

These descriptions will be shown anytime you run ntl using the option: ntl -d

More info

cli options can also be invoked as their shorter alias:

  • -a -> --all
  • -m -> --multiple
  • -s -> --size
  • -i -> --info
  • -d -> --descriptions
  • -e -> --exclude
  • -h -> --help
  • -v -> --version

Here is what the help page looks like:

ntl --help

  ntl [<path>]

  -a, --all                Includes pre and post scripts on the list   [boolean]
  -A, --autocomplete       Starts in autocomplete mode                 [boolean]
  -D, --debug              Prints to stderr any internal error         [boolean]
  -d, --descriptions       Displays the descriptions of each script    [boolean]
  -e, --exclude            Excludes specific scripts                     [array]
  -o, --descriptions-only  Limits output to scripts with a description [boolean]
  -h, --help               Shows this help message                     [boolean]
  -i, --info               Displays the contents of each script        [boolean]
  -m, --multiple           Allows the selection of multiple items      [boolean]
  -s, --size               Amount of lines to display at once           [number]
  -v, --version            Show version number                         [boolean]

Visit for more info


MIT © 2018 Ruy Adorno


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free