Skip to content

jsany/cli-kit

Repository files navigation

Welcome to cli-kit 👋

npm version publish size install size node version documentation Maintained License

The scaffold demo for the future

原理:https://github.com/jsany/cli-theory

demo

Features

  • typescript
  • eslint、prettier、commitlint
  • local template
  • remote template
  • use config first

Prerequisites

  • node >=10

Config

when npm install in lifecyle of postinstall will copy .clikitrc.json to $HOME/.clikitrc.json, then use it first, you can edit this json file what you wanna

Fields

  • githubToken: String - personal github token, default is ''
  • localTemplates: Object - local template
    • name: String - it must root/templates first level subdirectory name
    • message: String - about this template description, it will appear in prompt
  • remoteTemplates: Object - remote template
    • name: String - it must repository(go rules detail)
    • message: String - about this template description, it will appear in prompt
    • bootstrap: Object - it will assign top default bootstrap
  • bootstrap: Object - it will run after project generate
    • npm: Array - npm cmd, like npm i
    • git: Array - git cmd, like git init
    • open: Array - open cmd(ide), like code .

.clikitrc.json default is:

{
  "githubToken": "",
  "localTemplates": [
    {
      "name": "template-a",
      "message": "Project A(template-a)"
    },
    {
      "name": "template-b",
      "message": "Project B(template-b)"
    }
  ],
  "remoteTemplates": [
    {
      "name": "github:jsany/template-main#main",
      "message": "The main project(template-main)"
    },
    {
      "name": "github:jsany/template-secondary#main",
      "message": "The secondary project(template-secondary)"
    },
    {
      "name": "github:jsany/template-lerna#main",
      "message": "The mono project(template-lerna)",
      "bootstrap": {
        "npm": ["yarn"]
      }
    }
  ],
  "bootstrap": {
    "npm": ["npm install"],
    "git": ["git init -b main"],
    "open": ["code ."]
  }
}

Usage

Install

git clone https://github.com/jsany/cli-kit.git
cd cli-kit && yarn install

Build

yarn compile

Link

yarn link

It already publish to npm, so you can npm i -g @jsany/cli-kit instead of above step, of course it is suggested as template or demo, base it diy yourself

cli-kit init
cli-kit info
cli-kit config

Show your support

Give a ⭐️ if this project helped you!


This README was generated with ❤️ by readme-md-generator