98 lines
2.1 KiB
Markdown
98 lines
2.1 KiB
Markdown
# 贡献指南
|
||
|
||
感谢您对Installer Builder项目的关注!我们欢迎并鼓励社区贡献。本文档提供了参与项目开发的指南。
|
||
|
||
## 开发环境设置
|
||
|
||
1. 确保您已安装Go 1.18或更高版本
|
||
2. 克隆仓库:
|
||
```bash
|
||
git clone git@git.kingecg.top:kingecg/installerbuilder.git
|
||
cd installerbuilder
|
||
```
|
||
3. 安装依赖:
|
||
```bash
|
||
go mod download
|
||
```
|
||
|
||
## 开发流程
|
||
|
||
1. 从主分支创建新的功能分支:
|
||
```bash
|
||
git checkout -b feature/your-feature-name
|
||
```
|
||
2. 进行开发和测试
|
||
3. 确保代码符合项目的编码规范
|
||
4. 提交代码并推送到远程仓库:
|
||
```bash
|
||
git commit -m "feat: 添加新功能"
|
||
git push origin feature/your-feature-name
|
||
```
|
||
5. 创建合并请求(Merge Request)
|
||
|
||
## 编码规范
|
||
|
||
- 遵循Go的官方代码规范
|
||
- 使用`gofmt`或`goimports`格式化代码
|
||
- 添加适当的注释和文档
|
||
- 确保所有测试通过
|
||
- 遵循[Conventional Commits](https://www.conventionalcommits.org/)规范进行提交
|
||
|
||
## 提交规范
|
||
|
||
提交信息应遵循以下格式:
|
||
|
||
```
|
||
<类型>(<范围>): <描述>
|
||
|
||
[可选的正文]
|
||
|
||
[可选的脚注]
|
||
```
|
||
|
||
类型包括:
|
||
- feat: 新功能
|
||
- fix: 修复bug
|
||
- docs: 文档更新
|
||
- style: 代码风格调整(不影响代码功能)
|
||
- refactor: 代码重构
|
||
- perf: 性能优化
|
||
- test: 添加或修改测试
|
||
- build: 构建系统或外部依赖变更
|
||
- ci: CI配置变更
|
||
- chore: 其他不修改源代码或测试的变更
|
||
|
||
## 测试
|
||
|
||
- 为所有新功能和修复添加单元测试
|
||
- 确保所有测试通过:
|
||
```bash
|
||
make test
|
||
```
|
||
- 检查代码覆盖率:
|
||
```bash
|
||
make cover
|
||
```
|
||
|
||
## 文档
|
||
|
||
- 更新README.md以反映重要变更
|
||
- 为新功能添加文档
|
||
- 保持API文档的最新状态
|
||
|
||
## 发布流程
|
||
|
||
1. 更新版本号
|
||
2. 更新CHANGELOG.md
|
||
3. 创建发布标签
|
||
4. 构建并发布二进制文件
|
||
|
||
## 许可证
|
||
|
||
通过贡献代码,您同意您的贡献将根据项目的许可证(Apache License 2.0)进行许可。
|
||
|
||
## 联系方式
|
||
|
||
如有任何问题,请通过以下方式联系我们:
|
||
- 提交Issue
|
||
- 发送邮件至项目维护者 |