Modular project management
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Rispa CLI Build Status

ris is the Rispa CLI command line utility that allows to set up project structure, manage plugins, run generators.

Rispa CLI works on macOS, Windows, and Linux.

Getting Started

Installation

Install it once globally:

yarn global add @rispa/cli 

or

npm install -g @rispa/cli

You will need to have Node >= 7.10 on your machine.

Creating project

To create project, run:

ris new project-name
cd project-name

ris new

It will create a directory called project-name inside the current folder.
Inside that directory, it will generate the initial project structure and install the selected plugins:

project-name/
  rispa.json
  lerna.json
  package.json
  .gitignore
  .editorconfig
  .travis.yml
  packages/
    ...selected-plugins

rispa.json is an entry point of RISPA project, it contains information about current project.

Options

Development mode

To create project in development mode, run:

ris new --mode=dev

Project will be generated without Subtree usage.

Managing plugins

ris add

To add plugins, run inside project directory:

ris add rispa-eslint-config

ris add

It will add plugin with name rispa-eslint-config to current project.

If you want to browse and select plugins to install, run:

ris add

ris add

It will display available plugins. Press space to select plugins for installation, then press enter to install selected plugins.

If you want to add plugin via git url, run:

ris add git:https://github.com/rispa-io/rispa-core.git

It will add rispa-core plugin via git url to current project.

ris update

To update installed plugins, run inside project directory:

ris update

It will pull changes to all installed plugins in current project.

Pulling changes works through the git interface.

ris remove

To remove a plugin, run inside project directory:

ris remove plugin-name

It will remove plugins-name plugin from current project.

Plugin removal is an unsafe operation,
because, it doesn't make changes to the client code
and requires corrections by user.

ris assemble

To assemble plugins, run inside project directory:

ris assemble

ris assemble

It will install not installed plugins from rispa.json.

Launch plugin script

ris run or ris

To launch plugin script, run inside project directory:

ris run @rispa/core lint

ris run

It will launch script lint in @rispa/core plugin.

ris run all or ris all

To launch script for all plugins, run inside project directory:

ris run all lint

ris run all lint

It will launch script lint for all installed plugins.

Options

Yarn

To force or disable usage of Yarn, use --yarn:

ris run all lint --yarn=true
Skip

To skip plugins, use --skip:

ris run all lint --skip=@rispa/ui-kit,feature-plugin

Launch generator

ris g

To launch plugin generator, run inside project directory:

ris g core generator-name

ris g

It will launch generator-name generator of core package in current project.

Commit

ris commit

To commit project or plugins changes, run inside project directory:

ris commit

It will collect project changes and ask you to enter commit message. The commit will be pushed to the current branch.

2017-06-26 13 01 18

Numerate

ris numerate

To numerate project changes, run inside project directory:

ris numerate

It will scan project tags and display available versions.

ris numerate

Features

Run local version

If you launched the globally installed CLI and there will be local version found, the call will be redirected to the local version.

Subtree

We use Subtree merge strategy for plugins.

Structure

Generated project based on Lerna monorepo structure.

Plugins

Plugins are a part of monorepo modules, they extend the project functionality.

@rispa/core - is an entry point for all plugins, providing enhancements and correct initialization of connected plugins.

List of available plugins can be seen here.

Configuration

To see the full details of an error, run CLI with ENV:

DEBUG=rispa:* ris new