# lrk-hello-cli **Repository Path**: liurenkui/lrk-hello-cli ## Basic Information - **Project Name**: lrk-hello-cli - **Description**: 一个用于学习 npm 包完整生命周期的 CLI 示例项目 - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-06 - **Last Updated**: 2026-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: npm ## README # lrk-hello-cli 一个用于学习 npm 包完整生命周期的 CLI 示例项目。 ## 功能特性 - 🎉 **greet** - 向用户打招呼,支持自定义颜色和大小写 - ℹ️ **info** - 显示系统和包信息 - 📝 **create** - 创建示例文件(支持 txt、json、md 格式) - 📂 **list** - 列出目录中的文件 ## 安装 ### 全局安装 ```bash npm install -g lrk-hello-cli ``` ### 本地测试 ```bash # 克隆项目 git clone cd lrk-hello-cli # 安装依赖 npm install # 链接到全局 npm link # 现在可以使用 hello-cli 命令了 hello-cli --version ``` ### 查看已链接的本地包 ```bash # 查看全局已链接的包 npm ls -g --depth=0 --link ``` ### 取消本地链接 ```bash # 取消全局链接 npm unlink -g lrk-hello-cli # 或者先进入项目目录 npm unlink ``` ## 使用方法 ### 查看版本 ```bash hello-cli --version ``` ### 查看帮助 ```bash hello-cli --help ``` ### 命令详解 #### 1. greet - 打招呼 ```bash # 基本用法 hello-cli greet # 指定名字 hello-cli greet 小明 # 大写输出 hello-cli greet 小明 --uppercase # 指定颜色(支持 red, green, yellow, blue, magenta, cyan) hello-cli greet 小明 --color blue hello-cli greet 小明 -c red ``` #### 2. info - 系统信息 ```bash hello-cli info ``` 输出示例: ``` === 系统信息 === Node.js 版本: v18.12.1 平台: darwin 架构: arm64 === 包信息 === 包名: lrk-hello-cli 版本: 1.0.0 描述: 一个用于学习 npm 包生命周期的 CLI 示例项目 作者: Your Name 许可证: MIT ``` #### 3. create - 创建文件 ```bash # 创建文本文件(默认) hello-cli create myfile # 创建 JSON 文件 hello-cli create myfile --template json hello-cli create myfile -t json # 创建 Markdown 文件 hello-cli create myfile --template md ``` #### 4. list - 列出文件 ```bash # 列出当前目录 hello-cli list # 列出指定目录 hello-cli list /path/to/dir # 显示隐藏文件 hello-cli list --all hello-cli list -a ``` ## 发布到 npm ### 1. 准备工作 确保你有一个 npm 账号: ```bash npm adduser # 或登录已有账号 npm login ``` ### 2. 检查包配置 ```bash # 检查包信息 npm pack # 查看将被发布的文件 npm publish --dry-run ``` ### 3. 发布 ```bash # 发布公开包 npm publish --access public # 如果包名已被占用,可以使用作用域 npm publish --access public --scope=@yourname ``` ### 4. 更新版本 ```bash # 补丁版本 (1.0.0 -> 1.0.1) npm version patch # 次要版本 (1.0.0 -> 1.1.0) npm version minor # 主要版本 (1.0.0 -> 2.0.0) npm version major # 发布后记得推送标签 git push --tags ``` ## 卸载 ### 全局卸载 ```bash npm uninstall -g lrk-hello-cli ``` ### 验证卸载 ```bash # 检查命令是否还存在 hello-cli --version # 应该显示 command not found ``` ## 项目结构 ``` lrk-hello-cli/ ├── bin/ │ └── cli.js # CLI 入口文件 ├── package.json # 包配置 ├── README.md # 项目文档 └── .gitignore # Git 忽略配置 ``` ## 依赖说明 - [commander](https://www.npmjs.com/package/commander) - 命令行参数解析 - [chalk](https://www.npmjs.com/package/chalk) - 终端字符串样式 ## 许可证 MIT ## 学习资源 - [npm 官方文档](https://docs.npmjs.com/) - [Creating ESM-based CLI tools](https://blog.logrocket.com/creating-esm-based-cli-tools/) - [Node.js CLI 最佳实践](https://github.com/lirantal/nodejs-cli-apps-best-practices)