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.

Configuration

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.

Try It — Issue Template Builder

Open full tool