参与贡献
欢迎提交 Issue 与 Pull Request。
提交前
- 确认能编译:
go build -o GoPanel .(或在子目录用./cmd/gopanel;两者等价) - 通过代码质量检查:
gvt hook -t(暂存文件)或gvt hook -a(全量) - 前端改动跑
npm run typecheck与npm run lint - 涉及接口的改动同步更新
docs/swagger.yaml/docs/swagger.json - 行为变更在
CHANGELOG.md追加条目
规范
- 单文件行数:警告 250 行 / 限制 300 行;测试文件警告 300 / 限制 500, 超限请拆分成独立文件,不要用白名单绕过
- 后端分层:
handler → service → repository → model,数据结构统一放internal/model - 不引入自助注册:账号只能由管理员在后台创建
- 保留框架既有约定:
nging_*表名、NGINGSID、OAuth2 标识nging等不要改 - 版权头:原作者行必须保留(AGPL 要求)
文档
- 官网与文档站源码在
frontend/vitepress/,随代码一起提交 - 仓库内开发文档在
docs/ - 长期约定沉淀在
.codebuddy/memory/MEMORY.md
