Draft clear, actionable GitHub issues from a brief description, error message, or idea. Covers bug reports, feature requests, enhancements, and tasks.
Ask (or infer from context):
git remote get-url origin if in a git dir, otherwise ask)If the user gives you enough context, proceed without asking — draft and show for confirmation.
Use the appropriate template below. Fill every field; omit sections only if genuinely not applicable.
## Description
<!-- Clear, one-paragraph summary of the problem. -->
## Steps to Reproduce
1.
2.
3.
## Expected Behavior
<!-- What should have happened? -->
## Actual Behavior
<!-- What actually happened? Include error messages verbatim. -->
## Environment
- OS:
- Browser / Runtime / Version:
- Relevant config or dependencies:
## Logs / Screenshots
<!-- Paste relevant logs, stack traces, or attach screenshots. -->
## Additional Context
<!-- Anything else that might help: related issues, recent changes, workarounds tried. -->
## Problem / Motivation
<!-- What problem does this solve? Why does it matter? -->
## Proposed Solution
<!-- Describe the feature clearly. What would it look like? How would it work? -->
## Alternatives Considered
<!-- Other approaches you thought about and why you ruled them out. -->
## Acceptance Criteria
- [ ]
- [ ]
## Additional Context
<!-- Mockups, related issues, prior art, links. -->
## Current Behavior
<!-- What does it do now? -->
## Desired Behavior
<!-- What should it do instead? -->
## Why This Matters
<!-- Impact: who benefits, how much, how often? -->
## Suggested Implementation
<!-- Optional: any technical ideas or constraints. -->
## What needs to be done
<!-- Clear, specific description of the work. -->
## Why / Context
<!-- Why is this needed now? What does it unblock? -->
## Definition of Done
- [ ]
- [ ]
Title format by type:
| Type | Pattern | Example |
|---|---|---|
| ------ | --------- | --------- |
| Bug | Bug: | Bug: 500 on POST /login when payload missing field |
| Feature | Feature: | Feature: CSV export for admin reports |
| Enhancement | Enhance: | Enhance: error messages — add field-level detail |
| Task | Task: | Task: upgrade Stripe SDK to v16 |
Rules:
Recommend labels based on type and content:
| Signal | Suggested Labels |
|---|---|
| -------- | ----------------- |
| Bug | bug, needs-repro |
| Feature | enhancement, feature-request |
| High impact / blocking | priority:high |
| Needs more info | needs-info |
| Good for contributors | good first issue |
| Security | security |
| Performance | performance |
| Docs | documentation |
Also suggest:
Show the complete draft:
**Title:** <title>
**Type:** Bug / Feature / Enhancement / Task
**Suggested labels:** bug, priority:high
**Suggested assignee:** (if known)
---
<full issue body>
---
Ask: "Does this look right? I can adjust the title, add details, or submit it directly."
> Prerequisites for submission:
> - gh CLI (authenticated via gh auth login) — preferred path
> - GH_TOKEN env var — required for the curl API fallback
> - git — used to detect the repo from git remote get-url origin
>
> Drafting (Steps 1–5) works without any of these.
If the user says "submit", "create it", "go ahead", or similar:
gh issue create \
--repo owner/repo \
--title "<title>" \
--body "<body>" \
--label "bug,priority:high" \
--assignee "@me"
gh isn't available)curl -s -X POST \
-H "Authorization: Bearer $GH_TOKEN" \
-H "Accept: application/vnd.github+json" \
https://api.github.com/repos/{owner}/{repo}/issues \
-d '{
"title": "<title>",
"body": "<body>",
"labels": ["bug"],
"assignees": []
}'
On success, output the issue URL. On error, show the response and offer to retry.
Before presenting the draft, verify:
Do:
#Don't:
.github/ISSUE_TEMPLATE/ in your repo共 1 个版本