Skip to content

Commit 56ee321

Browse files
authored
feat: add comprehensive GitHub issue templates (#42)
Add structured issue templates following OpenUP methodology for improved issue creation and project management. Templates added: - πŸš€ Feature Request: Functional requirements with OpenUP phases - πŸ› Bug Report: Comprehensive debugging with environment info - ⚑ Quality Enhancement: Non-functional requirements (performance, testing) - πŸ”§ Infrastructure & Process: CI/CD, release management, DevOps - πŸ“¦ Distribution & Packaging: Package manager integration templates - 🧹 Technical Debt & Cleanup: Code cleanup and refactoring - πŸ“ General Issue: Discussions, documentation, planning - config.yml: Template organization and contact links Features: - OpenUP phase integration (Elaboration, Construction, Transition) - Story point estimation (1-2, 3-5, 6-7, 8-10) - Priority levels (High, Medium, Low) - Dependency tracking (Depends on, Blocks, Relates to) - Platform-specific fields for distribution templates - Security considerations and testing strategies - Structured acceptance criteria and success metrics Benefits: - Consistent issue format across project - Better requirement gathering and planning - Improved OpenUP workflow integration - Enhanced project tracking and organization
1 parent c8ca7b5 commit 56ee321

File tree

8 files changed

+1077
-0
lines changed

8 files changed

+1077
-0
lines changed
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
name: πŸ› Bug Report
2+
description: Report a bug or defect in Samoid
3+
title: "[Bug]: "
4+
labels: ["πŸ› bug", "πŸ”₯ priority: high"]
5+
projects: []
6+
assignees: []
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for reporting a bug! Please provide detailed information to help us reproduce and fix the issue.
12+
13+
- type: textarea
14+
id: summary
15+
attributes:
16+
label: Bug Summary
17+
description: Provide a clear and concise description of the bug
18+
placeholder: Brief description of what went wrong...
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: steps-to-reproduce
24+
attributes:
25+
label: Steps to Reproduce
26+
description: Provide detailed steps to reproduce the behavior
27+
placeholder: |
28+
1. Run command '...'
29+
2. In directory with '...'
30+
3. Expected '...' but got '...'
31+
validations:
32+
required: true
33+
34+
- type: textarea
35+
id: expected-behavior
36+
attributes:
37+
label: Expected Behavior
38+
description: What did you expect to happen?
39+
placeholder: Describe what should have happened...
40+
validations:
41+
required: true
42+
43+
- type: textarea
44+
id: actual-behavior
45+
attributes:
46+
label: Actual Behavior
47+
description: What actually happened?
48+
placeholder: Describe what actually happened...
49+
validations:
50+
required: true
51+
52+
- type: dropdown
53+
id: severity
54+
attributes:
55+
label: Severity
56+
description: How severe is this bug?
57+
options:
58+
- πŸ”΄ Critical - Application crashes or data loss
59+
- 🟠 High - Major functionality broken
60+
- 🟑 Medium - Minor functionality affected
61+
- 🟒 Low - Cosmetic or minor issue
62+
default: 1
63+
validations:
64+
required: true
65+
66+
- type: checkboxes
67+
id: platform
68+
attributes:
69+
label: Platform
70+
description: Which platforms are affected?
71+
options:
72+
- label: Linux
73+
- label: macOS
74+
- label: Windows
75+
- label: WSL (Windows Subsystem for Linux)
76+
- label: Git Bash
77+
78+
- type: textarea
79+
id: environment
80+
attributes:
81+
label: Environment Information
82+
description: Please provide relevant environment details
83+
placeholder: |
84+
- OS: [e.g., Ubuntu 24.04, macOS 14.0, Windows 11]
85+
- Samoid version: [e.g., 0.1.4]
86+
- Git version: [e.g., 2.45.0]
87+
- Shell: [e.g., bash, zsh, PowerShell]
88+
- Other relevant tools: [e.g., node 18.0, cargo 1.75]
89+
validations:
90+
required: true
91+
92+
- type: textarea
93+
id: error-output
94+
attributes:
95+
label: Error Output
96+
description: Include any error messages, stack traces, or debug output
97+
placeholder: |
98+
Paste error output here...
99+
render: text
100+
101+
- type: textarea
102+
id: logs
103+
attributes:
104+
label: Debug Logs
105+
description: If available, include output from running with debug mode (SAMOID=2)
106+
placeholder: |
107+
Output from SAMOID=2 samoid command...
108+
render: text
109+
110+
- type: checkboxes
111+
id: workaround
112+
attributes:
113+
label: Workaround
114+
description: Do you have a workaround for this issue?
115+
options:
116+
- label: Yes, I have a workaround (please describe below)
117+
- label: No workaround available
118+
119+
- type: textarea
120+
id: additional-context
121+
attributes:
122+
label: Additional Context
123+
description: Add any other context about the problem, including configuration files or repository structure
124+
placeholder: Any additional information that might help...
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: πŸ’¬ Discussions
4+
url: https://github.com/nutthead/samoid/discussions
5+
about: Ask questions, share ideas, or discuss the project with the community
6+
- name: πŸ“š Documentation
7+
url: https://github.com/nutthead/samoid/blob/master/README.md
8+
about: Read the project documentation and user guides
9+
- name: πŸ” Search Issues
10+
url: https://github.com/nutthead/samoid/issues
11+
about: Search existing issues before creating a new one
Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
name: πŸ“¦ Distribution & Packaging
2+
description: Package manager integration, distribution channels, and installation methods
3+
title: "[Distribution]: "
4+
labels: ["πŸš€ deployment", "🏁 phase: transition", "🎯 type: nonfunctional"]
5+
projects: []
6+
assignees: []
7+
body:
8+
- type: markdown
9+
attributes:
10+
value: |
11+
Thanks for improving Samoid's distribution! Package manager integration helps users install and update Samoid easily.
12+
13+
- type: textarea
14+
id: summary
15+
attributes:
16+
label: Summary
17+
description: Provide a clear summary of the distribution enhancement
18+
placeholder: Brief description of the distribution channel or packaging improvement...
19+
validations:
20+
required: true
21+
22+
- type: dropdown
23+
id: distribution-type
24+
attributes:
25+
label: Distribution Channel
26+
description: What type of distribution channel is this?
27+
options:
28+
- 🍺 Homebrew - macOS/Linux package manager (brew install)
29+
- πŸͺ£ Scoop - Windows package manager (scoop install)
30+
- 🍫 Chocolatey - Windows package manager (choco install)
31+
- πŸ“¦ APT Repository - Debian/Ubuntu package repository
32+
- πŸ“¦ YUM/DNF Repository - Red Hat/Fedora package repository
33+
- 🐧 Snap Package - Universal Linux package (snap install)
34+
- πŸ“₯ Installation Script - Automated download/install script (curl | sh)
35+
- πŸ” Package Signing - Cryptographic signing of release artifacts
36+
- 🌐 Other Distribution - Different distribution method
37+
default: 0
38+
validations:
39+
required: true
40+
41+
- type: textarea
42+
id: target-users
43+
attributes:
44+
label: Target Users
45+
description: Who will benefit from this distribution method?
46+
placeholder: |
47+
Target audience:
48+
- macOS developers using Homebrew
49+
- Windows users preferring GUI installers
50+
- Linux system administrators...
51+
validations:
52+
required: true
53+
54+
- type: textarea
55+
id: current-state
56+
attributes:
57+
label: Current State
58+
description: Describe current installation methods and their limitations
59+
placeholder: |
60+
Current installation options:
61+
- Manual binary download from GitHub releases
62+
- cargo install samoid (Rust developers only)
63+
- Limitations: [specific pain points]
64+
validations:
65+
required: true
66+
67+
- type: textarea
68+
id: proposed-implementation
69+
attributes:
70+
label: Proposed Implementation
71+
description: Describe the specific implementation approach
72+
placeholder: |
73+
Implementation plan:
74+
- Create package manifest/formula
75+
- Set up automated publishing workflow
76+
- Test installation across target platforms
77+
- Update documentation...
78+
validations:
79+
required: true
80+
81+
- type: textarea
82+
id: acceptance-criteria
83+
attributes:
84+
label: Acceptance Criteria
85+
description: List specific, testable requirements for completion
86+
placeholder: |
87+
- [ ] Package manifest/formula created and validated
88+
- [ ] Automated publishing workflow implemented
89+
- [ ] Installation tested on target platforms
90+
- [ ] Documentation updated with installation instructions
91+
- [ ] Package properly handles updates/uninstallation
92+
validations:
93+
required: true
94+
95+
- type: checkboxes
96+
id: platform-support
97+
attributes:
98+
label: Target Platforms
99+
description: Which platforms will be supported?
100+
options:
101+
- label: macOS (Intel x64)
102+
- label: macOS (Apple Silicon ARM64)
103+
- label: Linux (x86_64)
104+
- label: Linux (ARM64)
105+
- label: Windows (x64)
106+
- label: Windows (x86/32-bit)
107+
108+
- type: textarea
109+
id: package-manifest
110+
attributes:
111+
label: Package Manifest/Formula Details
112+
description: Provide details about the package configuration
113+
placeholder: |
114+
Package configuration:
115+
- Package name: samoid
116+
- Version management: [semver, git tags]
117+
- Dependencies: [none, system requirements]
118+
- Installation location: [/usr/local/bin, ~/.local/bin]
119+
- Configuration files: [locations, permissions]
120+
121+
- type: textarea
122+
id: automation-workflow
123+
attributes:
124+
label: Automation & Publishing
125+
description: How will package updates be automated?
126+
placeholder: |
127+
Automation approach:
128+
- Trigger: [on release, manual workflow]
129+
- Update mechanism: [PR to tap, API submission]
130+
- Validation: [testing, checksums, signatures]
131+
- Rollback plan: [if issues discovered]
132+
133+
- type: textarea
134+
id: testing-strategy
135+
attributes:
136+
label: Testing Strategy
137+
description: How will you validate the distribution channel?
138+
placeholder: |
139+
Testing plan:
140+
- Fresh installation on clean systems
141+
- Update scenarios (old version β†’ new version)
142+
- Uninstallation cleanup verification
143+
- Cross-platform compatibility testing
144+
- Integration with existing tools/workflows
145+
146+
- type: dropdown
147+
id: priority
148+
attributes:
149+
label: Priority
150+
description: How important is this distribution channel?
151+
options:
152+
- πŸ”₯ High - Critical for user adoption
153+
- ⚑ Medium - Important for convenience
154+
- 🟒 Low - Nice to have additional option
155+
default: 1
156+
validations:
157+
required: true
158+
159+
- type: dropdown
160+
id: effort
161+
attributes:
162+
label: Estimated Effort (Story Points)
163+
description: Rough estimate of implementation complexity
164+
options:
165+
- 🟒 1-2 - Simple manifest creation
166+
- 🟑 3-5 - Medium complexity with automation
167+
- 🟠 6-7 - Complex setup with testing infrastructure
168+
- πŸ”΄ 8-10 - Major infrastructure requiring hosting/signing
169+
default: 1
170+
validations:
171+
required: true
172+
173+
- type: textarea
174+
id: security-considerations
175+
attributes:
176+
label: Security Considerations
177+
description: What security measures are needed?
178+
placeholder: |
179+
Security requirements:
180+
- Package signing/verification
181+
- Checksum validation
182+
- Secure distribution channels
183+
- Update integrity verification
184+
- Vulnerability disclosure process
185+
186+
- type: textarea
187+
id: maintenance-requirements
188+
attributes:
189+
label: Long-term Maintenance
190+
description: What ongoing maintenance will be required?
191+
placeholder: |
192+
Maintenance considerations:
193+
- Regular testing of installation process
194+
- Monitoring package manager ecosystem changes
195+
- Updating manifests for new releases
196+
- Handling deprecated distribution channels
197+
- Community support and issue resolution
198+
199+
- type: textarea
200+
id: dependencies
201+
attributes:
202+
label: Dependencies & Prerequisites
203+
description: List any dependencies or setup requirements
204+
placeholder: |
205+
Prerequisites:
206+
- **Depends on**: #issue_number (Description)
207+
- **Requires**: External accounts/access (Homebrew tap, Windows signing cert)
208+
- **Blocks**: #issue_number (Description)
209+
210+
- type: textarea
211+
id: success-metrics
212+
attributes:
213+
label: Success Metrics
214+
description: How will you measure the success of this distribution channel?
215+
placeholder: |
216+
Success criteria:
217+
- Installation success rate: >95%
218+
- User feedback: Positive reception
219+
- Adoption metrics: Downloads/installs via this channel
220+
- Reduced manual installation support requests
221+
222+
- type: textarea
223+
id: additional-context
224+
attributes:
225+
label: Additional Context
226+
description: Add any other context, examples, or references
227+
placeholder: Any additional information...

0 commit comments

Comments
Β (0)