Skip to content
76

1 Command Line Experience

The largest Node.js CLI Apps best practices list ✨

4.1k stars162 forks29 entriesLast push Jul 8, 2026 (2 months ago)License CC-BY-SA-4.0

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

1.1 Respect POSIX args

built-in { parseArgs } from 'node:util'

commander

The complete solution for node.js command-line interfaces.

In 5 listsDetails

yargs

Yargs helps you build interactive command line tools, by parsing arguments and generating an elegant user interface.

In 6 listsDetails

Optique

1.3 Stateful data

configstore

conf

1.4 Provide a colorful experience

built-in { parseArgs } from 'node:util'

chalk

kleur

picocolors

1.5 Rich interactions

@inquirer/prompts

ora

ink

prompts

✅ Do: Use properly formatted hyperlinks in text output for both URLs (e.g:

as well as source code (e.g: src/Util.js:2:75) - both of which a modern terminal is able to transform into a clickable link.

open

Opens stuff like websites, files, executables. Cross-platform.

In 3 lists

1.7 Zero configuration

Parcel

, a web application bundler

In 2 lists

1.9 Provide helpful help

docopt

Command Line Interface Guidelines: Help

In 2 lists

2 Distribution >2.1 Prefer a small dependency footprint

Bundlephobia

is a tool to help you find the cost of a npm package.

In 3 lists

2 Distribution >2.2 Use the shrinkwrap, Luke

Do you really know how a lockfile works for yarn and npm packages?

Yarn docs: Should lockfiles be committed to the repository?

3 Interoperability >3.4 Support configuration precedence

cosmiconfig

3 Interoperability >3.5 Gate interactive behavior

Command Line Interface Guidelines: Help

In 2 lists

3 Interoperability >3.7 Provide shell completion

yargs

Yargs helps you build interactive command line tools, by parsing arguments and generating an elegant user interface.

In 6 listsDetails

@oclif/plugin-autocomplete

tabtab

Bash Programmable Completion

npm completion

6 Errors >6.3 Provide debug mode

debug

12 Appendix: CLI educational resources

Command Line Interface Guidelines: Help

In 2 lists

https://primer.style/cli/getting-started/principles

@simonplend

and @dolearning's workshop on crafting human friendly CLIs

See category
92

Awesome Docker

veggiemonk/awesome-docker

:whale: A curated list of Docker resources and projects

Fresh★ 37k389 entriesPushed 18 days ago
92

Awesome GraphQL

chentsulin/awesome-graphql

Awesome list of GraphQL

Fresh★ 15k483 entriesPushed yesterday
91

Awesome-Kubernetes

ramitsurana/awesome-kubernetes

A curated list for awesome kubernetes sources :ship::tada:

Fresh★ 16k47 entriesPushed 8 days ago
91

Awesome Quant

wilsonfreitas/awesome-quant

A curated list of insanely awesome libraries, packages and resources for Quants (Quantitative Finance)

Fresh★ 30k678 entriesPushed today
89

Awesome Django

wsvincent/awesome-django

A curated list of awesome things related to Django

Fresh★ 11k326 entriesPushed 13 days ago
89

Awesome Terraform

shuaibiyy/awesome-tf

Curated list of resources on HashiCorp's Terraform and OpenTofu

Fresh★ 6.6k472 entriesPushed 2 days ago