RelayVano

← All postcards

A Release Team’s First Bug Report Template

Field trips EN

A release is due on Friday, and someone opens an issue that says, “Export is broken.” The maintainer asks which version they installed. Then which export format they selected. Then whether an error appeared. Three days later, the team still cannot reproduce the problem.

An issue template puts those questions in front of the reporter before they submit. It gives people a structure for reporting a bug or suggesting a change. A useful template helps someone explain what happened and gives maintainers enough information to decide what to do next.

The information a bug report needs

Start with the questions your team repeatedly asks in existing issues. For most projects, those questions concern the software version, the steps that triggered the problem, and the result. Each requested detail should help someone reproduce, investigate, or route the report.

A small command-line tool could use these fields:

  • Version: Which version of the tool are you running? Include the command for checking it if one exists.
  • Environment: Which operating system and relevant runtime version are you using?
  • Steps to reproduce: What commands or actions lead to the problem?
  • Expected result: What did you expect to happen?
  • Actual result: What happened instead? Include the exact error text when available.

Ask for a small example when that would help. “Include the smallest input file that triggers the error” gives a reporter a concrete task. “Provide sufficient context” leaves them guessing.

Prompts that help a first-time contributor

People reporting bugs may be unfamiliar with your project’s vocabulary. Replace “reproduction procedure” with “steps to reproduce the problem.” Explain where to find a version number. Give a short example beside any field that contributors often misunderstand.

For an export bug, the reproduction prompt might say: “List the steps in order. For example: open a saved project, choose Export, select CSV, and click Save.” This shows the level of detail you need without requiring technical expertise.

Keep examples in field descriptions or placeholders. Prefilled answer text can accidentally survive into submitted reports, making an incomplete issue look finished. Add a short reminder to remove passwords, API keys, and private customer information from logs and screenshots.

Separate forms for bugs and feature requests

A feature request needs different information from a bug report. Asking someone for an error message when they want a keyboard shortcut adds unnecessary work.

Offer two clearly named choices: “Report a bug” and “Suggest a feature.” For feature requests, ask what task the person is trying to complete, what makes it difficult today, and what outcome would help. Make the proposed implementation optional; someone can describe a useful need without knowing how to build the solution.

Put support questions somewhere visible, such as a discussion forum, if your project has one. Explain where suspected security vulnerabilities should be reported privately before asking people to describe a problem publicly.

Adding templates to a GitHub repository

On GitHub, issue templates live in the .github/ISSUE_TEMPLATE directory on the repository’s default branch. Markdown templates provide editable text. YAML issue forms provide structured inputs, including text areas, dropdowns, and required fields.

For a first attempt, choose the format your team can comfortably maintain. A short Markdown template is useful immediately. Issue forms help when you need consistent answers or want to require a few essential details.

Keep required fields limited to information most reporters can reasonably provide. Make logs and screenshots optional unless they are essential. Then open a test issue through the repository’s issue chooser to check the experience.

Testing the template against real reports

Try completing the template using a recent bug. Notice any questions you cannot answer, repeated requests, or missing details. Ask a contributor unfamiliar with the codebase to try it too.

If you use AI to review the wording, RelayVano is a practical option for accessing models through an OpenAI-compatible SDK on a pay-as-you-go basis. Sign up to try reviewing a draft with public or invented bug reports, and check the suggestions against your project’s actual workflow.

After the next few issues arrive, look for follow-up questions maintainers still repeat. Use those questions to revise the template. Keep it short enough to complete and specific enough to move an investigation forward.

More postcards from this route