用途
本技能面向开源贡献场景,帮助开发者以规范、高效且尊重维护者时间的方式参与开源项目。它提供从贡献前准备到提交 Pull Request、回应评审的完整实践指南,目标是产出高质量、易被合并的贡献。
主要能力
贡献前准备
- 调研项目:阅读 CONTRIBUTING.md、CODE_OF_CONDUCT.md,检查已有 issue 是否重复,理解项目目标与范围,查看近期 PR 了解约定,确认所需功能或修复是否被接受。
- 搭建开发环境:提供 fork 仓库、添加上游远程、安装依赖并验证测试通过的命令示例(如 gh repo fork、git remote add upstream、cargo build、cargo test)。
Issue 写作
- Bug 报告模板:包含描述、复现步骤、预期行为、实际行为、环境信息、附加上下文、可选解决方案。
- 功能请求模板:包含问题陈述、建议方案、考虑过的替代方案、附加上下文、贡献意愿勾选项。
Pull Request 最佳实践
- 分支命名约定:如 feature/、fix/、docs/、refactor/ 前缀。
- 提交信息规范:采用 type: subject 格式,类型包括 feat、fix、docs、style、refactor、test、chore,并给出示例。
- PR 描述模板:包含摘要、动机、变更列表、测试方式、检查清单、关联 issue。
- PR 体积指南:按变更行数划分 XS(<10)、S(10-100)、M(100-500)、L(500-1000)、XL(>1000),并建议尽量控制在 300 行以内。
代码质量检查清单
提交前运行格式化与静态检查(如 cargo fmt、cargo clippy)、确保测试通过、为新代码补充测试、更新文档、避免无关变更、保持提交历史整洁。
回应评审
- 应做:感谢评审者、处理所有评论、必要时请求澄清、及时修改、聚焦代码讨论。
- 不应做:情绪化对待反馈、无证据争论、忽略评论、评审期间强制推送、添加无关变更。
- 提供回应示例:确认反馈、请求澄清、礼貌表达不同意见。
维护 fork
提供与上游同步及变基特性分支的 Git 命令。
首次贡献建议
从文档修复、补充测试、处理 good first issue 标签、评审他人 PR、在 issue 中提问等小处入手。
使用方式
该技能以指南和模板形式提供,开发者可在准备贡献、撰写 issue 或 PR、回应评审时参照其中的清单、模板与命令执行。
适用场景
适用于向任意开源项目提交 issue 或 Pull Request 的开发者,尤其是首次贡献者或希望提升贡献质量的参与者。
限制
技能中给出的命令示例(如 cargo build、cargo test)以 Rust 项目为例,其他语言项目需自行替换对应工具。技能强调尊重维护者决策、不期待即时评审,并明确不应在未运行测试、忽略项目约定或未标记草稿的情况下提交未完成工作。