GitHub issue forms turn vague bug reports into structured, validated submissions.
This builder generates a complete bug_report.yml with the sections maintainers
actually need — reproduction steps, expected versus actual behavior, environment,
and screenshots — using the modern YAML issue-form schema.
How it works
The file is a YAML document with top-level metadata (name, description,
title, labels, assignees) and a body array of typed fields. Each field
has a type (textarea, input, dropdown, or markdown), an id, and
attributes like the label and placeholder. Required fields set
validations.required: true:
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
placeholder: |
1. Go to '...'
2. Click on '...'
3. See error
validations:
required: true
GitHub reads any file under .github/ISSUE_TEMPLATE/ and presents it as a guided
form when someone opens a new issue, applying your default labels and assignees
automatically.
Tips and notes
Keep at least the reproduction steps and a description required — those two
fields prevent the most common “cannot reproduce” back-and-forth. The title
prefix (for example [Bug]: ) makes bugs easy to filter in your issue list. If
you also add a config.yml in the same folder you can disable blank issues so
every report flows through a form.