Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wzr1337/rsi.cli
Command line interface tooling for working with RSI schema files
https://github.com/wzr1337/rsi.cli
node rsi
Last synced: about 1 month ago
JSON representation
Command line interface tooling for working with RSI schema files
- Host: GitHub
- URL: https://github.com/wzr1337/rsi.cli
- Owner: wzr1337
- License: mit
- Created: 2018-12-20T11:37:23.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-29T17:47:17.000Z (almost 2 years ago)
- Last Synced: 2024-08-08T23:12:24.485Z (5 months ago)
- Topics: node, rsi
- Language: JavaScript
- Size: 2.23 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# RSI (RESTful Service Interface) command line interface
[![Build Status](https://travis-ci.com/wzr1337/rsi.cli.svg?branch=master)](https://travis-ci.com/wzr1337/rsi.cli)
[![npm version](https://badge.fury.io/js/rsi.cli.svg)](https://badge.fury.io/js/rsi.cli)![RSI.cli](https://raw.githubusercontent.com/wzr1337/rsi.cli/master/assets/logo.png)
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/](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](https://github.com/wzr1337/rsi.schema)
## Installation
To install the cli globally run the following command:
```bash
$ npm i -g rsi.cli
```## Usage
Usage: `rsi [options...]`
**options**
| option | alias | meaning |
| --------------- | ----- |-------------------------------------------------------- |
| --version | -v | Print the version |
| --help | -h | Print this usage guide |**commands**
| command | what it does |
| ----------------------------- | --------------------------------------------------------------- |
| [service](#service) | operate on service level |
| [bundle](#bundle) | operate on service bundle level |Usage:
`$ rsi service`prints you a list of available commands on service level.
**commands**
| command | what it does |
| ----------------------------- | --------------------------------------------------------------- |
| [document](#service.document) | render HTML documentation based on the schema |
| [init](#service.init) | initialize a new repository |
| [release](#service.release) | prepare service for release |
| [render](#service.render) | render UML from schema |
| [markdown](#service.markdown) | render markdown documentation based on the schema |
| [validate](#service.validate) | validate a schema |Usage:
`$ rsi bundle`prints you a list of available commands on service level.
**commands**
| command | what it does |
| ----------------------------- | --------------------------------------------------------------- |
| [document](#service.document) | render HTML documentation based on the schemas in the bundle |
| [render](#service.render) | render bundle UML |
| [markdown](#service.markdown) | render markdown documentation based for bundle |
| [validate](#service.validate) | validate a schemas in bundle |Usage:
`$ rsi document --sourceFolder --output `or
`$ rsi document -s -o `
Renders a set of HTML documents out of the schema.json file contained in `` into ``.![RSI.doc.demo](https://raw.githubusercontent.com/wzr1337/rsi.cli/master/assets/rsi.docu.demo.gif)
**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 |Usage:
`$ rsi service init`
initializes an empty service definition repository with the following sturcture:```bash
├── 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![RSI.cli](https://raw.githubusercontent.com/wzr1337/rsi.cli/master/assets/rsi.cli.gif)
**options**
init does not support any options
Usage:
`$ rsi service release`
releases a service definition in the desired way:**options**
init does not support any options
Usage:
`$ rsi render --sourceFolder --output `or
`$ rsi render -s -o `
Renders a class diagram (plantuml) out of the schema.json file contained in `` into ``.**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 |
#### markdownUsage:
`$ rsi markdown --sourceFolder --output `or
`$ rsi markdown -s -o `
Renders a markdown document out of the schema.json file contained in `` into ``.**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 |Usage:
`$ rsi validate --sourceFolder `or
`$ rsi validate -s `
Validates schema.json file contained in ``.**options**
| option | alias | meaning |
| --------------- | ----- | ------------------------------------------------------- |
| --sourceFolder | -s | the root folder of the project definition repository |
| --watch | -w | watch the source folder for changes |