A library for easily creating observable CLI tasks with support for commands, arguments, and options.
Go to file
Philipp Kunz 68f7e7fc03 0.0.10
2015-11-09 04:02:51 +01:00
.idea added initial structure 2015-10-04 23:21:10 +02:00
ts add tests and fix some errors 2015-11-09 04:02:46 +01:00
.gitignore added travis + tests 2015-10-05 23:33:57 +02:00
.travis.yml disabled travis email 2015-10-08 00:50:10 +02:00
index.js add tests and fix some errors 2015-11-09 04:02:46 +01:00
LICENSE Initial commit 2015-10-04 23:06:36 +02:00
package.json 0.0.10 2015-11-09 04:02:51 +01:00
README.md add tests and fix some errors 2015-11-09 04:02:46 +01:00
test.js add tests and fix some errors 2015-11-09 04:02:46 +01:00

smartcli

nodejs wrapper for CLI related tasks
Dev Status

Buildstatus/Dependencies

Build Status devDependency Status

Install the package

npm install smartcli

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');

Cheers Phil from Lossless Digital