贡献指南
约 735 字大约 2 分钟
2026-10-19 20:00:00
分支规范、提交规范、代码风格与评审流程
分支规范
- 主分支为
main。 - 不得擅自 commit / push:维护者审查后才推送。无明确指示时保持在工作区(
AGENTS.md:127-129)。 - 提交服务的源码备份在
submit-worker分支(不是main,不要在工作区找该文件夹),那是备份而非部署源(AGENTS.md:291-293)。
提交规范
提交信息使用简短中文短语,遵循既有历史风格:
chore(version): ...
review: approved #12
fix: ...依据:AGENTS.md:130-131。
代码风格
| 项 | 要求 |
|---|---|
| 网页端文案 | 只改 文字设置.ts 引号内的值,不改键名 |
| 网页端数据 | 只改 软件数据/apps/*.json,不改加载器 |
| 网页端上游目录 | src/components、src/styles、src/utils 保持结构与上游一致,便于 diff |
| 网页端样式 | 页面专属样式写成组件内 scoped 规则 |
| 网页端行结尾 | 无 .gitattributes,行结尾混合;编辑前读实际字节并保持原样 |
| 桌面端命名空间 | 统一 ClassSoftwareHub.Desktop.* |
| 桌面端平台抽象 | 所有 P/Invoke 集中在 Platform/NativeMethods*.cs,禁止在业务代码另写 DllImport |
| 桌面端版本判定 | 一律走 Platform.OsInfo,不得使用 Environment.OSVersion |
| 桌面端移植原则 | 语义等价 + UI 1:1;原注释(尤其「为什么这么写」)不删不精简;只在 WinUI API 确实不存在时才偏离 |
| 桌面端平台目录 | 不得修改 Platform/ 下已有文件;缺什么在 Platform/ 下新增文件并说明 |
| 桌面端 C# 版本 | 锁 10,不引入 C# 11/12 特性 |
| 通用 | 仓库是公开的:不写「已知问题 / TODO」段落、不写过往配置失误记录、不写沙箱或工具绕法、不写临时文件路径(AGENTS.md:138-140) |
评审流程
- 提交前自检:网页端触碰
.ts/.vue后运行npm run type-check;Windows 7 版运行dotnet build src\ClassSoftwareHub.Win7.csproj -c Release。 - 提交 Pull Request 或 Issue。
- 维护者评审。
- 访客提交的软件:进入
submissions/→create-review-issue.yml建[待审核]Issue → 维护者打approved/覆盖已存在/rejected→review-submission.yml执行合并或删除 → 主动派发deploy.yml。 - 反馈类提交:建 Issue 后草稿即删除(反馈的终点就是 Issue,无合并步骤)。
提交前必读
| 仓库 | 必读文件 |
|---|---|
| 网页端 | README.md、AGENTS.md、软件数据/README-维护手册.md |
| Windows 7 版 | README.md、BUILDING.md、src/PORTING.md |
移植工作交付要求
参与 Windows 7 移植时,每个交付须用中文总结,并包含:
- 移植了哪些文件(原路径 → 新路径),各多少行。
- 编译结果(自己文件的错误是否清零)。
- 所有偏离原版的地方,逐条说明「原写法 → 新写法 → 为什么」。
- 没做完 / 不敢确定 / 需要主控决策的事项,直说,不要粉饰。
- 依赖了哪些他人负责的文件(如果它们还没就绪)。
依据:src/PORTING.md:207-219。
贡献者
更新日志
2026/10/20 06:59
查看所有更新日志
6b8a2-docs: 添加 docs/download.md于
版权所有
版权归属:ClassSoftwareHub
许可证:GPL-3.0
