A library for easily creating observable CLI tasks with support for commands, arguments, and options.
Go to file
2016-04-05 01:22:42 +02:00
.idea added initial structure 2015-10-04 23:21:10 +02:00
dist work in progress 2016-03-18 17:08:26 +00:00
test updated deps 2016-04-05 01:22:11 +02:00
ts work in progress 2016-03-18 17:08:26 +00:00
.gitignore work in progress 2016-03-18 17:08:26 +00:00
.travis.yml improve travis process 2015-11-09 04:07:01 +01:00
LICENSE Initial commit 2015-10-04 23:06:36 +02:00
package.json updated deps 2016-04-05 01:22:42 +02:00
README.md updated deps 2016-04-05 01:22:11 +02:00

smartcli

nodejs wrapper for CLI related tasks

Status

Build Status Dependency Status bitHound Overall Score bitHound Code

Install the package

npm install smartcli --save

Usage

this plugin tries to establish some logic in which CLI tools work.

take the following commandline input:

mytool function argument1 argument2 --option1 option1Value --option2 option2Value
  • 'mytool' obviously is the tool (like git)
  • function is the main thing the tool shall do (like commit)
  • option is an option you can add (like -m for message)
  • optionValue is the referenced option value (like a commit message)

The inner organization of smartcli

smartcli exposes three major groups of functions:

  • check functions
    • are grouped in smartcli.checks object
  • get functions
    • are grouped in smartcli.get object
  • async interaction functions
    • are grouped in smartcli.interaction object
var smartcli = require("smartcli");

/* -------------- Check Functions -------------------*/
//returns true for terminal command "node myjs.js jazz"
smartcli.check.command('jazz'); 

/**
* returns an object for terminal command "node myjs.js --myoption something" like so
* {
*   name: 'myoption',
*   specified: true,
*   value: 'something'
* }
*/
smartcli.get.option('myoption');