贡献指南

感谢您对 OpsHub 项目的关注!我们欢迎各种形式的贡献。

贡献方式

报告 Bug

发现问题请提交 Issue,附上详细的复现步骤

功能建议

有好的想法欢迎提交 Feature Request

提交代码

修复 Bug 或实现新功能,提交 Pull Request

完善文档

帮助改进文档,修正错误或补充内容

开发环境

环境要求

工具版本
Go1.21+
Node.js18+
MySQL8.0+
Redis6.0+

本地开发

Fork 项目

在 GitHub 上 Fork OpsHub 仓库到自己的账号

克隆代码

git clone https://github.com/YOUR_USERNAME/opshub.git
cd opshub

安装依赖

# 后端依赖
go mod download

# 前端依赖
cd web && npm install

配置环境

cp config/config.example.yaml config/config.yaml
# 修改数据库等配置

启动开发服务

# 终端 1:启动后端
go run main.go server

# 终端 2:启动前端
cd web && npm run dev

代码规范

Go 代码规范

  • 遵循 Go 官方代码风格
  • 使用 gofmt 格式化代码
  • 使用 golint 检查代码
  • 导出的函数和类型必须添加注释
  • 错误处理不能忽略

Vue/TypeScript 规范

  • 使用 Vue 3 Composition API
  • 组件使用 <script setup> 语法
  • 使用 TypeScript 类型声明
  • 遵循 ESLint 规则
  • CSS 使用 scoped 作用域

提交规范

Commit Message 格式:

<type>(<scope>): <subject>

<body>

<footer>

Type 类型:

类型说明
feat新功能
fixBug 修复
docs文档更新
style代码格式
refactor重构
test测试
chore构建/工具

示例:

feat(kubernetes): add cluster inspection feature

- Add health check for nodes
- Add workload status check
- Generate inspection report

Closes #123

Pull Request

提交流程

创建分支

git checkout -b feature/your-feature

开发和测试

完成开发后,确保代码通过测试

提交代码

git add .
git commit -m "feat: your feature description"
git push origin feature/your-feature

创建 PR

在 GitHub 上创建 Pull Request,填写详细描述

PR 模板

## 变更类型
- [ ] 新功能
- [ ] Bug 修复
- [ ] 文档更新
- [ ] 代码重构
- [ ] 其他

## 变更描述
简要描述这个 PR 做了什么...

## 相关 Issue
Closes #123

## 测试
- [ ] 已在本地测试
- [ ] 已添加单元测试
- [ ] 已更新文档

## 截图(如有)
如果是 UI 变更,请附上截图

Issue 指南

Bug 报告

报告 Bug 时请提供:

  • OpsHub 版本
  • 操作系统和浏览器版本
  • 详细的复现步骤
  • 期望的行为
  • 实际的行为
  • 相关的错误日志或截图

功能请求

提交功能请求时请说明:

  • 功能的使用场景
  • 期望的实现方式
  • 是否愿意参与实现

联系方式

GitHub

提交 Issue 和 PR

前往 →

Discussions

参与社区讨论

前往 →