-
Notifications
You must be signed in to change notification settings - Fork 0
chore: improve GitHub issue templates with structured forms and doctor output #522
Copy link
Copy link
Labels
prio:lowNice to have, can deferNice to have, can deferprio:mediumShould do, but not blockingShould do, but not blockingscope:medium1-3 days of work1-3 days of workspec:human-interactionDESIGN_SPEC Section 13 - Human Interaction LayerDESIGN_SPEC Section 13 - Human Interaction Layerspec:templatesDESIGN_SPEC Section 14 - Templates & BuilderDESIGN_SPEC Section 14 - Templates & Buildertype:choreMaintenance, cleanup, dependency updatesMaintenance, cleanup, dependency updatestype:docsDocumentation workDocumentation work
Description
Summary
Improve the GitHub issue templates to use structured YAML forms with dropdowns, auto-populated fields, and better guidance. Bind bug report templates to synthorg doctor output format so users can paste diagnostics directly.
Motivation
Current issue templates are basic Markdown. Common problems:
- Bug reports lack system info (OS, architecture, Docker version, CLI version) — see fix(cli): PowerShell installer fails when OSArchitecture returns empty #521 where we had to reverse-engineer the environment
- Feature requests don't prompt for design spec references or dependency analysis
- No template for CLI-specific bugs vs backend bugs vs dashboard bugs
synthorg doctorcollects comprehensive diagnostics but there's no template field to paste its output
Scope
Bug Report Template (bug_report.yml)
- Convert from Markdown to YAML form
- Dropdowns for: component (CLI / Backend / Dashboard / Docker), OS, installation method
- Required field:
synthorg doctoroutput (or "not installed" option) - Required field: version (
synthorg versionoutput) - Pre-filled steps to reproduce with numbered list
- Error output field (code block)
- Severity self-assessment dropdown (crash / wrong behavior / cosmetic / performance)
Feature Request Template (feature_request.yml)
- Convert from Markdown to YAML form
- Dropdown for component area
- Design spec reference field (which
docs/design/page is relevant) - Dependency field (related issues)
- Scope self-assessment dropdown (small / medium / large)
CLI Install Bug Template (cli_install.yml)
- Dedicated template for installation issues
- Required fields: OS, architecture, installation method (bash script / PowerShell / manual)
synthorg doctoroutput field (with note that it may not be available if install failed)- Shell and version info fields
Doctor Output Binding
- Document the expected
synthorg doctoroutput format in the template help text - Add example output so users know what to paste
- Consider adding
synthorg doctor --clipboardflag to auto-copy to clipboard (separate issue)
Acceptance Criteria
- All templates converted to YAML form format (
.ymlin.github/ISSUE_TEMPLATE/) - Bug report requires component, OS, and version info
- Bug report has dedicated field for
synthorg doctoroutput - Feature request prompts for design spec reference and dependencies
- CLI installation bugs handled via unified bug report (dedicated template merged into bug_report.yml per user decision)
-
config.ymlchooser configured with template descriptions - Templates render correctly in GitHub's "New Issue" page
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
prio:lowNice to have, can deferNice to have, can deferprio:mediumShould do, but not blockingShould do, but not blockingscope:medium1-3 days of work1-3 days of workspec:human-interactionDESIGN_SPEC Section 13 - Human Interaction LayerDESIGN_SPEC Section 13 - Human Interaction Layerspec:templatesDESIGN_SPEC Section 14 - Templates & BuilderDESIGN_SPEC Section 14 - Templates & Buildertype:choreMaintenance, cleanup, dependency updatesMaintenance, cleanup, dependency updatestype:docsDocumentation workDocumentation work