@rosinfo.tech/cli
v0.1.38
Published
[![rosinfo.tech](https://cdn.rosinfo.tech/id/logo/id_logo_width_160.svg "rosinfo.tech")](https://rosinfo.tech)
Downloads
45
Readme
Rosinfotech Command Line Interface
The unified interface of the technical management of all your digital projects in one package.
Usage benefits
Version value control;
Files backup;
Convenience Github control;
- Including hooks (via husky);
String replacements in files:
Single replacement;
Replacements via replace map;
Frontend development:
Building application based on Webpack or Rollup;
Multi profiles configuration with development or production modes;
- Extending configuration profiles;
Simple creating application via "create" command:
- Many templates;
Simple creating code snippets via "create" command:
Linters control with default or customize configurations:
- ESLint, StylelLint, Prettier are available;
Tests control (via jest);
TypeScript declaration files bundling;
Push NPM projects with configurable steps;
Multi profiles configuration;
Opportunity to write scripts to prepare files before and after publishing;
NPM packages update:
Specific section "devDependencies" or "dependencies";
Select packages via template;
Deploy scripts:
Uploading or downloading files or directories (via SFTP or SSH);
Archiving and unpacking archive files local and remote (via SSH);
Run commands local and remote (via SSH);
Install
Either
npx @rosinfo.tech/cli
or global install (prefer)
npm i -g @rosinfo.tech/cli
With global install, CLI become available via call "rosinfo.tech", for example:
rosinfo.tech echo
or
rosinfo.tech --help
Quick start. Application creating
Create a directory, change the current directory, create a project with project name as a directory name, run development mode to application development:
mkdir NewApp
cd NewApp
rosinfo.tech create
rosinfo.tech pack development
or same above, but with CLI union commands:
mkdir NewApp
cd NewApp
rosinfo.tech create pack development
or run production to build the application and run a local server to access it:
mkdir NewApp
cd NewApp
npm i -g serve
rosinfo.tech create pack production
serve build
Commands
There are commands depended on "./.rosinfo.tech/.rosinfo.tech.json" configuration file and not depended;
When you initialize rosinfo.tech project (Project), rosinfo.tech CLI (CLI) make directory and configuration file "./.rosinfo.tech/.rosinfo.tech.json" (Configuration file);
Configuration file contains sections' names like commands' names to configure their in Project;
Available commands
- backup;
- create;
- echo;
- eslint;
- husky;
- init;
- jest;
- linters;
- pack;
- packages;
- prettier;
- publish;
- replace;
- shell;
- stylelint;
- tsNode;
- unlinkFiles;
- unpublish;
- versionIncrementMajor;
- versionIncrementMinor;
- versionIncrementPatch;
- versionSet;
- workMode;
Use cases
Case #1
You have:
- The NPM project;
- Linked with Github;
Steps:
- Initialize rosinfo.tech for the project:
# Be sure that your terminal is in the project directory
cd PROJECT_DIR
rosinfo.tech init
- And you can continue work with your project;
- If you need to iterate version of the project:
# If you want to increment the patch version (semver)
rosinfo.tech versionIncrementPatch
# If you want to increment the minor version (semver)
rosinfo.tech versionIncrementMinor
# If you want to increment the major version (semver)
rosinfo.tech versionIncrementMajor
When @rosinfo.tech/cli increment version, it create backup of project in ./.rosinfo.tech/.rosinfo.tech.backup directory with name of the old version.
- If you need to set any version of the project:
# If you want to set version (semver)
rosinfo.tech versionSet 1.1.1
- If you need to make Git push:
# If you want to Git push
rosinfo.tech shell git_version_push
# It make:
# - git push with version as commit message;
# - git push tag with version as value.
# To see details of the shell commands:
rosinfo.tech shell
Case #2
You have:
- The NPM project;
- Still not linked with github;
Steps:
- Create the repository and copy remote origin, for example 'git remote add origin [email protected]:git_account/project_1.git'
- Shell:
# Be sure that your terminal is in the project directory
cd PROJECT_DIR
rosinfo.tech init
git init
# Optional. In case when you have a few git accounts
git config --local --add core.sshCommand 'ssh -i ~/.ssh/id_rsa_git_account'
# Optional. To set
# user.name = GIT_USER_NAME
# user.name = GIT_USER_EMAIL
# core.fileMode = false
# core.fileMode = false
# chmod -R 0755 .
rosinfo.tech shell git_config_set GIT_USER_NAME GIT_USER_EMAIL
git remote add origin [email protected]:git_account/project_1.git
# Push to origin/master commit with the version value as message
rosinfo.tech shell git_version_push_master