🚀 done-coding 命令行工具集 - 提供完整开发工作流支持的 monorepo 项目
done-coding-cli 是一个基于 Lerna 管理的 monorepo 项目,包含多个专业的命令行工具,旨在简化和标准化开发工作流程。每个工具都专注于特定的开发任务,可以独立使用或作为统一 CLI 的一部分。
- @done-coding/cli - 主命令行工具,集成所有子工具
- create-done-coding - 项目创建工具
- @done-coding/cli-component - 组件生成工具
- @done-coding/cli-config - 工程化配置工具
- @done-coding/cli-extract - 信息提取工具
- @done-coding/cli-git - Git 跨平台操作工具
- @done-coding/cli-inject - 信息注入工具
- @done-coding/cli-publish - 项目发布工具
- @done-coding/cli-template - 模板处理工具
- @done-coding/cli-utils - 通用工具库
# 全局安装
npm install -g @done-coding/cli
# 验证安装
DC --version# 创建新项目
DC create my-project
# 生成组件
DC component Button
# Git 操作
DC git status
# 查看所有可用命令
DC --help- Node.js >= 18.0.0
- pnpm (推荐) 或 npm
- Git
# 克隆仓库
git clone https://github.com/done-coding/done-coding-cli.git
cd done-coding-cli
# 安装依赖
pnpm install
# 构建所有包
pnpm run build# 开发模式(监听文件变化)
pnpm run dev
# 构建所有包
pnpm run build
# 运行测试
pnpm run test
# 代码检查
pnpm run lint
# 发布包
pnpm run pushdone-coding-cli/
├── packages/ # 所有包的源码
│ ├── cli/ # 主 CLI 工具
│ ├── create/ # 项目创建工具
│ ├── component/ # 组件生成工具
│ ├── config/ # 工程配置工具
│ ├── extract/ # 信息提取工具
│ ├── git/ # Git 操作工具
│ ├── inject/ # 信息注入工具
│ ├── publish/ # 发布工具
│ ├── template/ # 模板工具
│ └── utils/ # 工具库
├── docs/ # 文档和指南
├── scripts/ # 构建和发布脚本
├── lerna.json # Lerna 配置
├── package.json # 根包配置
└── pnpm-workspace.yaml # pnpm 工作空间配置
graph TD
A["@done-coding/cli"] --> B["create-done-coding"]
A --> C["@done-coding/cli-component"]
A --> D["@done-coding/cli-config"]
A --> E["@done-coding/cli-extract"]
A --> F["@done-coding/cli-git"]
A --> G["@done-coding/cli-inject"]
A --> H["@done-coding/cli-publish"]
A --> I["@done-coding/cli-template"]
A --> J["@done-coding/cli-utils"]
D -.-> F
style D fill:#e1f5fe
style F fill:#e8f5e8
- @done-coding/cli-config → @done-coding/cli-git:
- config 包的
merge-lint模块调用 git 包的check reverse-merge命令 - 实现工程化配置中的 git 合并规范检测
- config 包的
- 所有子包 → @done-coding/cli-utils:
- 提供通用的 CLI 工具函数和类型定义
- 统一的配置文件读取和命令行参数处理
我们欢迎社区贡献!请遵循以下步骤:
- Fork 仓库
- 创建功能分支:
git checkout -b feature/amazing-feature - 提交更改:
git commit -m "feat: add amazing feature" - 推送分支:
git push origin feature/amazing-feature - 创建 Pull Request
- 遵循 约定式提交 规范
- 使用 ESLint 和 Prettier 保持代码风格一致
- 为新功能添加测试
- 更新相关文档
项目使用 Lerna 进行版本管理和发布:
# 发布新版本
pnpm run push
# 查看变更日志
pnpm run logMIT © JustSoSu
如果您在使用过程中遇到问题:
- 查看各包的 README 文档
- 查看 更新日志
感谢使用 done-coding CLI 工具集! 🎉