RSI (RESTful Service Interface) command line interface
The swiss army knife for RSI related tasks.
This project supports the RESTful Service Interface as published under https://www.w3.org/Submission/2016/01/.
The framework proposes a slightly out-of-date JSON schema for service definitions, so this module uses the service schema published under https://github.com/wzr1337/rsi.schema
Installation
To install the cli globally run the following command:
$ npm i -g rsi.cli
Usage
Usage: rsi <commands...> [options...]
options
option | alias | meaning |
---|---|---|
--version | -v | Print the version |
--help | -h | Print this usage guide |
commands
command | what it does |
---|---|
service | operate on service level |
bundle | operate on service bundle level |
service
Usage:
$ rsi service
prints you a list of available commands on service level.
commands
command | what it does |
---|---|
document | render HTML documentation based on the schema |
init | initialize a new repository |
release | prepare service for release |
render | render UML from schema |
markdown | render markdown documentation based on the schema |
validate | validate a schema |
bundle
Usage:
$ rsi bundle
prints you a list of available commands on service level.
commands
command | what it does |
---|---|
document | render HTML documentation based on the schemas in the bundle |
render | render bundle UML |
markdown | render markdown documentation based for bundle |
validate | validate a schemas in bundle |
document
Usage:
$ rsi <service||bundle> document --sourceFolder <pathToServiceFolder> --output <pathToOutputFolder>
or
$ rsi <service||bundle> document -s <pathToServiceFolder> -o <pathToOutputFolder>
Renders a set of HTML documents out of the schema.json file contained in <pathToServiceFolder>
into <pathToOutputFolder>
.
options
option | alias | meaning |
---|---|---|
--sourceFolder | -s | the root folder of the project definition repository |
--outputFolder | -o | the output folder for the generated documentation |
--watch | -w | watch the source folder for changes |
init
Usage:
$ rsi service init
initializes an empty service definition repository with the following sturcture:
├── CHANGELOG.md
├── README.md
├── package.json
└── src
└── schema.json
After you initialized the repository, you can start editing the src/schema.json
file. Please be aware that it must comply with the
schema definition found under https://github.com/wzr1337/rsi.schema/blob/master/doc/schema.spec.md
options
init does not support any options
release
Usage:
$ rsi service release
releases a service definition in the desired way:
options
init does not support any options
render
Usage:
$ rsi <service||bundle> render --sourceFolder <pathToServiceFolder> --output <pathToOutputFolder>
or
$ rsi <service||bundle> render -s <pathToServiceFolder> -o <pathToOutputFolder>
Renders a class diagram (plantuml) out of the schema.json file contained in <pathToServiceFolder>
into <pathToOutputFolder>
.
options
option | alias | meaning |
---|---|---|
--sourceFolder | -s | the root folder of the project definition repository |
--outputFolder | -o | the output folder for the generated diagram |
--watch | -w | watch the source folder for changes |
markdown
Usage:
$ rsi <service||bundle> markdown --sourceFolder <pathToServiceFolder> --output <pathToOutputFolder>
or
$ rsi <service||bundle> markdown -s <pathToServiceFolder> -o <pathToOutputFolder>
Renders a markdown document out of the schema.json file contained in <pathToServiceFolder>
into <pathToOutputFolder>
.
options
option | alias | meaning |
---|---|---|
--sourceFolder | -s | the root folder of the project definition repository |
--outputFolder | -o | the output folder for the generated documentation |
--watch | -w | watch the source folder for changes |
validate
Usage:
$ rsi <service||bundle> validate --sourceFolder <pathToServiceFolder>
or
$ rsi <service||bundle> validate -s <pathToServiceFolder>
Validates schema.json file contained in <pathToServiceFolder>
.
options
option | alias | meaning |
---|---|---|
--sourceFolder | -s | the root folder of the project definition repository |
--watch | -w | watch the source folder for changes |