Comfort is a much better node.js commander solution for sub commands, such as `git xxx` or `npm xxx`
JavaScript
Latest commit 442cb93 Mar 9, 2016 @kaelzhang 5.0.2: fixes test cases

README.md

NPM version Build Status Dependency Status

comfort

Comfort is a much better node.js commander solution for sub commands.

If you have sub commands, such as <my-module> <command>, comfort will be extremely helpful.

Comfort is designed to make your code better organized and of scalability, unlike commander.js.

If you want to create a complicated command tool with heavy arguments overloading, comfort will be your very choice.

Features

Plugin support

A command-line application (cortex for example) and its sub-commands built with comfort are structured much like git(1).

To develop a new sub-command('blah' for example) as a plugin(so you don't want to change the origin repository of cortex), just create a new node.js module, add a value to bin field of the package.json as:

{
    "bin": {
        "cortex-blah": "bin/xxxxx.js"
    }
}

Comfort will look for PATH in your env, and search for a plugin command.

Falling love with creating sub-commands

To add a new built-in command('haha' for example), just add a file "haha.js" to the options.command_root directory, DONE!

Powerful argument parser

Installation

npm install comfort --save

Getting Started

If you want to figure out how comfort works, well,

Shut up, just show me the code!

and just see the annotations in the files under root directory.

Or, you could execute comfort init command, and see what happened to your new project.