Issue Gate

GitHub's own bug form leaves Steps To Reproduce optional, so "it doesn't work" reports walk straight through the form and land on a maintainer. Issue Gate writes the same native files with that gap closed.

Python CLI Zero Dependencies Free & MIT Licensed

Required Repro, Not a Bot

GitHub enforces a required form field at submit time, before the issue exists. No comment bot telling someone their issue is invalid — one polite form, asked once.

Blank Issues Disabled

Chooses blank_issues_enabled: false so contributors get a form instead of an empty editor, plus a question form or a Discussions link so nothing is left unrouted.

Ecosystem Prefill

Reads your repo and prefills the environment block with the right fields — Node, Python, Rust, Go, JVM, Ruby, PHP — so reporters fill in versions that matter to you.

Never Overwrites

An existing template is reported and left untouched, and --dry-run prints a unified diff with POSIX paths, ready to paste into a pull request.

Quick Start

  1. pip install issue-gate — zero dependencies, Python standard library only.
  2. issuegate ~/code/my-lib --dry-run — see the diff, write nothing.
  3. issuegate ~/code/my-lib — write .github/ISSUE_TEMPLATE/, then push and open /issues/new/choose.
  4. issuegate --self-check — verify the tool works on your machine.