Skip to content

Commit 2e0a185

Browse files
committed
feat: Add GitHub issue templates for the current reposository, create a hook to sync them with Jinja templates
1 parent 30c9667 commit 2e0a185

12 files changed

Lines changed: 491 additions & 4 deletions

.github/ISSUE_TEMPLATE/01-bug.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: Bug Report
2+
description: File a bug report to help us improve
3+
title: "[Bug]: "
4+
labels: ["bug", "triage"]
5+
type: bug
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for taking the time to file a bug report! Please provide as much context as possible so we can fix the issue quickly.
11+
12+
- type: textarea
13+
id: description
14+
attributes:
15+
label: What happened?
16+
description: Describe the bug you encountered
17+
placeholder: "A clear and concise description of what the bug is..."
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: expected
23+
attributes:
24+
label: Expected behavior
25+
description: What did you expect to happen?
26+
placeholder: "The expected outcome..."
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
id: reproduction
32+
attributes:
33+
label: Reproduction steps
34+
description: Steps to reproduce the behavior
35+
value: |
36+
1.
37+
2.
38+
3.
39+
placeholder: "Step-by-step instructions..."
40+
validations:
41+
required: true
42+
43+
- type: textarea
44+
id: environment
45+
attributes:
46+
label: Environment
47+
description: Tell us about your environment
48+
value: |
49+
- **Python version:** (e.g., 3.10, 3.11)
50+
- **OS:** (e.g., macOS, Linux, Windows)
51+
- **uv version:** (run `uv --version`)
52+
- **Project version:**
53+
placeholder: "Provide relevant environment details..."
54+
validations:
55+
required: true
56+
57+
- type: textarea
58+
id: logs
59+
attributes:
60+
label: Relevant log output
61+
description: Please copy and paste any relevant log output (optional)
62+
render: python
63+
placeholder: "Paste error messages or traceback here..."
64+
65+
- type: checkboxes
66+
id: checklist
67+
attributes:
68+
label: Pre-submission checklist
69+
options:
70+
- label: I have searched existing issues
71+
required: true
72+
- label: I have provided steps to reproduce the bug
73+
required: true
74+
- label: I am using the latest version
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Feature Request
2+
description: Suggest an idea or improvement
3+
title: "[Feature]: "
4+
labels: ["feature", "enhancement"]
5+
type: feature
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thank you for suggesting a feature! Please provide details about what you'd like to see and why it would be valuable.
11+
12+
- type: textarea
13+
id: use-case
14+
attributes:
15+
label: Use case / Motivation
16+
description: What problem does this feature solve? Why do you need it?
17+
placeholder: "Describe the use case and motivation for this feature..."
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: proposed-solution
23+
attributes:
24+
label: Proposed solution
25+
description: How should this feature work?
26+
placeholder: "Describe your proposed solution or implementation approach..."
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
id: alternatives
32+
attributes:
33+
label: Alternative approaches
34+
description: Have you considered other solutions?
35+
placeholder: "Describe any alternative approaches or workarounds..."
36+
37+
- type: dropdown
38+
id: priority
39+
attributes:
40+
label: Priority
41+
description: How important is this feature to you?
42+
options:
43+
- Low - Nice to have
44+
- Medium - Important
45+
- High - Critical
46+
default: 1
47+
validations:
48+
required: true
49+
50+
- type: textarea
51+
id: context
52+
attributes:
53+
label: Additional context
54+
description: Any other context or examples? (optional)
55+
placeholder: "Add any other context, code examples, or mockups..."
56+
57+
- type: checkboxes
58+
id: checklist
59+
attributes:
60+
label: Pre-submission checklist
61+
options:
62+
- label: I have searched existing issues and discussions
63+
required: true
64+
- label: I have provided a clear use case
65+
required: true
66+
- label: I have considered alternative approaches

.github/ISSUE_TEMPLATE/03-docs.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: Documentation Issue
2+
description: Report missing, unclear, or incorrect documentation
3+
title: "[Docs]: "
4+
labels: ["docs", "documentation"]
5+
type: feature
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thank you for helping us improve our documentation! Please let us know what's missing or needs clarification.
11+
12+
- type: dropdown
13+
id: doc-type
14+
attributes:
15+
label: Documentation type
16+
description: Which part of the documentation needs improvement?
17+
options:
18+
- README or Getting Started
19+
- API Documentation
20+
- Architecture/Design docs
21+
- Examples
22+
- Development Guide
23+
- Security Policy
24+
- Contributing Guide
25+
- Other
26+
default: 0
27+
validations:
28+
required: true
29+
30+
- type: input
31+
id: location
32+
attributes:
33+
label: Documentation location
34+
description: What file or URL is affected?
35+
placeholder: "e.g., docs/development.md or https://..."
36+
validations:
37+
required: true
38+
39+
- type: textarea
40+
id: issue-description
41+
attributes:
42+
label: What's the issue?
43+
description: Is it missing information, unclear, outdated, or incorrect?
44+
placeholder: |
45+
- Missing: [describe what's missing]
46+
- Unclear: [describe what's confusing]
47+
- Outdated: [describe what's changed]
48+
- Incorrect: [describe the error]
49+
validations:
50+
required: true
51+
52+
- type: textarea
53+
id: suggested-fix
54+
attributes:
55+
label: Suggested improvement
56+
description: How should this documentation be improved? (optional)
57+
placeholder: "Propose specific changes or additions..."
58+
59+
- type: checkboxes
60+
id: checklist
61+
attributes:
62+
label: Pre-submission checklist
63+
options:
64+
- label: I have searched for similar documentation issues
65+
required: true
66+
- label: I have provided a specific location/reference
67+
required: true

.github/ISSUE_TEMPLATE/03-docs.yml.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Documentation Issue
22
description: Report missing, unclear, or incorrect documentation
33
title: "[Docs]: "
44
labels: ["docs", "documentation"]
5-
type: documentation
5+
type: feature
66
body:
77
- type: markdown
88
attributes:
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Question / Discussion
2+
description: Ask a question or start a discussion
3+
title: "[Q&A]: "
4+
labels: ["question", "discussion"]
5+
type: feature_request
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Welcome! Feel free to ask questions or discuss topics related to this project.
11+
12+
- type: textarea
13+
id: question
14+
attributes:
15+
label: Your question
16+
description: What would you like to know?
17+
placeholder: "Ask your question clearly and concisely..."
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: context
23+
attributes:
24+
label: Context
25+
description: Provide relevant context to help us understand your question
26+
placeholder: "What are you trying to do? What have you already tried?"
27+
validations:
28+
required: true
29+
30+
- type: input
31+
id: search
32+
attributes:
33+
label: Search terms used
34+
description: What did you search for before asking?
35+
placeholder: "e.g., 'how to customize uv', 'python 3.10 support'"
36+
37+
- type: textarea
38+
id: references
39+
attributes:
40+
label: Relevant links or references
41+
description: Any documentation, issues, or external references? (optional)
42+
placeholder: |
43+
- Related issue: #123
44+
- Documentation: [link]
45+
- Similar discussion: [link]
46+
47+
- type: checkboxes
48+
id: checklist
49+
attributes:
50+
label: Pre-submission checklist
51+
options:
52+
- label: I have searched existing discussions and issues
53+
required: true
54+
- label: I have provided context for my question
55+
required: true
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Maintenance Issue
2+
description: Dependency updates, tooling, or infrastructure improvements
3+
title: "[Maintenance]: "
4+
labels: ["maintenance", "dependencies"]
5+
type: feature
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Use this template to track dependency updates, tooling improvements, CI/CD enhancements, or other maintenance tasks.
11+
12+
- type: dropdown
13+
id: maintenance-type
14+
attributes:
15+
label: Maintenance type
16+
description: What kind of update or improvement is this?
17+
options:
18+
- Dependency upgrade
19+
- Python version support
20+
- Copier version compatibility
21+
- CI/CD improvement
22+
- Test infrastructure
23+
- Code quality tooling
24+
- Documentation infrastructure
25+
- Other
26+
default: 0
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
id: description
32+
attributes:
33+
label: Description
34+
description: What needs to be updated or improved?
35+
placeholder: "Describe the maintenance task..."
36+
validations:
37+
required: true
38+
39+
- type: textarea
40+
id: motivation
41+
attributes:
42+
label: Motivation
43+
description: Why is this important? What's the benefit?
44+
placeholder: |
45+
- Security: [reason]
46+
- Performance: [reason]
47+
- Compatibility: [reason]
48+
- Best practices: [reason]
49+
validations:
50+
required: true
51+
52+
- type: input
53+
id: affected-areas
54+
attributes:
55+
label: Affected areas
56+
description: What parts of the project are affected?
57+
placeholder: "e.g., pyproject.toml, .github/workflows, Makefile"
58+
59+
- type: textarea
60+
id: acceptance-criteria
61+
attributes:
62+
label: Acceptance criteria
63+
description: How will we know this is done? (optional)
64+
placeholder: |
65+
- [ ] Dependency updated to version X
66+
- [ ] Tests pass on all Python versions
67+
- [ ] CI/CD pipeline executes successfully
68+
69+
- type: checkboxes
70+
id: checklist
71+
attributes:
72+
label: Pre-submission checklist
73+
options:
74+
- label: I have checked for existing maintenance issues
75+
required: true
76+
- label: I have provided clear motivation
77+
required: true

.github/ISSUE_TEMPLATE/05-maintenance.yml.jinja

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Maintenance Issue
22
description: Dependency updates, tooling, or infrastructure improvements
33
title: "[Maintenance]: "
44
labels: ["maintenance", "dependencies"]
5-
type: feature_request
5+
type: feature
66
body:
77
- type: markdown
88
attributes:

0 commit comments

Comments
 (0)