贡献指南
了解如何为 Chaterm 项目贡献代码、报告 Bug 和改进文档。
贡献方式
- 报告 Bug -- 帮助我们识别和修复问题
- 讨论代码 -- 参与技术讨论
- 提交修复 -- 修复 Bug 和改进现有功能
- 提出功能 -- 建议新功能
- 改进文档 -- 完善文档和指南
- 添加测试 -- 提高测试覆盖率
我们使用 GitHub 来托管代码、跟踪问题和功能请求,以及接受 Pull Request。访问 Chaterm 仓库 开始贡献。
贡献者工作流程
- Fork 本仓库到你的个人账号。
- 从
main分支创建你的开发分支。 - 在你的 Fork 仓库中进行开发。
- 完成后向原仓库的
main分支提交 Pull Request。 - 在 PR 描述中说明修复的 Issue(如适用)。
- 获得至少一位维护者的批准后,PR 将被合并。
本地开发环境设置
- 克隆仓库:
bash
# 在 GitHub 上 Fork 仓库,然后克隆你的 Fork
git clone https://github.com/YOUR_USERNAME/Chaterm.git
cd Chaterm安装必要的开发工具:
- 安装 Node.js(推荐使用最新的 LTS 版本)
安装 Electron:
- 更换 npm 源为最新淘宝源:bash
npm config set registry https://registry.npmmirror.com - 编辑 npm 配置文件:bash
npm config edit - 在打开的配置文件中,添加以下镜像源配置:bash
electron_mirror=https://cdn.npmmirror.com/binaries/electron/ electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/ - 保存并关闭配置文件后,在命令行中安装 Electron:bash
npm i electron -D
- 更换 npm 源为最新淘宝源:
安装项目依赖:
bash
node scripts/patch-package-lock.js
npm install- 启动开发服务器:
bash
npm run dev项目结构
Chaterm/
├── src/
│ ├── main/ # Electron 主进程
│ ├── preload/ # 预加载脚本
│ └── renderer/ # Vue.js 前端
├── scripts/ # 构建和开发脚本
├── resources/ # 应用资源(图标等)
├── tests/ # 测试文件
└── docs/ # 文档代码质量标准
代码风格
- ESLint -- JavaScript/TypeScript 代码检查
- Prettier -- 代码格式化
- TypeScript -- 推荐使用强类型
质量检查
bash
# 格式化代码
npm run format
# 检查代码问题
npm run lint
# 类型检查
npm run typecheck
# 运行测试
npm test
# 构建验证
npm run buildPR 指南
什么是优秀的 PR
明确的目的
- 单一、专注的更改
- 清晰的标题和描述
- 引用相关的 Issue
高质量的代码
- 遵循项目编码标准
- 包含适当的测试
- 注释良好的代码
- 无破坏性更改(除非有意为之)
文档
- 更新相关文档
- 包含使用示例
- 记录新功能
测试
- 为新功能编写单元测试
- 为复杂功能编写集成测试
- 手动测试验证
PR 模板
创建 PR 时,请包含:
markdown
## 描述
简要描述更改内容
## 更改类型
- [ ] Bug 修复
- [ ] 新功能
- [ ] 破坏性更改
- [ ] 文档更新
## 测试
- [ ] 本地测试通过
- [ ] 手动测试完成
- [ ] 截图(UI 更改)
## 检查清单
- [ ] 代码遵循风格指南
- [ ] 自我审查完成
- [ ] 文档已更新
- [ ] 无破坏性更改提交信息
使用约定式提交格式:
feat: 添加新功能
fix: 修复组件中的 Bug
docs: 更新 README
refactor: 改进代码结构
test: 添加单元测试获取帮助
- 文档 -- 首先查看现有文档
- 讨论 -- 使用 GitHub Discussions 提问
- 问题 -- 通过 Issue 报告 Bug,并提供详细信息
- 想法 -- 通过 Issue 提出功能建议
访问 Chaterm GitHub 仓库 获取以上所有内容。
有问题?
如果你有任何关于贡献的问题,请使用 "question" 标签创建一个 Issue。
许可证
通过为 Chaterm 做出贡献,你同意你的贡献将按照与项目相同的条款进行许可。