Skip to content

Latest commit

 

History

History
34 lines (19 loc) · 3.53 KB

CONTRIBUTING.md

File metadata and controls

34 lines (19 loc) · 3.53 KB

贡献规范

中文交流建议

建议 PR 和 commit 的标题、正文使用中文,方便维护者阅读;允许中英文混用,技术术语、代码标识和类型前缀可保留英文。推荐格式:类型(范围): 中文摘要,例如 feat(bridge): 增加连接身份校验。正文说明原因、行为变化与验证结果。不追溯重写历史英文提交。

CI 在 PR 标题、正文说明或新增 commit 标题不含汉字时,通过警告及运行摘要建议补充中文,检查仍然通过。正文检测忽略 Markdown 标题、HTML 注释和代码,避免把模板提示当作实际说明。它只做字符检查,不判断语言质量;构建、测试和静态检查失败仍正常报告失败。

AI 辅助贡献

参考 GeyserMC 的 AI 使用政策,本仓库采用以下协作要求:

  • 使用 AI 辅助代码、测试或文档时,在 PR 正文中披露工具及用途,一句话即可,例如“使用 Codex 辅助调整 CI,已人工审阅配置并验证中文提醒逻辑”。
  • 贡献者须理解并审阅所有改动,能够解释实现及验证结果,并对提交负责。PR 说明和评审回复应使用自己的话,不直接粘贴未经核实的 AI 回答。允许翻译和拼写检查;翻译时请附上原文,方便核对。
  • 无论是否使用 AI,提交 PR 前都须完成人工测试,写清测试方式、结果及未验证部分。文档或 CI 改动可采用人工审阅和相关配置、脚本验证;不得把仅由 AI 声称通过的检查写成实测结果。
  • PR 聚焦相关改动,不夹带大量无关格式修改或生成内容。不要提交 AI 生成的图片、视频或音频等媒体素材。

以上由贡献者披露、维护者评审,不加入 CI 自动检测,也不使用 AI 内容识别器。

开发与验证

当前实现位于 dev/:cmd/easybot 为入口,internal 为后端,web 为前端。使用 Go 1.24+ 与 Node.js 20.19+,依赖以 go.mod/go.sum 和 package-lock.json 为准。详细运行方法见 开发说明。

后端在 dev 执行 go test ./... 和 go vet ./...;前端在 dev/web 执行 npm ci 和 npm run build。涉及 MySQL/PostgreSQL 时使用空的专用测试库执行集成检查。Windows 启动改动需要验证从其他工作目录启动 exe,并在验证后停止服务。

CI 在 PR、主分支推送、标签推送或手动触发时运行;普通开发分支请创建 PR 或手动运行。同一 PR 或分支的新运行会取消旧运行。跨平台任务完整执行 Go 测试和独立的 go vet,数据库任务只执行 go test -count=1 -vet=off ./internal/store,保证每次实际访问测试库。CI 使用与便携包一致的 CGO_ENABLED=0 和 -trimpath 编译参数,复用测试、静态检查与打包的编译缓存。

建议 PR 使用中文说明问题、最终行为和验证结果。为非平凡修复保留能暴露原问题的测试;不要把默认跳过的外部数据库测试描述为已验证通过。

复刻依据与边界

EasyBot-Recovered 是同组织的私有参考仓库,包含发布包恢复记录、反编译模块以及独立 .NET 重建脚手架。它不是可直接构建的原版源码;Go Core 是独立实现。

新增功能先记录原版模块或接口依据,再定义当前实现的协议、数据及验收标准。NativeAOT 无法恢复的内容标注为未知,不推断实现细节。参考代码及 DLL 不复制进公开 Core;如确有复制需求,先确认授权与分发范围。