chore(issues): structured GitHub Issue Forms (bug / install / feature) + config - #456
Conversation
…) + config Replace the two flat markdown templates with validated YAML Issue Forms and a chooser config, so reports arrive with the diagnostic fields triage actually needs and "how do I…" traffic routes to chat instead. - `bug_report.yml` — dup-search + latest-version checkboxes; required what/repro/expected; OS / install-method / version / compute-device dropdowns (incl. ROCm + XPU); active-engine; logs (render: text) with the diagnostic- bundle + `--diagnose` tip up top. - `install_problem.yml` — NEW, for the "first-run that just works" core value: a failure-stage dropdown (launch / uv-bootstrap / model-download / engine- install / first-synth), required error + OS/install/version, and a network-conditions dropdown (proxy / restricted-region / offline) since restricted networks are a known bootstrap failure mode. - `feature_request.yml` — problem/solution/alternatives + an Area dropdown, with a local-first/cross-platform constraints note so proposals fit. - `config.yml` — `blank_issues_enabled: false`; contact links to Discord, Discussions, and the private security policy. Removes bug_report.md / feature_request.md (superseded). Forms validated (yaml parse); SECURITY.md backs the security link; CJK guard green.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
💤 Files with no reviewable changes (2)
📝 WalkthroughWalkthroughRemoves the unstructured Markdown issue templates ( ChangesGitHub Issue Template Overhaul
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 9✅ Passed checks (9 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
| Filename | Overview |
|---|---|
| .github/ISSUE_TEMPLATE/bug_report.yml | Replaces flat markdown template with a structured YAML form; adds dedup/version checkboxes, required what/repro/expected fields, OS/install/version/device dropdowns, and render:text log block. Active engine field is optional and will often arrive blank. |
| .github/ISSUE_TEMPLATE/install_problem.yml | New template for first-run/install failures with failure-stage and network-conditions dropdowns; missing a compute-device dropdown that is critical for engine-install stage reports, and the tried field has no description hint. |
| .github/ISSUE_TEMPLATE/feature_request.yml | Structured replacement for the old markdown feature request; adds problem/solution/alternatives textareas, Area dropdown, and a local-first constraints note. Well-formed. |
| .github/ISSUE_TEMPLATE/config.yml | Adds chooser config: blank_issues_enabled false + contact links to Discord, Discussions, and the repo security policy (backed by SECURITY.md). Correct and well-formed. |
| .github/ISSUE_TEMPLATE/bug_report.md | Deleted — superseded by bug_report.yml. |
| .github/ISSUE_TEMPLATE/feature_request.md | Deleted — superseded by feature_request.yml. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[User clicks New Issue] --> B{config.yml chooser}
B --> C[🐛 Bug report\nbug_report.yml]
B --> D[🧩 Install / first-run\ninstall_problem.yml]
B --> E[✨ Feature request\nfeature_request.yml]
B --> F[💬 Discord\nquick help]
B --> G[🗣️ Discussions\nQ&A / ideas]
B --> H[🔒 Security policy\nprivate report]
C --> C1[preflight checkboxes\nwhat / repro / expected\nOS · install · version\ncompute device · engine ⚠️optional\nlogs render:text]
D --> D1[failure stage\nerror render:text\nOS · install · version\nnetwork conditions\n⚠️ no compute device\ntried]
E --> E1[preflight checkbox\nproblem / solution / alternatives\nArea dropdown\nlocal-first note]
Reviews (1): Last reviewed commit: "chore(issues): structured GitHub Issue F..." | Re-trigger Greptile
| - type: dropdown | ||
| id: stage | ||
| attributes: | ||
| label: Where did it fail? | ||
| options: | ||
| - App won't launch / blank or broken window | ||
| - Python / uv environment bootstrap | ||
| - Model download (HuggingFace) | ||
| - Engine install (CosyVoice / IndexTTS / MLX / etc.) | ||
| - First synthesis / dub never completes | ||
| - Other | ||
| validations: | ||
| required: true |
There was a problem hiding this comment.
Missing compute-device field for engine-install failures
The stage dropdown includes "Engine install (CosyVoice / IndexTTS / MLX / etc.)", but the template never asks which compute device the reporter is on. Engine install failures are almost entirely stack-specific — a ROCm install failure on an AMD GPU looks completely different from a CUDA failure, and MLX is MPS-only. Without a device dropdown here, every engine-install report will require a manual follow-up before triage can even begin. The bug_report.yml template solves this at lines 80-92 with an identical dropdown; the same field belongs here.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| - type: input | ||
| id: engine | ||
| attributes: | ||
| label: Active TTS/ASR engine | ||
| description: Settings → Engines (e.g. omnivoice, cosyvoice, indextts2, whisperx). | ||
| placeholder: "omnivoice" |
There was a problem hiding this comment.
Active engine is optional but nearly always required for triage
The engine field has no validations: required: true. For most ML inference and audio DSP bugs, the active engine is the single most important piece of context — behavior between omnivoice, cosyvoice, indextts2, and whisperx differs substantially. Without it being required, a large fraction of reports will arrive with that field blank, requiring a follow-up comment before any debugging can start. Consider marking it required or at minimum adding a note in description emphasising it's needed.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Replaces the two flat markdown templates with validated YAML Issue Forms + a chooser
config.yml, so reports arrive with the diagnostic fields triage needs and "how do I…" traffic routes to chat.bug_report.yml— dedup + latest-version checkboxes; required what/repro/expected; OS / install-method / version / compute-device (incl. ROCm + XPU) dropdowns; active-engine;render: textlogs with the diagnostic-bundle +--diagnosetip pinned at the top.install_problem.yml— NEW, for the first-run-that-works core value: failure-stage dropdown (launch / uv-bootstrap / model-download / engine-install / first-synth) + a network-conditions dropdown (proxy / restricted-region / offline), since restricted networks are a known bootstrap failure mode.feature_request.yml— problem/solution/alternatives + Area dropdown + a local-first/cross-platform constraints note.config.yml—blank_issues_enabled: false; contact links → Discord, Discussions, private security policy.Removes the superseded
.mdtemplates. YAML validated;SECURITY.mdbacks the security link; CJK guard green. (Templates-only — no app code; renders on GitHub's new-issue chooser.)🤖 Generated with Claude Code
Summary
This pull request replaces flat markdown issue templates with three validated YAML GitHub Issue Forms and a configuration file, standardizing issue reporting and routing different inquiry types appropriately.
Files Changed
Added:
.github/ISSUE_TEMPLATE/bug_report.yml(109 lines) — Form for reporting bugs with diagnostic tips, preflight checks, and structured fields for OS, installation method, version, compute device, TTS/ASR engine, and logs/diagnostic bundle.github/ISSUE_TEMPLATE/install_problem.yml(86 lines) — New form specifically for installation and first-run failures, with a failure-stage dropdown (launch, Python/uv bootstrap, model download, engine install, first synthesis) and network-conditions field to address setup issues in restricted environments.github/ISSUE_TEMPLATE/feature_request.yml(50 lines) — Form for feature requests with problem statement, proposed solution, alternatives, and area categorization.github/ISSUE_TEMPLATE/config.yml(11 lines) — Configuration that disables blank issues and adds contact links for Discord (quick help), GitHub Discussions (Q&A/ideas), and security vulnerability reportingRemoved:
.github/ISSUE_TEMPLATE/bug_report.md(45 lines removed).github/ISSUE_TEMPLATE/feature_request.md(23 lines removed)Key Features
Bug Report Form:
--diagnosetip for headless environmentsInstall Problem Form:
Feature Request Form:
Config File:
User Experience Impact
The new issue chooser will guide users to the most appropriate template or support channel, reducing off-topic issues and routing installation problems to a dedicated form that addresses common bootstrap failure scenarios in restricted network environments.