文档贡献
贡献
我们接受的补丁。我们拒绝的补丁。
开放的贡献者流程 — 对纪律略有主张,但对你是谁绝无成见。
01
挑选一件事来做
仓库将适合初次上手的议题标记为 good-first-issue。维护者对这些进行分类,以确认范围合理、步骤清晰。若你完成了一个,请保留其标记 — 这能帮到下一个人。
对于较大的工作,请先开启一场讨论。我们会说 好、不,或 暂时不行,原因如下。说不,是尊重你时间的一部分。
02
为你的提交签名
shell# in your local clone
git config user.signingkey YOUR_KEY_FINGERPRINT
git config commit.gpgsign true
git config tag.gpgsign true我们要求 GPG 签名的提交。这不是为了设卡 — 而是为了让项目供应链保持诚实。若你还没有密钥,仓库 wiki 会引导你生成一个。
签署行
每条提交消息都必须以一条开发者原创声明(Developer Certificate of Origin)签署结尾(
Signed-off-by: Name <email>)。使用 git commit -s 来自动添加它。03
编写一条约定式提交消息
提交消息feat(lsia): emit telemetry on safe-mode entry
Adds a single counter when the immune-system engine enters safe mode.
The counter is hashed-pattern only and respects the privacy gate.
Refs: #842
Signed-off-by: A. Researcher <a@example.org>对于首行,我们遵循 Conventional Commits 规范。正文解释为什么。页脚引用议题或相关变更。
04
开启拉取请求
拉取请求会经过三道自动化关卡和一次人工评审:
- 可复现构建检查验证你的补丁不会破坏确定性。
- 隐私关卡验证未引入任何原始数据路径。
- 单元与集成测试套件必须通过。
- 两名评审在合并前批准。涉及安全敏感区域需要一名安全评审。
若隐私关卡失败
停下。仔细重读差异 — 当某条代码路径可能泄露原始标识符(IP、邮箱、IMEI、GPS)时,该测试会失败。修复方案几乎从不是禁用该测试。
05
致谢
每一项被接受的贡献都会出现在下一份发布说明中 — 附带署名,除非你要求匿名。AUTHORS 文件会在你首次合并变更时自动更新。
对于较大的工作 — 一项重大功能、一次审计、一份翻译 — 更新日志条目会点名表彰你。匿名署名是一项寻常请求,而非特殊请求。
06
行为准则
我们遵循 Contributor Covenant 2.1。人身攻击、威胁、人肉搜索和骚扰均属立即移除的违规行为,无需投诉链。全文位于仓库的 CODE_OF_CONDUCT.md 中。