Skip to content

chore: improve GitHub issue templates with structured forms#528

Merged
Aureliolo merged 4 commits intomainfrom
chore/issue-templates
Mar 17, 2026
Merged

chore: improve GitHub issue templates with structured forms#528
Aureliolo merged 4 commits intomainfrom
chore/issue-templates

Conversation

@Aureliolo
Copy link
Copy Markdown
Owner

Summary

  • Replace installer-failure.yml with unified bug_report.yml — component dropdown includes CLI/installer, so a dedicated template is no longer needed
  • Add feature_request.yml — lightweight form with description, motivation, and alternatives
  • Add config.yml template chooser — blank issues disabled, external links to docs, discussions, and security policy
  • Tag-style title prefixes: [Bug], [Feature]
  • Optional synthorg doctor output field on bug reports for faster debugging
  • Severity and OS dropdowns on bug reports

Test plan

  • Open https://github.com/Aureliolo/synthorg/issues/new/choose and verify all 3 options appear (Bug Report, Feature Request, blank disabled)
  • Click Bug Report — verify dropdowns render, required fields enforced, doctor field is optional
  • Click Feature Request — verify lightweight form renders correctly
  • Verify external links (Docs, Discussions, Security) appear in the chooser
  • Submit a test issue using each template to confirm labels auto-apply

Closes #522

- Replace installer-failure.yml with unified bug_report.yml
  (component dropdown includes CLI/installer)
- Add feature_request.yml (lightweight: description + motivation)
- Add config.yml chooser (blank issues disabled, links to
  docs/discussions/security policy)
- Tag-style title prefixes: [Bug], [Feature]
- Optional synthorg doctor output field on bug reports
- Severity and OS dropdowns on bug reports

Closes #522
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 17, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the issue reporting experience by introducing structured GitHub issue forms. The changes aim to streamline the process for users to report bugs and request features, ensuring that necessary information is collected upfront. This improves the quality of submitted issues, making them easier for maintainers to triage and resolve, ultimately fostering a more efficient development workflow.

Highlights

  • Bug Reporting: Replaced the dedicated installer-failure.yml with a unified bug_report.yml that includes a component dropdown covering CLI/installer issues, eliminating the need for a separate template.
  • Feature Requests: Introduced a new feature_request.yml template for suggesting enhancements, featuring lightweight fields for description, motivation, and alternatives.
  • Issue Chooser Configuration: Added a config.yml to manage the issue template chooser, disabling blank issues and providing external links to documentation, discussions, and security policy.
  • Standardized Titles: Implemented tag-style title prefixes like [Bug] and [Feature] for better issue categorization and clarity.
  • Enhanced Debugging: Included an optional synthorg doctor output field in bug reports to facilitate faster debugging by collecting system information.
  • Categorization: Added severity and operating system dropdowns to bug reports for more precise issue classification and easier triage.
Changelog
  • .github/ISSUE_TEMPLATE/bug_report.yml
    • A new bug report template was added, featuring structured input fields for components, severity, OS, steps to reproduce, and an optional synthorg doctor output.
  • .github/ISSUE_TEMPLATE/config.yml
    • A configuration file was added to manage the issue template chooser, disabling blank issues and providing links to external resources.
  • .github/ISSUE_TEMPLATE/feature_request.yml
    • A new feature request template was introduced, including fields for description, motivation, and alternatives.
  • .github/ISSUE_TEMPLATE/installer-failure.yml
    • The previous installer-failure.yml template was removed, as its functionality is now integrated into the new bug_report.yml.
Activity
  • No human activity (comments, reviews, or progress updates) has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 17, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 8ef4a70b-e795-4b74-be57-44d300ca1c36

📥 Commits

Reviewing files that changed from the base of the PR and between 3d1afec and e9377e5.

📒 Files selected for processing (1)
  • .github/ISSUE_TEMPLATE/bug_report.yml

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Streamlined issue reporting with standardized templates for bug reports and feature requests.
    • Added contact links for documentation, discussions, and security vulnerability reporting.
    • Consolidated installer-failure template into the main bug report process.

Walkthrough

Adds structured GitHub issue forms: bug_report.yml and feature_request.yml, plus .github/ISSUE_TEMPLATE/config.yml to control template selection; removes the prior installer-failure.yml. All changes are repository issue-creation configuration (YAML).

Changes

Cohort / File(s) Summary
New Bug Report Template
.github/ISSUE_TEMPLATE/bug_report.yml
Adds a YAML issue form collecting component, install method, severity, OS, reproduction steps, error output/logs, version info, doctor output, and contextual fields with labels, placeholders, render types, and validations.
New Feature Request Template
.github/ISSUE_TEMPLATE/feature_request.yml
Adds a YAML issue form for feature requests with component dropdown, required description, and optional motivation, alternatives, design-spec reference, dependencies, and context fields plus labels and validations.
Template Configuration
.github/ISSUE_TEMPLATE/config.yml
Adds config to disable blank issues and surface contact_links (Documentation, Discussions, Security Vulnerabilities) in the new issue chooser.
Removed Template
.github/ISSUE_TEMPLATE/installer-failure.yml
Deletes the previous CLI installer-failure template (fields for install method, OS, version, error, steps, doctor output), consolidating installer reporting into the unified bug report template.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning Changes substantially address issue #522 requirements: bug_report.yml with component/OS/severity dropdowns, optional doctor output, feature_request.yml with structured form, config.yml with external links and disabled blank issues. Minor gap: feature_request.yml lacks design spec reference and dependencies fields explicitly mentioned in #522 scope. Add design-spec-reference and dependencies fields to feature_request.yml to fully satisfy feature request template requirements from issue #522.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed Title clearly and concisely summarizes the main change: improving GitHub issue templates with structured forms, matching the PR objectives.
Description check ✅ Passed Description relates to the changeset by detailing the specific template modifications, field changes, and test plan aligned with the PR objectives.
Out of Scope Changes check ✅ Passed All three template files and config file are directly in scope per #522. The replacement of installer-failure.yml with unified bug_report.yml aligns with the PR description's stated approach and user decision noted in objectives.
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 chore/issue-templates
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch chore/issue-templates
📝 Coding Plan
  • Generate coding plan for human review comments

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

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request improves the GitHub issue templates by introducing structured forms for bug reports and feature requests, and by configuring the issue chooser to guide users. The changes are a great step towards more structured and actionable issues. My review includes a few suggestions to further improve the quality of the submitted issues: making the version field mandatory in bug reports to aid debugging, re-introducing the install-method field from the old installer failure template as an optional field in the new bug report form, and making the motivation field mandatory for feature requests to ensure the value proposition is clear.

built: 2026-03-15T12:00:00Z
render: shell
validations:
required: false
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.

high

The version field is crucial for debugging, but it's currently optional. This can lead to incomplete bug reports that are difficult to reproduce. Please consider making this field required to ensure you always get the version information. Users who have installation failures can specify the version they were attempting to install.

      required: true

Comment on lines +12 to +24
- type: dropdown
id: component
attributes:
label: Component
description: Which part of SynthOrg is affected?
options:
- Backend (Python API / engine)
- Dashboard (Vue web UI)
- CLI (Go binary / installer)
- Docker (compose / containers)
- Docs
validations:
required: true
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.

medium

The removed installer-failure.yml template had a helpful install-method dropdown. This information is lost in the new unified bug report, which is a regression for debugging installation issues. While conditional fields aren't supported in GitHub Issue forms, you could add this back as an optional dropdown to gather this crucial information for CLI/installer-related bugs.

I'd suggest adding the following block after this component dropdown:

  - type: dropdown
    id: install-method
    attributes:
      label: Installation method (if applicable)
      description: If this bug is about the CLI/installer, how did you install it?
      options:
        - Homebrew (brew install)
        - Scoop (scoop install)
        - curl | sh (Linux/macOS)
        - PowerShell installer (Windows)
        - Manual download from GitHub Releases
        - Built from source (go build)
    validations:
      required: false

label: Motivation
description: Why is this needed? What's the current workaround (if any)?
validations:
required: false
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.

medium

The motivation field is key to understanding the value of a feature request. Making it optional might lead to suggestions without a clear purpose or problem statement. To improve the quality of feature requests, please consider making this field required.

      required: true

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/ISSUE_TEMPLATE/bug_report.yml:
- Around line 12-50: The unified bug form lacks an installer-specific intake for
the CLI component: add a required dropdown field with id: installation_method
(options like package manager, installer script, binary download, Docker image,
other) and validations.required: true, and update the routing/metadata so when
id: component selects "CLI (Go binary / installer)" the issue is directed to or
loads a dedicated CLI-installer template/path for further installer triage;
reference the existing fields id: component, id: severity and id: os when adding
the new installation_method field and ensure the new field appears near line
where id: component is defined so installer info is captured before submission.
- Around line 81-107: Make the version and doctor blocks (ids "version" and
"doctor") required-with-fallback by changing validations.required from false to
true and adding an explicit installation-status selector (e.g., new field id
"installation_status" with options "installed" and "not_installed"); enforce
conditional validation so "version" and "doctor" are required only when
installation_status == "installed" and allowed to be empty when "not_installed",
and update their placeholders to instruct users to pick "Not installed" if
SynthOrg isn't present.

In @.github/ISSUE_TEMPLATE/feature_request.yml:
- Around line 12-56: The feature request template is missing required intake
fields referenced by the objective: add three new form blocks with unique ids
design_spec, dependencies, and scope_assessment (similar to existing blocks like
component, description, motivation) so triage captures design spec reference,
related/dependency issues, and a scope self-assessment; each block should
include an attributes.label and attributes.description and set
validations.required: true (or required:false for dependencies if you prefer
optional linking), and place them after the existing description/component
sections to satisfy issue `#522` acceptance criteria.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 26184af4-679b-440b-9483-8116c6e1b20e

📥 Commits

Reviewing files that changed from the base of the PR and between 35e8338 and e51de91.

📒 Files selected for processing (4)
  • .github/ISSUE_TEMPLATE/bug_report.yml
  • .github/ISSUE_TEMPLATE/config.yml
  • .github/ISSUE_TEMPLATE/feature_request.yml
  • .github/ISSUE_TEMPLATE/installer-failure.yml
💤 Files with no reviewable changes (1)
  • .github/ISSUE_TEMPLATE/installer-failure.yml
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Analyze (python)
🔇 Additional comments (1)
.github/ISSUE_TEMPLATE/config.yml (1)

1-11: Chooser configuration looks correct.

blank_issues_enabled: false and the three contact links are set up cleanly and align with the issue-routing objective.

Comment on lines +12 to +50
- type: dropdown
id: component
attributes:
label: Component
description: Which part of SynthOrg is affected?
options:
- Backend (Python API / engine)
- Dashboard (Vue web UI)
- CLI (Go binary / installer)
- Docker (compose / containers)
- Docs
validations:
required: true

- type: dropdown
id: severity
attributes:
label: Severity
options:
- Crash / data loss
- Wrong behavior (feature broken)
- Performance issue
- Cosmetic / minor
validations:
required: true

- type: dropdown
id: os
attributes:
label: Operating system
options:
- macOS (Apple Silicon / arm64)
- macOS (Intel / amd64)
- Linux (amd64)
- Linux (arm64)
- Windows (amd64)
- Windows (arm64)
validations:
required: true
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Installer triage requirements are under-specified in this unified bug form.

Line [20] includes “CLI (Go binary / installer)”, but there is no required installation method field and no dedicated CLI-installation template path. This regresses the linked requirement for installer-specific intake and makes install failures harder to classify.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/ISSUE_TEMPLATE/bug_report.yml around lines 12 - 50, The unified bug
form lacks an installer-specific intake for the CLI component: add a required
dropdown field with id: installation_method (options like package manager,
installer script, binary download, Docker image, other) and
validations.required: true, and update the routing/metadata so when id:
component selects "CLI (Go binary / installer)" the issue is directed to or
loads a dedicated CLI-installer template/path for further installer triage;
reference the existing fields id: component, id: severity and id: os when adding
the new installation_method field and ensure the new field appears near line
where id: component is defined so installer info is captured before submission.

Comment on lines +81 to +107
- type: textarea
id: version
attributes:
label: Version info
description: "Output of `synthorg version`, or the version you tried to install."
placeholder: |
synthorg v0.3.0
commit: abc1234
built: 2026-03-15T12:00:00Z
render: shell
validations:
required: false

- type: textarea
id: doctor
attributes:
label: Doctor output
description: |
If SynthOrg is installed, paste the output of `synthorg doctor`.
This collects OS, architecture, Docker version, container status, health checks,
and config (secrets are redacted). It makes debugging much faster.
placeholder: |
Paste `synthorg doctor` output here (optional but very helpful)
render: json
validations:
required: false

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

version and doctor should be required-with-fallback, not optional.

Per the linked objective, reporters should provide version and doctor diagnostics (or explicitly state “not installed”). Current optional fields at Line [81] and Line [94] will lead to low-signal bug reports.

Suggested patch
   - type: textarea
     id: version
@@
     validations:
-      required: false
+      required: true

   - type: textarea
     id: doctor
     attributes:
       label: Doctor output
       description: |
-        If SynthOrg is installed, paste the output of `synthorg doctor`.
+        Paste output of `synthorg doctor`.
+        If not installed yet, write: `not installed`.
         This collects OS, architecture, Docker version, container status, health checks,
         and config (secrets are redacted). It makes debugging much faster.
       placeholder: |
-        Paste `synthorg doctor` output here (optional but very helpful)
+        {
+          "os": "linux",
+          "arch": "amd64",
+          "docker": "24.x",
+          "status": "healthy"
+        }
+        # or: not installed
       render: json
     validations:
-      required: false
+      required: true
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/ISSUE_TEMPLATE/bug_report.yml around lines 81 - 107, Make the
version and doctor blocks (ids "version" and "doctor") required-with-fallback by
changing validations.required from false to true and adding an explicit
installation-status selector (e.g., new field id "installation_status" with
options "installed" and "not_installed"); enforce conditional validation so
"version" and "doctor" are required only when installation_status == "installed"
and allowed to be empty when "not_installed", and update their placeholders to
instruct users to pick "Not installed" if SynthOrg isn't present.

Comment on lines +12 to +56
- type: dropdown
id: component
attributes:
label: Component
description: Which part of SynthOrg does this affect?
options:
- Backend (Python API / engine)
- Dashboard (Vue web UI)
- CLI (Go binary)
- Docker (compose / containers)
- Docs
validations:
required: true

- type: textarea
id: description
attributes:
label: Description
description: What do you want and what problem does it solve?
validations:
required: true

- type: textarea
id: motivation
attributes:
label: Motivation
description: Why is this needed? What's the current workaround (if any)?
validations:
required: false

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Other approaches you thought of and why this one is better.
validations:
required: false

- type: textarea
id: context
attributes:
label: Additional context
description: "Mockups, links, research, related issues, etc."
validations:
required: false
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Missing required product-intake fields from the linked objective.

From Line [12] onward, the form omits: (1) design spec reference, (2) dependency/related-issues field, and (3) scope self-assessment. That reduces triage quality and does not fully meet issue #522 acceptance criteria.

Suggested patch
   - type: textarea
     id: alternatives
@@
     validations:
       required: false

+  - type: input
+    id: design_spec
+    attributes:
+      label: Design spec / RFC reference
+      description: Link to spec, RFC, mock, or proposal (if available).
+      placeholder: https://...
+    validations:
+      required: false
+
+  - type: textarea
+    id: dependencies
+    attributes:
+      label: Dependencies / related issues
+      description: Related issues, blockers, or upstream dependencies.
+      placeholder: "#123, `#456`, depends on ..."
+    validations:
+      required: false
+
+  - type: dropdown
+    id: scope
+    attributes:
+      label: Scope self-assessment
+      options:
+        - Small (localized change)
+        - Medium (cross-component changes)
+        - Large (architecture/major workflow impact)
+    validations:
+      required: true
+
   - type: textarea
     id: context
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- type: dropdown
id: component
attributes:
label: Component
description: Which part of SynthOrg does this affect?
options:
- Backend (Python API / engine)
- Dashboard (Vue web UI)
- CLI (Go binary)
- Docker (compose / containers)
- Docs
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: What do you want and what problem does it solve?
validations:
required: true
- type: textarea
id: motivation
attributes:
label: Motivation
description: Why is this needed? What's the current workaround (if any)?
validations:
required: false
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Other approaches you thought of and why this one is better.
validations:
required: false
- type: textarea
id: context
attributes:
label: Additional context
description: "Mockups, links, research, related issues, etc."
validations:
required: false
- type: dropdown
id: component
attributes:
label: Component
description: Which part of SynthOrg does this affect?
options:
- Backend (Python API / engine)
- Dashboard (Vue web UI)
- CLI (Go binary)
- Docker (compose / containers)
- Docs
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: What do you want and what problem does it solve?
validations:
required: true
- type: textarea
id: motivation
attributes:
label: Motivation
description: Why is this needed? What's the current workaround (if any)?
validations:
required: false
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Other approaches you thought of and why this one is better.
validations:
required: false
- type: input
id: design_spec
attributes:
label: Design spec / RFC reference
description: Link to spec, RFC, mock, or proposal (if available).
placeholder: https://...
validations:
required: false
- type: textarea
id: dependencies
attributes:
label: Dependencies / related issues
description: Related issues, blockers, or upstream dependencies.
placeholder: "#123, `#456`, depends on ..."
validations:
required: false
- type: dropdown
id: scope
attributes:
label: Scope self-assessment
options:
- Small (localized change)
- Medium (cross-component changes)
- Large (architecture/major workflow impact)
validations:
required: true
- type: textarea
id: context
attributes:
label: Additional context
description: "Mockups, links, research, related issues, etc."
validations:
required: false
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/ISSUE_TEMPLATE/feature_request.yml around lines 12 - 56, The feature
request template is missing required intake fields referenced by the objective:
add three new form blocks with unique ids design_spec, dependencies, and
scope_assessment (similar to existing blocks like component, description,
motivation) so triage captures design spec reference, related/dependency issues,
and a scope self-assessment; each block should include an attributes.label and
attributes.description and set validations.required: true (or required:false for
dependencies if you prefer optional linking), and place them after the existing
description/component sections to satisfy issue `#522` acceptance criteria.

- Make version field required on bug reports (with "not installed" fallback)
- Add install-method dropdown to bug report (restores info from old
  installer-failure template, optional)
- Add design spec reference and dependencies fields to feature request
- Update #522 AC: dedicated CLI template merged into unified bug report
  per user decision

Addresses review feedback from CodeRabbit, Gemini, and local agents.
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (2)
.github/ISSUE_TEMPLATE/feature_request.yml (1)

59-75: ⚠️ Potential issue | 🟠 Major

Add required scope self-assessment to complete feature intake.

design-spec and dependencies were added, but the scope self-assessment field is still missing, so linked objective #522 is not fully satisfied.

Suggested patch
   - type: textarea
     id: dependencies
@@
     validations:
       required: false

+  - type: dropdown
+    id: scope-assessment
+    attributes:
+      label: Scope self-assessment
+      description: How large is the expected change?
+      options:
+        - Small (localized change)
+        - Medium (cross-component change)
+        - Large (architecture / major workflow impact)
+    validations:
+      required: true
+
   - type: textarea
     id: context
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/ISSUE_TEMPLATE/feature_request.yml around lines 59 - 75, Add a
required "scope self-assessment" textarea field to the template (similar to the
existing entries like id: design-spec and id: dependencies) so the feature
intake satisfies linked objective `#522`; create a new block with id:
scope_self_assessment, attributes.label: "Scope self-assessment",
attributes.description: a short prompt to evaluate complexity/risks/impact, a
placeholder example, and validations.required: true to enforce completion before
submission.
.github/ISSUE_TEMPLATE/bug_report.yml (1)

113-120: ⚠️ Potential issue | 🟡 Minor

Doctor field help text should include explicit fallback + concrete example format.

The template asks for doctor output but doesn’t show a concrete expected example or a clear not installed fallback in this field’s guidance.

Suggested patch
   - type: textarea
     id: doctor
     attributes:
       label: Doctor output
       description: |
-        If SynthOrg is installed, paste the output of `synthorg doctor`.
+        Paste the output of `synthorg doctor`.
+        If SynthOrg is not installed yet, write: `not installed`.
         This collects OS, architecture, Docker version, container status, health checks,
         and config (secrets are redacted). It makes debugging much faster.
       placeholder: |
-        Paste `synthorg doctor` output here (optional but very helpful)
+        {
+          "os": "linux",
+          "arch": "amd64",
+          "docker": "24.x",
+          "status": "healthy"
+        }
+        # or: not installed
       render: json
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/ISSUE_TEMPLATE/bug_report.yml around lines 113 - 120, The "Doctor
output" field's guidance (label "Doctor output") lacks an explicit fallback if
SynthOrg isn't installed and doesn't show a concrete example format; update the
description and placeholder for this field to explicitly state what to paste
when SynthOrg is not installed (e.g., "If SynthOrg is not installed, paste 'not
installed' or your OS and Docker info") and include a short concrete example
snippet of expected `synthorg doctor` output format (OS, architecture, Docker
version, container statuses, redacted secrets) so users know how to fill the
field; modify the description and placeholder entries in the YAML (the
"description" and "placeholder" for the Doctor output label) accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In @.github/ISSUE_TEMPLATE/bug_report.yml:
- Around line 113-120: The "Doctor output" field's guidance (label "Doctor
output") lacks an explicit fallback if SynthOrg isn't installed and doesn't show
a concrete example format; update the description and placeholder for this field
to explicitly state what to paste when SynthOrg is not installed (e.g., "If
SynthOrg is not installed, paste 'not installed' or your OS and Docker info")
and include a short concrete example snippet of expected `synthorg doctor`
output format (OS, architecture, Docker version, container statuses, redacted
secrets) so users know how to fill the field; modify the description and
placeholder entries in the YAML (the "description" and "placeholder" for the
Doctor output label) accordingly.

In @.github/ISSUE_TEMPLATE/feature_request.yml:
- Around line 59-75: Add a required "scope self-assessment" textarea field to
the template (similar to the existing entries like id: design-spec and id:
dependencies) so the feature intake satisfies linked objective `#522`; create a
new block with id: scope_self_assessment, attributes.label: "Scope
self-assessment", attributes.description: a short prompt to evaluate
complexity/risks/impact, a placeholder example, and validations.required: true
to enforce completion before submission.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: bbf7c1fb-0813-4c40-bf38-822ca50c4183

📥 Commits

Reviewing files that changed from the base of the PR and between e51de91 and 3d1afec.

📒 Files selected for processing (2)
  • .github/ISSUE_TEMPLATE/bug_report.yml
  • .github/ISSUE_TEMPLATE/feature_request.yml
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Analyze (python)
🔇 Additional comments (2)
.github/ISSUE_TEMPLATE/feature_request.yml (1)

50-68: Good addition of design-spec and dependency intake fields.

These fields materially improve triage quality for feature requests.

.github/ISSUE_TEMPLATE/bug_report.yml (1)

97-109: Version intake is correctly required with a clear fallback.

This is a strong improvement for bug triage consistency.

Remove Homebrew and Scoop options (no formula/manifest exists).
Clarify the dropdown is for CLI installation specifically.
Add concrete JSON example matching actual synthorg doctor output format.
Add explicit "not installed" fallback instruction.
@Aureliolo Aureliolo merged commit 4fb66cf into main Mar 17, 2026
21 checks passed
@Aureliolo Aureliolo deleted the chore/issue-templates branch March 17, 2026 22:41
Aureliolo added a commit that referenced this pull request Mar 17, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.3.2](v0.3.1...v0.3.2)
(2026-03-17)


### Features

* **settings:** route structural data reads through SettingsService
([#525](#525))
([289f604](289f604))


### Bug Fixes

* **cli:** add fallback arch detection in PowerShell installer
([#529](#529))
([0250afb](0250afb)),
closes [#521](#521)


### CI/CD

* bump the minor-and-patch group with 2 updates
([#517](#517))
([46bdd1a](46bdd1a))
* bump wrangler from 4.73.0 to 4.74.0 in /.github in the minor-and-patch
group ([#511](#511))
([903b71a](903b71a))


### Maintenance

* bump node from `7a4ef57` to `44bcbf4` in /docker/sandbox
([#515](#515))
([3cbddd1](3cbddd1))
* bump python from `6a27522` to `584e89d` in /docker/backend
([#513](#513))
([0715910](0715910))
* bump python from `6a27522` to `584e89d` in /docker/sandbox
([#514](#514))
([787dfe1](787dfe1))
* bump the minor-and-patch group across 1 directory with 2 updates
([#527](#527))
([e96c0d4](e96c0d4))
* bump the minor-and-patch group across 2 directories with 3 updates
([#512](#512))
([b95ba3d](b95ba3d))
* **docker:** disable Mem0 telemetry in container config
([#531](#531))
([9fc29eb](9fc29eb))
* improve GitHub issue templates with structured forms
([#528](#528))
([4fb66cf](4fb66cf)),
closes [#522](#522)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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.

chore: improve GitHub issue templates with structured forms and doctor output

1 participant