How to use the issue template generator
- Choose the Template: Bug report, Feature request or Question.
- Choose the Format: Issue form (YAML) or Markdown.
- Leave Labels blank for the default (
bug,enhancementorquestion), or type your own, separated by commas. - Add Assignees if one person should get every new issue of this kind. A leading @ is removed.
- Leave Title prefix blank for the default, such as
[Bug]:, or type your own. Then save the file under the name shown, in.github/ISSUE_TEMPLATE/.
What it does and when to use it
Vague issues such as “it doesn’t work” cost maintainers a round of questions. A template asks for the details up front: what happened, how to reproduce it, which version. Feature requests start from the problem rather than a solution, and questions ask what the person has already tried.
Templates are one part of a project’s community files. The pull request template generator does the same for code changes, the SECURITY.md generator keeps vulnerability reports out of public issues, and the CONTRIBUTING.md generator explains how issues fit into your workflow.
How it works
Both formats share a name, a description, a default title and labels. The fields differ by template:
- Bug report: a welcome note, What happened? and Steps to reproduce (required), a required Version input, and an optional log box rendered as shell.
- Feature request: The problem and Proposed solution (required), Alternatives considered (optional).
- Question: Your question (required), What you have tried and Version (optional).
The form format uses the body field types from GitHub’s issue forms syntax. The Markdown format writes front matter (name, about, title, labels, assignees) above headings with prompts.
Worked examples
Default bug report form (bug_report.yml), first lines:
name: Bug report
description: Report something that is not working
title: "[Bug]: "
labels: ["bug"]
body:
The last field ends with render: shell and required: false.
Feature request in Markdown (feature_request.md). The front matter contains labels: [enhancement] and assignees: [], and the body has the headings The problem, Proposed solution, Alternatives considered and Additional context.
Question form with custom settings. Labels help wanted, question, assignee @asha, title prefix Q: . The form gets labels: ["help wanted", "question"], assignees: ["asha"] and title: "Q: ".
Limits and tips
- You cannot set an empty title prefix; a blank field means the default.
- Dropdowns and checkboxes, such as an operating-system picker, are not generated. Add them by hand using the syntax page above.
- After committing, open the New issue page yourself. GitHub shows an error there if a form file has a mistake.
Frequently asked questions
Should I pick an issue form or a Markdown template?
Where do the files go?
What happens if a label does not exist?
Can I turn off blank issues?
What does render shell do in the bug form?
How do we know nothing is uploaded? Test it yourself on the privacy proof page.