From ef1ab7c8262c8edb658a3a31889d07b25de3d636 Mon Sep 17 00:00:00 2001 From: Aram Grigoryan <132480+aram356@users.noreply.github.com> Date: Fri, 6 Mar 2026 00:23:52 -0800 Subject: [PATCH 1/2] Simplify issue templates and adopt emoji-based PR review tags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace P0–P3 severity classification in the pr-reviewer agent with emoji tags from the Code Review Emoji Guide for clearer, friendlier reviews. Simplify bug report, story, and task issue templates by removing optional fields that added friction without adding value. --- .claude/agents/pr-reviewer.md | 63 +++++++++++++++++---------- .github/ISSUE_TEMPLATE/bug_report.yml | 58 +----------------------- .github/ISSUE_TEMPLATE/story.yml | 41 ----------------- .github/ISSUE_TEMPLATE/task.yml | 35 --------------- 4 files changed, 40 insertions(+), 157 deletions(-) diff --git a/.claude/agents/pr-reviewer.md b/.claude/agents/pr-reviewer.md index bcf82ec..50ff222 100644 --- a/.claude/agents/pr-reviewer.md +++ b/.claude/agents/pr-reviewer.md @@ -108,21 +108,31 @@ For each changed file, evaluate: ### 5. Classify findings -Assign each finding a severity: - -| Severity | Criteria | -| ------------ | ------------------------------------------------------------------ | -| P0 — Blocker | Must fix before merge: bugs, data loss, security, CI failures | -| P1 — High | Should fix: race conditions, API design issues, missing validation | -| P2 — Medium | Recommended: inconsistencies, test gaps, dead code | -| P3 — Low | Nice to have: style, minor improvements, documentation | +Tag each finding with an emoji from the +[Code Review Emoji Guide](https://github.com/erikthedeveloper/code-review-emoji-guide). +Every comment — inline or body-level — must start with the emoji. + +| Emoji | Name | When to use | Blocking? | +| ----- | ------------ | --------------------------------------------------------------------------- | --------- | +| 🔧 | wrench | Required change — bugs, security, data loss, CI failures, missing validation | Yes | +| ❓ | question | Clarification needed — something is unclear and needs a substantive answer | Yes | +| 🤔 | thinking | Reasoning aloud — expressing concern or exploring an alternative | No | +| ♻️ | refactor | Refactoring suggestion — actionable restructuring or extraction opportunity | No | +| 🏕 | campsite | Campsite rule — "leave it cleaner than you found it"; unrelated improvement | No | +| ⛏ | nitpick | Nitpick — minor style/formatting preference; not blocking | No | +| 🌱 | seedling | Future consideration — planting a seed for later, not blocking | No | +| 📝 | memo | Informational note — fun fact, context, or explanation; no action required | No | +| 📌 | out-of-scope | Out of scope — valid concern that should be tracked as a separate issue | No | +| 😃 | praise | Positive feedback — highlight something done well | No | + +Always include at least one 😃 praise comment per review to acknowledge good work. ### 6. Present findings for user approval **Do not submit the review automatically.** Present all findings to the user organized by severity, with: -- Severity and title +- Emoji tag and title - File path and line number - Description and suggested fix - Whether it would be an inline comment or body-level finding @@ -143,10 +153,9 @@ After user approval, submit the selected findings as a formal review. #### Determine the review verdict -- If any P0 findings are included: `CHANGES_REQUESTED` -- If any P1 findings are included: `CHANGES_REQUESTED` -- If only P2 or below: `COMMENT` -- If no findings: `APPROVE` +- If any 🔧 or ❓ findings are included: `CHANGES_REQUESTED` +- If only non-blocking findings (🤔 ♻️ 🏕 ⛏ 🌱 📝 📌 😃): `COMMENT` +- If no findings (only 😃 praise): `APPROVE` #### Build inline comments @@ -159,7 +168,7 @@ comment. Use the file's **current line number** (not diff position) with the "path": "crates/edgezero-core/src/kv.rs", "line": 166, "side": "RIGHT", - "body": "**P1 — Race condition**: Description of the issue...\n\n**Fix**:\n```rust\n// suggested code\n```" + "body": "🔧 **Race condition**: Description of the issue...\n\n**Fix**:\n```rust\n// suggested code\n```" } ```` @@ -175,23 +184,29 @@ concerns, architectural issues, dependency problems) in the review body: <1-2 sentence overview of the changes and overall assessment> -### Findings +### 😃 Praise -#### P0 — Blockers +- -- **Title**: description (file:line) +### Findings -#### P1 — High +#### Blocking -- **Title**: description (file:line) +- 🔧 **Title**: description (file:line) +- ❓ **Title**: description (file:line) -#### P2 — Medium +#### Non-blocking -- **Title**: description +- 🤔 **Title**: description +- ♻️ **Title**: description +- 🏕 **Title**: description +- ⛏ **Title**: description +- 🌱 **Title**: description +- 📝 **Title**: description -#### P3 — Low +### 📌 Out of Scope -- **Title**: description +- ### CI Status @@ -237,7 +252,7 @@ Where `comments.json` contains the array of inline comment objects. Output: - The review URL -- Total findings by severity (e.g., "2 P0, 3 P1, 5 P2, 2 P3") +- Total findings by emoji tag (e.g., "3 🔧, 1 ❓, 2 ♻️, 1 ⛏, 2 😃") - Whether the review requested changes or approved - Any CI failures encountered diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 9c2c67a..3b30e71 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -14,60 +14,4 @@ body: description: A clear description of the bug. placeholder: What happened? validations: - required: true - - - type: textarea - id: reproduction - attributes: - label: Steps to reproduce - description: Minimal steps to trigger the bug. - placeholder: | - 1. Create a handler with ... - 2. Run `edgezero dev` - 3. Send a request to ... - 4. See error ... - validations: - required: true - - - type: textarea - id: expected - attributes: - label: Expected behavior - description: What should have happened instead? - validations: - required: true - - - type: dropdown - id: adapter - attributes: - label: Adapter / Target - description: Which adapter or target is affected? - multiple: true - options: - - Fastly (wasm32-wasip1) - - Cloudflare (wasm32-unknown-unknown) - - Axum (native) - - CLI - - Core (platform-independent) - validations: - required: true - - - type: input - id: version - attributes: - label: EdgeZero version - description: Output of `cargo metadata --format-version 1 | jq '.packages[] | select(.name == "edgezero-core") | .version'` or the git SHA. - placeholder: "0.1.0 or commit abc1234" - - - type: textarea - id: logs - attributes: - label: Relevant log output - description: Paste any error messages or logs. - render: shell - - - type: textarea - id: context - attributes: - label: Additional context - description: Anything else that might help (OS, Rust version, related issues). + required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/story.yml b/.github/ISSUE_TEMPLATE/story.yml index 7de0ec7..504b6da 100644 --- a/.github/ISSUE_TEMPLATE/story.yml +++ b/.github/ISSUE_TEMPLATE/story.yml @@ -15,44 +15,3 @@ body: placeholder: "As a developer, I want ... so that ..." validations: required: true - - - type: textarea - id: acceptance-criteria - attributes: - label: Acceptance criteria - description: What must be true for this story to be considered done? - placeholder: | - - [ ] Criterion 1 - - [ ] Criterion 2 - validations: - required: true - - - type: dropdown - id: scope - attributes: - label: Affected area - description: Which part of the project would this touch? - multiple: true - options: - - Core (routing, extractors, middleware) - - Adapter — Fastly - - Adapter — Cloudflare - - Adapter — Axum - - CLI (new, build, deploy, dev) - - Macros (#[action], #[app]) - - Documentation - - CI / Tooling - validations: - required: true - - - type: textarea - id: solution - attributes: - label: Proposed approach - description: How should this be implemented? Include API examples if relevant. - - - type: textarea - id: context - attributes: - label: Additional context - description: Links, mockups, related issues, or prior art. diff --git a/.github/ISSUE_TEMPLATE/task.yml b/.github/ISSUE_TEMPLATE/task.yml index 0a41b3a..3eec12c 100644 --- a/.github/ISSUE_TEMPLATE/task.yml +++ b/.github/ISSUE_TEMPLATE/task.yml @@ -14,38 +14,3 @@ body: description: What needs to be done and why? validations: required: true - - - type: textarea - id: done-criteria - attributes: - label: Done when - description: How do we know this task is complete? - placeholder: | - - [ ] Criterion 1 - - [ ] Criterion 2 - validations: - required: true - - - type: dropdown - id: scope - attributes: - label: Affected area - description: Which part of the project would this touch? - multiple: true - options: - - Core (routing, extractors, middleware) - - Adapter — Fastly - - Adapter — Cloudflare - - Adapter — Axum - - CLI (new, build, deploy, dev) - - Macros (#[action], #[app]) - - Documentation - - CI / Tooling - validations: - required: true - - - type: textarea - id: context - attributes: - label: Additional context - description: Related issues, dependencies, or notes. From 459ab0de3ece68a2f15e40d0cc25b2724f670683 Mon Sep 17 00:00:00 2001 From: Aram Grigoryan <132480+aram356@users.noreply.github.com> Date: Fri, 6 Mar 2026 00:25:24 -0800 Subject: [PATCH 2/2] Formatting --- .claude/agents/pr-reviewer.md | 4 ++-- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.claude/agents/pr-reviewer.md b/.claude/agents/pr-reviewer.md index 50ff222..2e2fb9f 100644 --- a/.claude/agents/pr-reviewer.md +++ b/.claude/agents/pr-reviewer.md @@ -112,8 +112,8 @@ Tag each finding with an emoji from the [Code Review Emoji Guide](https://github.com/erikthedeveloper/code-review-emoji-guide). Every comment — inline or body-level — must start with the emoji. -| Emoji | Name | When to use | Blocking? | -| ----- | ------------ | --------------------------------------------------------------------------- | --------- | +| Emoji | Name | When to use | Blocking? | +| ----- | ------------ | ---------------------------------------------------------------------------- | --------- | | 🔧 | wrench | Required change — bugs, security, data loss, CI failures, missing validation | Yes | | ❓ | question | Clarification needed — something is unclear and needs a substantive answer | Yes | | 🤔 | thinking | Reasoning aloud — expressing concern or exploring an alternative | No | diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 3b30e71..2ddc971 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -14,4 +14,4 @@ body: description: A clear description of the bug. placeholder: What happened? validations: - required: true \ No newline at end of file + required: true