Skip to content

docs(contributing): 更新贡献指南并添加标准 Issue 模板#218

Merged
GeWuYou merged 1 commit into
mainfrom
docs/contributing-update-issue-templates
Apr 14, 2026
Merged

docs(contributing): 更新贡献指南并添加标准 Issue 模板#218
GeWuYou merged 1 commit into
mainfrom
docs/contributing-update-issue-templates

Conversation

@GeWuYou

@GeWuYou GeWuYou commented Apr 14, 2026

Copy link
Copy Markdown
Owner
  • 更新问题报告指引,整合 Bug、功能、文档、咨询四类模板
  • 优化 Issue 分诊建议,明确 bug、enhancement、documentation、question 分类
  • 修订 PR 提交流程说明,统一模板使用要求
  • 新增 README 项目介绍文档,包含模块说明、安装指导等内容
  • 添加标准化 Issue 模板配置,支持 Bug 报告、功能建议、文档改进、使用咨询
  • 完善 GitHub Issue 配置,提供模板搜索与文档链接指引

Summary by CodeRabbit

  • 文档

    • 添加了结构化的GitHub Issue模板,用于Bug报告、功能请求、文档改进和用户提问
    • 更新了贡献指南,指引用户通过相应模板提交反馈
    • 改进了问题分诊和反馈流程
  • 工程化

    • 新增Issue模板配置,优化问题提交体验

- 更新问题报告指引,整合 Bug、功能、文档、咨询四类模板
- 优化 Issue 分诊建议,明确 bug、enhancement、documentation、question 分类
- 修订 PR 提交流程说明,统一模板使用要求
- 新增 README 项目介绍文档,包含模块说明、安装指导等内容
- 添加标准化 Issue 模板配置,支持 Bug 报告、功能建议、文档改进、使用咨询
- 完善 GitHub Issue 配置,提供模板搜索与文档链接指引

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GeWuYou has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@coderabbitai

coderabbitai Bot commented Apr 14, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

为项目建立了结构化的Issue管理系统,包括四个专用GitHub Issue模板(缺陷报告、功能建议、文档改进、使用咨询)及其配置文件,并更新贡献指南以推行Issue优先的工作流程。

Changes

Cohort / File(s) Summary
GitHub Issue 模板
.github/ISSUE_TEMPLATE/01-bug-report.yml, .github/ISSUE_TEMPLATE/02-feature-request.yml, .github/ISSUE_TEMPLATE/03-documentation.yml, .github/ISSUE_TEMPLATE/04-question.yml
新增四个结构化Issue表单,分别用于缺陷报告、功能建议、文档改进和使用咨询,各自包含模块选择、必填项验证和分类字段。
Issue 模板配置
.github/ISSUE_TEMPLATE/config.yml
新增Issue模板配置文件,禁用空白Issue并定义三个联系链接,用于搜索现有Issue、查阅贡献指南和浏览项目文档。
贡献指南更新
README.md, docs/zh-CN/contributing.md
更新贡献流程,强调Issue优先工作流,扩展Issue类型覆盖范围(从仅限缺陷/功能建议扩展到文档/咨询),并新增Issue分诊建议。

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 标题清晰准确地概括了本次变更的主要内容:更新贡献指南并添加标准 Issue 模板,与原始摘要和目标完全相符。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/contributing-update-issue-templates

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
.github/ISSUE_TEMPLATE/04-question.yml (1)

60-64: 建议将环境信息字段设为必填。

当前 environment 字段未设置 required: true,但描述文本提示"如果版本或项目上下文会影响答案,请补充"。对于技术咨询类 Issue,环境信息(如框架版本、.NET 版本、Godot 版本等)通常是定位问题的关键。建议将此字段改为必填,或在描述中明确说明可以填写 "N/A" 或 "不适用"。

🔧 建议的改进
   - type: textarea
     id: environment
     attributes:
       label: "Relevant Environment / 相关环境"
       description: "Include versions or project context if that changes the answer. / 如果版本或项目上下文会影响答案,请补充。"
+    validations:
+      required: true
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/ISSUE_TEMPLATE/04-question.yml around lines 60 - 64, The environment
textarea field (id: environment) should be made required or its description
clarified; update the field definition to include required: true so the
environment input is mandatory for technical questions, or alternatively update
the description to instruct users to enter "N/A" when not applicable—modify the
block starting with type: textarea and id: environment to add the required: true
property or adjust the description text accordingly to enforce or clarify
required information collection.
.github/ISSUE_TEMPLATE/01-bug-report.yml (1)

82-87: 最小复现字段为可选可能导致难以复现的 Bug 报告。

当前 repro 字段未设置为必填,虽然描述中提到"或说明暂时无法提供的原因",但这可能导致部分用户直接跳过。建议考虑:

  1. 将此字段改为必填,允许用户填写"暂无最小复现,原因:..."
  2. 或在 render: shell 下方添加占位符文本,明确提示"如暂无复现代码,请说明原因"

对于可稳定复现的缺陷,最小复现是定位问题的关键,当前设计可能降低 Bug 报告质量。

💡 建议的改进

方案 1:改为必填

   - type: textarea
     id: repro
     attributes:
       label: "Minimal Repro / 最小复现"
       description: "Share a repository, gist, code snippet, or explain why a minimal repro is not yet available. / 提供仓库、gist、代码片段,或说明暂时无法提供的原因。"
+      placeholder: "请提供复现链接或代码片段。如暂无,请说明原因(如:环境特定、偶发性问题等)。"
       render: shell
+    validations:
+      required: true

方案 2:强化占位符引导

   - type: textarea
     id: repro
     attributes:
       label: "Minimal Repro / 最小复现"
       description: "Share a repository, gist, code snippet, or explain why a minimal repro is not yet available. / 提供仓库、gist、代码片段,或说明暂时无法提供的原因。"
+      placeholder: |
+        请提供:
+        - GitHub 仓库链接
+        - Gist 或代码片段
+        - 或说明为何暂无最小复现(例如:环境特定、偶发性问题等)
       render: shell
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/ISSUE_TEMPLATE/01-bug-report.yml around lines 82 - 87, The repro
textarea field (id: repro, type: textarea, attributes: render: shell) should be
strengthened to ensure reproducibility: either mark the field as required so
users must enter something (allowing entries like "暂无最小复现,原因:...") or add a
clear placeholder/description under attributes (e.g., guidance text) that
prompts users to provide a minimal repro or explicitly explain why none is
available; update the field definition for id: repro accordingly and keep the
existing label/description but add the required flag or a new placeholder
attribute to guide submitters.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/ISSUE_TEMPLATE/01-bug-report.yml:
- Around line 82-87: The repro textarea field (id: repro, type: textarea,
attributes: render: shell) should be strengthened to ensure reproducibility:
either mark the field as required so users must enter something (allowing
entries like "暂无最小复现,原因:...") or add a clear placeholder/description under
attributes (e.g., guidance text) that prompts users to provide a minimal repro
or explicitly explain why none is available; update the field definition for id:
repro accordingly and keep the existing label/description but add the required
flag or a new placeholder attribute to guide submitters.

In @.github/ISSUE_TEMPLATE/04-question.yml:
- Around line 60-64: The environment textarea field (id: environment) should be
made required or its description clarified; update the field definition to
include required: true so the environment input is mandatory for technical
questions, or alternatively update the description to instruct users to enter
"N/A" when not applicable—modify the block starting with type: textarea and id:
environment to add the required: true property or adjust the description text
accordingly to enforce or clarify required information collection.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 951ca0b2-6d49-425c-b4f0-dfa76115ace6

📥 Commits

Reviewing files that changed from the base of the PR and between 6b5acbd and 859240e.

📒 Files selected for processing (7)
  • .github/ISSUE_TEMPLATE/01-bug-report.yml
  • .github/ISSUE_TEMPLATE/02-feature-request.yml
  • .github/ISSUE_TEMPLATE/03-documentation.yml
  • .github/ISSUE_TEMPLATE/04-question.yml
  • .github/ISSUE_TEMPLATE/config.yml
  • README.md
  • docs/zh-CN/contributing.md
📜 Review details
⏰ Context from checks skipped due to timeout of 900000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Build and Test
  • GitHub Check: Code Quality & Security
  • GitHub Check: Analyze (C#)
🧰 Additional context used
📓 Path-based instructions (3)
docs/**/*

📄 CodeRabbit inference engine (CLAUDE.md)

Documentation must be located in docs/ directory with Chinese content in docs/zh-CN/

Files:

  • docs/zh-CN/contributing.md
docs/**/*.md

📄 CodeRabbit inference engine (AGENTS.md)

docs/**/*.md: Update relevant README.md or docs/ page when behavior, setup steps, architecture guidance, or user-facing examples change
Keep code samples, package names, and command examples in documentation aligned with the current repository state
For integration-oriented features such as the AI-First config system, documentation MUST cover project directory layout, file conventions, required project/package wiring, minimal working usage example, and migration/compatibility notes

Files:

  • docs/zh-CN/contributing.md
docs/zh-CN/**/*.md

📄 CodeRabbit inference engine (AGENTS.md)

When a feature is added, removed, renamed, or substantially refactored, contributors MUST update or create the corresponding user-facing integration documentation in docs/zh-CN/ in the same change

Files:

  • docs/zh-CN/contributing.md
🧠 Learnings (5)
📓 Common learnings
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-14T01:59:40.041Z
Learning: Applies to docs/zh-CN/**/*.md : When a feature is added, removed, renamed, or substantially refactored, contributors MUST update or create the corresponding user-facing integration documentation in `docs/zh-CN/` in the same change
📚 Learning: 2026-04-14T01:59:40.041Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-14T01:59:40.041Z
Learning: Applies to docs/zh-CN/**/*.md : When a feature is added, removed, renamed, or substantially refactored, contributors MUST update or create the corresponding user-facing integration documentation in `docs/zh-CN/` in the same change

Applied to files:

  • .github/ISSUE_TEMPLATE/config.yml
  • README.md
  • .github/ISSUE_TEMPLATE/02-feature-request.yml
  • .github/ISSUE_TEMPLATE/03-documentation.yml
  • docs/zh-CN/contributing.md
📚 Learning: 2026-04-14T01:59:40.041Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-14T01:59:40.041Z
Learning: Applies to docs/**/*.md : Update relevant `README.md` or `docs/` page when behavior, setup steps, architecture guidance, or user-facing examples change

Applied to files:

  • README.md
📚 Learning: 2026-04-14T01:59:40.041Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-14T01:59:40.041Z
Learning: Applies to docs/**/*.md : For integration-oriented features such as the AI-First config system, documentation MUST cover project directory layout, file conventions, required project/package wiring, minimal working usage example, and migration/compatibility notes

Applied to files:

  • README.md
📚 Learning: 2026-04-05T15:30:46.211Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-04-05T15:30:46.211Z
Learning: Applies to docs/**/* : Documentation must be located in docs/ directory with Chinese content in docs/zh-CN/

Applied to files:

  • .github/ISSUE_TEMPLATE/03-documentation.yml
🔇 Additional comments (13)
.github/ISSUE_TEMPLATE/04-question.yml (1)

11-36: 前置检查与主题分类设计合理。

提交前检查确保用户先搜索现有 Issue 并阅读文档,主题领域覆盖了项目的主要模块和关注点,有助于快速分诊。

README.md (1)

121-129: 贡献流程更新合理,Issue-first 策略有助于提升协作质量。

新增的 5 步流程将 Issue 模板选择和前置检查作为第一步,符合最佳实践。模板名称与 .github/ISSUE_TEMPLATE/ 下的实际文件保持一致,并与 docs/zh-CN/contributing.md 中的详细说明相呼应。

.github/ISSUE_TEMPLATE/config.yml (1)

1-11: Issue 模板配置设计合理,引导流程清晰。

禁用空白 Issue 确保用户使用结构化模板,三个联系链接按优先级引导用户先搜索、再阅读指南、最后查看文档,符合社区最佳实践。URL 路径与仓库结构一致。

docs/zh-CN/contributing.md (3)

35-54: Issue 提交指南详细且与模板字段对应良好。

更新后的报告问题章节清晰列出了 4 种 Issue 类型及其使用场景,提交前检查原则完善,每种类型所需的最小必要信息与对应的 GitHub Issue Forms 字段保持一致,有助于用户提交高质量 Issue。


55-65: Issue 分诊建议为维护者提供清晰的处理指引。

新增的分诊建议章节定义了 6 种标签类型及其使用场景,有助于维护者快速分类和处理 Issue。特别是 needs-reproneeds-info 标签的说明,以及关于标签集合演进的备注,体现了良好的流程设计思维。


824-831: 获取帮助章节更新与新的 Issue 工作流保持一致。

Line 828 的措辞调整强调了使用对应模板的重要性,与文档前面的 Issue 提交指南形成呼应。

.github/ISSUE_TEMPLATE/02-feature-request.yml (2)

11-41: 前置检查与模块选择设计优秀,特别强调问题陈述。

第三个必填检查项"我可以说明该建议要解决的用户问题或工作流缺口"确保提交者先思考问题本质而非直接提方案,这对功能建议类 Issue 尤为重要。模块下拉列表覆盖全面且提供"不确定"选项,用户体验良好。


42-80: 功能建议字段设计完善,引导用户提供关键信息。

必填字段(问题背景、建议方案、使用场景)确保每个功能建议都有清晰的动机和应用价值。可选字段(API 草图、替代方案、兼容性影响)提供了深化讨论的空间,且描述文本明确说明了填写这些字段的价值。

.github/ISSUE_TEMPLATE/01-bug-report.yml (3)

11-48: Bug 报告前置检查完善,版本信息字段设计合理。

必填的版本字段(Line 41-48)支持 NuGet 版本号和提交 SHA 两种格式,并提供清晰的占位符示例,有助于快速定位问题。前置检查确保用户能够提供可复现场景,这对 Bug 报告至关重要。


49-81: Bug 描述字段结构清晰,遵循标准的缺陷报告最佳实践。

将问题描述拆分为概述、复现步骤、预期行为、实际行为四个必填字段,确保报告者提供完整信息。复现步骤字段的占位符示例(1, 2, 3...)直观引导用户以结构化方式描述问题。


94-105: 环境信息字段设计合理,占位符清晰。

必填的环境信息字段提供了结构化的占位符(OS、.NET SDK、Godot 版本、IDE/构建工具),引导用户提供与复现相关的关键信息,有助于快速定位环境相关问题。

.github/ISSUE_TEMPLATE/03-documentation.yml (2)

5-28: 文档问题识别字段设计合理,强调文档与产品同等重要。

开篇声明"文档问题同样是产品问题"体现了良好的文档文化。必填的文档路径字段配合清晰的占位符示例,确保维护者能够快速定位问题页面。前置检查避免了重复提交和基于过期文档的报告。


29-61: 文档问题类型分类全面,描述字段确保可操作性。

问题类型下拉列表覆盖了文档常见的 6 种问题(缺失、过期、错误、不清晰、缺示例、翻译问题),分类清晰。必填的"当前问题"和"期望改进"字段确保报告者提供可操作的反馈,而非泛泛的抱怨。可选的参考资料字段为深度讨论提供了空间。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant