贡献指南
感谢你愿意为 gin-vue-admin 贡献力量!完整规范见仓库根 CONTRIBUTING.md。
开发流程
- 拉分支:从
main切出feat/<topic>或fix/<topic> - 写代码:遵循分层(handler→service→repository→model),复用
GenericRepository[T] - 写测试:新功能必须带测试,参考 测试
- 本地校验(提交前全绿):bash
make server-lint # golangci-lint make server-test # 单测 make server-swag # 改 handler 注解后重生成 docs 包 make server-ci # 一键 CI 复现 - 提交:遵循 Conventional Commits:
feat: 新增用户导出fix(auth): 修复刷新令牌校验refactor(repo): 泛型基类抽取
- 提 PR:描述动机、影响、测试方式,关联 issue
代码规范
- Go:
gofmt+goimports+.golangci.yml规则集 - 架构:依赖单向,repository 抽接口以便单测
- 错误:用
pkg/apperr,统一 RFC 7807 ProblemDetail - 响应:
response.Success/apperr.Write,不自定义 wrapper - 原则:YAGNI / DRY / KISS
Swagger 注解
任何改动 handler 签名/路由/DTO 的 PR,必须同步更新注解并重新生成:
bash
make server-swag行为准则
友善、尊重、对事不对人。详见 CODE_OF_CONDUCT。
