Guidance

How to create a cli ?

CLI is GUI

CLI 和 浏览器 都属于 GUI

通用

约定

  • command style

    • input

      • commands
    • options

      • flags
  • meow在新窗口打开

    • 接管 命令行 命令 与 参数列表
    • help command & flag
    • version flag
  • debug flag

  • help text format

    • Usage
    • Options
    • Commands
    • Examples

初始化阶段

  • layout

    • header / welcome 信息
  • handle unhandled error

  • check node version

Data Fetch

  • await-to-js

    • a good pal for Promise
  • node-fetch

  • axios

CLI Prompts

What CLI do

Copy Files

  • copy-template-dir在新窗口打开

    • dedup
    await execa("npm", ["dedup"]);
    
  • dependencies installation

    // pkgs install
    const pkgs = ["meow", "cli-meow-help"];
    await execa("npm", ["install", ...pkgs]);