Multiple Issue Templates Repository Setup
Set up a complete .github/ISSUE_TEMPLATE/ directory with multiple templates for bugs, features, and docs, plus a config.yml template chooser.
Detailed Explanation
Setting Up Multiple Issue Templates
A well-organized repository uses multiple issue templates to route different types of feedback into appropriate formats. This guide covers the complete setup.
Directory Structure
.github/
ISSUE_TEMPLATE/
bug-report.yml
feature-request.yml
documentation.yml
config.yml
Template Naming Conventions
File names become part of the URL when GitHub pre-selects a template. Use kebab-case names that describe the template purpose:
| File Name | Template Chooser Label |
|---|---|
bug-report.yml |
Bug Report |
feature-request.yml |
Feature Request |
documentation.yml |
Documentation Issue |
Template Ordering
GitHub displays templates in alphabetical order by file name. To control the order, prefix file names with numbers:
01-bug-report.yml
02-feature-request.yml
03-documentation.yml
Label Strategy
Assign labels in each template to enable automatic triage:
# bug-report.yml
labels: ["bug", "triage"]
# feature-request.yml
labels: ["enhancement"]
# documentation.yml
labels: ["documentation"]
These labels should already exist in your repository. GitHub will not create new labels from template definitions.
config.yml Integration
The config.yml file completes the setup by optionally disabling blank issues and adding external links to the template chooser.
Migration from Markdown to YAML
If you are migrating from classic Markdown templates to YAML issue forms, you can keep both formats during the transition. GitHub will show both in the template chooser. Remove the old Markdown templates once users are comfortable with the new forms.
Use Case
Teams setting up issue management for a new repository or migrating an existing repository from ad-hoc issues to a structured template system with multiple template types.