cm-cli-tool
v1.1.0
Published
AI 开发环境初始化工具 - 一键配置 Claude Code / Cursor 的 Skills、MCP、Rules
Downloads
72
Maintainers
Readme
cm-cli-tool
AI 开发环境初始化工具 —— 一键配置 Claude Code / Cursor 的 Skills、MCP、Rules。
通过 cm-cli init 命令,在新机器或新项目上快速搭建统一的 AI 辅助开发环境,省去手动逐个复制配置的麻烦。
安装
要求 Node.js >= 18.0.0。
# 全局安装(推荐)
npm install -g cm-cli-tool
# 或使用 npx 免安装直接运行
npx cm-cli-tool init快速开始
# 交互式初始化(首次使用推荐,会引导选择模式和输入密钥)
cm-cli init
# 仅全局初始化(安装 Skills + 配置全局 MCP + 密钥)
cm-cli init --global
# 仅项目初始化(在当前目录生成 Rules / CLAUDE.md / .deploy.json)
cm-cli init --project
# 全部初始化 + 强制覆盖已有配置
cm-cli init --force
# 跳过密钥输入(生成占位符,稍后手动填写)
cm-cli init --skip-secrets功能说明
全局初始化 (--global)
在用户主目录下配置所有 AI 工具环境,适合新机器首次搭建。
1. 安装 Skills → ~/.claude/skills/
将内置的 8 个 Skill 模板安装到 Claude Code 的 skills 目录:
| Skill | 用途 |
|-------|------|
| chinese-responder | 强制中文回复 |
| analyze-leniu-fresh | 腾云平台架构分析 |
| jenkins-deploy | Jenkins + Portainer 自动构建部署 |
| db-menu-compare | 数据库菜单表对比,生成迁移 SQL |
| db-sql-convert | MySQL SQL 转 KingBase / 达梦 |
| db-sql-repeatable | SQL 脚本转可重复执行的幂等脚本 |
| git-repo-analyzer | Git 仓库提交分析与变更总结 |
| grafana-log-analyzer | Grafana/Loki 日志查询与代码定位 |
已有同名 Skill 时会提示:跳过 / 覆盖 / 备份后覆盖。
2. 部署 MCP 服务器 → ~/.tengyun/mcp-servers/
将内置的 MCP 服务器源码部署到统一位置,自动创建 Python 虚拟环境并安装依赖:
~/.tengyun/mcp-servers/
├── jenkins-ci/
│ ├── server.py # Jenkins CI/CD MCP 服务器
│ ├── requirements.txt
│ └── .venv/ # 自动创建
├── yunxiao-devops/
│ ├── server.py # 阿里云云效 MCP 服务器
│ ├── requirements.txt
│ └── .venv/ # 自动创建
└── install.bat # 手动安装脚本(自动安装失败时使用)3. 配置 MCP 服务器
自动写入 Cursor 和 Claude Code 的 MCP 配置,路径统一指向 ~/.tengyun/mcp-servers/:
| 工具 | 配置文件 |
|------|---------|
| Cursor | ~/.cursor/mcp.json |
| Claude Code | ~/.claude.json → mcpServers 段 |
预置的 MCP 服务器:
| 服务 | 类型 | 说明 |
|------|------|------|
| jenkins-ci | Python stdio | Jenkins 构建、部署、日志查看 |
| yunxiao-devops | Python stdio | 阿里云云效流水线、代码库、合并请求、工作项 |
| context7 | npx | 上下文管理 |
| figma | http | Figma 设计稿 |
| memory | npx | 记忆存储 |
| sequential-thinking | npx | 顺序思维链 |
4. 密钥管理 → ~/.tengyun/.env
交互式输入密钥,保存到统一的 .env 文件,MCP 配置中引用这些值:
# Jenkins CI
JENKINS_DEV_TOKEN=
JENKINS_TEST_TOKEN=
# 阿里云云效 DevOps
ALIBABA_CLOUD_ACCESS_KEY_ID=
ALIBABA_CLOUD_ACCESS_KEY_SECRET=
YUNXIAO_ORG_ID=项目初始化 (--project)
在当前项目目录下生成配置文件,适合每个新项目单独初始化。
1. Cursor Rules → .cursor/rules/
生成项目级 Agent 规则文件:
tengyun-java.md— Java 后端开发规范(技术栈、多租户、消息队列等)tengyun-sql.md— SQL 和数据库规范(升级脚本、字段规范等)
2. CLAUDE.md
生成 Claude Code 项目指引文件,包含项目概述、技术栈、目录结构、开发约定和常用命令。
3. .deploy.json
生成 Jenkins 部署配置模板,配合 jenkins-deploy Skill 使用。
项目结构
cm-cli-tool/
├── bin/
│ └── tengyun.js # CLI 入口
├── src/
│ ├── index.js # 模块导出
│ ├── commands/
│ │ ├── init.js # init 命令路由 + Banner
│ │ ├── init-global.js # 全局初始化逻辑
│ │ └── init-project.js # 项目初始化逻辑
│ ├── templates/
│ │ ├── skills/ # 9 个 Skill 模板 (SKILL.md + scripts/)
│ │ ├── mcp/ # MCP 配置模板 (.json.tpl)
│ │ ├── mcp-servers/ # MCP 服务器源码
│ │ │ ├── jenkins-ci/ # Jenkins MCP (server.py + requirements.txt)
│ │ │ ├── yunxiao-devops/ # 云效 MCP (server.py + requirements.txt)
│ │ │ └── install.bat # 统一安装脚本
│ │ ├── rules/ # Cursor Rules 模板 (.md)
│ │ └── claude-md/ # CLAUDE.md 模板
│ └── utils/
│ ├── file-ops.js # 文件操作(深度合并/备份/模板变量替换)
│ ├── env-gen.js # .env 文件生成与读取
│ └── prompts.js # 交互式问答
└── package.json配置合并策略
对已有配置文件(如 ~/.cursor/mcp.json、~/.claude.json),工具采用安全合并策略:
- 读取现有文件内容
- 深度合并新配置(已存在的 key 不覆盖,除非使用
--force) - 写入前自动备份原文件为
.bak
模板变量
模板文件使用 {{VARIABLE}} 占位符,init 时自动替换为实际值:
| 变量 | 来源 | 示例 |
|------|------|------|
| {{MCP_HOME}} | 自动生成 | C:/Users/NINGMEI/.tengyun/mcp-servers |
| {{JENKINS_DEV_TOKEN}} | .env 交互输入 | 112ee8... |
| {{HOME}} | 系统用户目录 | C:/Users/NINGMEI |
| {{PROJECT_NAME}} | 项目初始化时输入 | 腾云平台 |
自定义与扩展
添加新 Skill
- 在
src/templates/skills/下创建新目录 - 编写
SKILL.md(遵循 YAML frontmatter + Markdown 格式) - 可选添加
scripts/子目录存放工具脚本 - 重新发布即可
添加新 MCP 服务器
编辑 src/templates/mcp/ 下的模板文件,添加新的 server 配置块。
添加新 Rule
在 src/templates/rules/ 下添加 .md 文件,使用 YAML frontmatter 定义 description 和 globs。
发布到 npm
前置条件
- 注册 npmjs.com 账号
- 如果启用了 2FA,需要创建 Automation Token(Classic Token → 类型选 Automation)
发布流程
# 1. 修改版本号
npm version patch # 1.0.0 → 1.0.1(修复)
npm version minor # 1.0.0 → 1.1.0(新功能)
npm version major # 1.0.0 → 2.0.0(破坏性变更)
# 2. 预览打包内容
npm pack --dry-run
# 3. 发布
# 方式 A:已 npm login 且无 2FA
npm publish --access public
# 方式 B:使用 Automation Token(有 2FA 的账号)
# 创建项目级 .npmrc(发布后删除):
echo "//registry.npmjs.org/:_authToken=npm_YOUR_TOKEN" > .npmrc
npm publish --access public
del .npmrc2FA 账号发布说明
npm 账号启用两步验证后,普通 npm publish 会报 403 错误。解决方式:
- 登录 npmjs.com → Access Tokens
- 点击 Generate New Token → 选择 Classic Token
- 类型选择 Automation(此类型天然绕过 2FA)
- 复制生成的 token
- 在项目根目录临时创建
.npmrc写入 token - 执行
npm publish --access public - 发布后立即删除
.npmrc,避免 token 泄漏
注意:
.npmrc已加入.npmignore,不会被打包进 npm 包,但仍需注意不要提交到 Git 仓库。
各工具配置文件路径速查
| 工具 | 配置类型 | 路径 |
|------|---------|------|
| Claude Code | Skills | ~/.claude/skills/<name>/SKILL.md |
| Claude Code | MCP + 全局设置 | ~/.claude.json |
| Claude Code | 项目指引 | <项目根>/CLAUDE.md |
| Cursor | MCP(用户级) | ~/.cursor/mcp.json |
| Cursor | MCP(项目级) | <项目根>/.cursor/mcp.json |
| Cursor | Rules | <项目根>/.cursor/rules/*.md |
| Cursor | Skills(用户级) | ~/.cursor/skills/<name>/SKILL.md |
| Cursor | Skills(项目级) | <项目根>/.cursor/skills/<name>/SKILL.md |
| cm-cli-tool | 密钥 | ~/.tengyun/.env |
| cm-cli-tool | MCP 服务器 | ~/.tengyun/mcp-servers/<name>/ |
License
MIT
