Skip to content

Commit a589bcd

Browse files
author
Andrea Manzini
committed
add readme, contributing and github infra helpers / templates
1 parent 19b0e60 commit a589bcd

File tree

8 files changed

+1341
-18
lines changed

8 files changed

+1341
-18
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
name: Bug Report
3+
about: Create a report to help us improve QBoot
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
## Bug Description
11+
A clear and concise description of what the bug is.
12+
13+
## Environment
14+
- **OS**: [e.g. Ubuntu 22.04, macOS 13.0, Windows 11]
15+
- **Architecture**: [e.g. x86_64, arm64]
16+
- **D Compiler**: [e.g. DMD v2.105.0, LDC2 v1.34.0]
17+
- **QEMU Version**: [e.g. 7.2.0]
18+
- **QBoot Version**: [e.g. 1.0.0, commit hash]
19+
20+
## Steps to Reproduce
21+
1. Go to '...'
22+
2. Run command '...'
23+
3. Use configuration '...'
24+
4. See error
25+
26+
## Expected Behavior
27+
A clear and concise description of what you expected to happen.
28+
29+
## Actual Behavior
30+
A clear and concise description of what actually happened.
31+
32+
## Error Messages
33+
```
34+
Paste any error messages, stack traces, or log output here
35+
```
36+
37+
## Configuration File
38+
If relevant, paste your `~/.config/qboot/config.json`:
39+
```json
40+
{
41+
"cpu": 2,
42+
"ram_gb": 4,
43+
"ssh_port": 2222,
44+
"log_file": "console.log",
45+
"headless_saves_changes": false
46+
}
47+
```
48+
49+
## Command Used
50+
```bash
51+
qboot -d disk.img -c 4 -r 8
52+
```
53+
54+
## Additional Context
55+
Add any other context about the problem here:
56+
- Screenshots
57+
- Related issues
58+
- Workarounds you've tried
59+
- Any other relevant information
60+
61+
## Checklist
62+
- [ ] I have searched existing issues to ensure this is not a duplicate
63+
- [ ] I have provided all the required environment information
64+
- [ ] I have included steps to reproduce the issue
65+
- [ ] I have included relevant error messages/logs
66+
- [ ] I have tested with the latest version of QBoot
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea or enhancement for QBoot
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
## Feature Description
11+
A clear and concise description of the feature you'd like to see added.
12+
13+
## Problem Statement
14+
What problem does this feature solve? What use case does it address?
15+
*Example: "I'm always frustrated when I have to manually configure X because..."*
16+
17+
## Proposed Solution
18+
Describe your ideal solution. How would you like this feature to work?
19+
20+
## Use Case Examples
21+
Provide specific examples of how this feature would be used:
22+
23+
### Example 1
24+
```bash
25+
# Current workflow
26+
qboot -d disk.img
27+
ssh -p 2222 user@localhost
28+
# ... manual steps ...
29+
30+
# Proposed workflow with new feature
31+
qboot -d disk.img --auto-ssh --run-script setup.sh
32+
```
33+
34+
### Example 2
35+
```
36+
Description of another use case...
37+
```
38+
39+
## Alternative Solutions
40+
Describe any alternative solutions or features you've considered.
41+
42+
## Implementation Ideas
43+
If you have ideas about how this could be implemented, share them here:
44+
- Configuration changes needed
45+
- Command line options
46+
- Code structure considerations
47+
- Compatibility concerns
48+
49+
## Benefits
50+
What are the benefits of implementing this feature?
51+
- [ ] Improved user experience
52+
- [ ] Better performance
53+
- [ ] Enhanced compatibility
54+
- [ ] Reduced complexity
55+
- [ ] Other: _______________
56+
57+
## Potential Drawbacks
58+
Are there any potential negative impacts or concerns?
59+
- Breaking changes
60+
- Performance implications
61+
- Increased complexity
62+
- Maintenance overhead
63+
64+
## Priority
65+
How important is this feature to you?
66+
- [ ] Critical - blocks my workflow
67+
- [ ] High - would significantly improve my workflow
68+
- [ ] Medium - nice to have enhancement
69+
- [ ] Low - minor improvement
70+
71+
## Additional Context
72+
Add any other context, mockups, screenshots, or examples about the feature request here.
73+
74+
## Related Issues
75+
Link to any related issues or discussions:
76+
- Fixes #
77+
- Related to #
78+
- Blocked by #
79+
80+
## Checklist
81+
- [ ] I have searched existing issues to ensure this is not a duplicate
82+
- [ ] I have provided a clear description of the proposed feature
83+
- [ ] I have explained the problem this feature would solve
84+
- [ ] I have considered potential drawbacks or concerns
85+
- [ ] I would be willing to contribute to implementing this feature

.github/pull_request_template.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
## Description
2+
Brief description of the changes in this pull request.
3+
4+
## Type of Change
5+
Please check the relevant option(s):
6+
7+
- [ ] 🐛 Bug fix (non-breaking change which fixes an issue)
8+
- [ ] ✨ New feature (non-breaking change which adds functionality)
9+
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
10+
- [ ] 📝 Documentation update (changes to documentation only)
11+
- [ ] 🔧 Refactoring (code changes that neither fix bugs nor add features)
12+
- [ ] ⚡ Performance improvement
13+
- [ ] 🧪 Test improvements (adding or updating tests)
14+
- [ ] 🚀 Build/CI improvements
15+
- [ ] 🧹 Chore (maintenance, dependency updates, etc.)
16+
17+
## Related Issues
18+
Closes #(issue_number)
19+
Fixes #(issue_number)
20+
Related to #(issue_number)
21+
22+
## Changes Made
23+
Please describe the changes made in detail:
24+
25+
- Change 1
26+
- Change 2
27+
- Change 3
28+
29+
## Testing Performed
30+
Describe the testing you have performed:
31+
32+
- [ ] Unit tests added/updated and passing
33+
- [ ] Integration tests passing
34+
- [ ] Manual testing performed
35+
- [ ] Tested on multiple platforms (specify which ones)
36+
- [ ] Performance impact assessed
37+
38+
### Test Commands Run
39+
```bash
40+
make test
41+
make test-verbose
42+
dub build --build=release
43+
./qboot --help
44+
```
45+
46+
## Configuration Changes
47+
If this PR introduces configuration changes:
48+
49+
- [ ] Updated default configuration
50+
- [ ] Added new configuration options
51+
- [ ] Deprecated existing options
52+
- [ ] Updated configuration documentation
53+
54+
Example configuration:
55+
```json
56+
{
57+
"new_option": "default_value"
58+
}
59+
```
60+
61+
## Breaking Changes
62+
If this is a breaking change, describe:
63+
64+
- What breaks
65+
- Migration path for users
66+
- Deprecation timeline (if applicable)
67+
68+
## Documentation
69+
- [ ] Code is self-documenting with clear variable/function names
70+
- [ ] Added/updated inline code comments where needed
71+
- [ ] Updated README.md (if applicable)
72+
- [ ] Updated TESTING.md (if applicable)
73+
- [ ] Updated CONTRIBUTING.md (if applicable)
74+
- [ ] Updated CHANGELOG.md
75+
76+
## Code Quality
77+
- [ ] Code follows the project's coding standards
78+
- [ ] Self-review of code completed
79+
- [ ] Code is properly formatted (`make format`)
80+
- [ ] No lint warnings (`make lint`)
81+
- [ ] No compiler warnings
82+
- [ ] Memory safety considerations addressed
83+
84+
## Performance Impact
85+
- [ ] No performance impact
86+
- [ ] Performance improved
87+
- [ ] Performance regression (justified and documented)
88+
- [ ] Performance benchmarks run (attach results)
89+
90+
## Security Considerations
91+
- [ ] No security impact
92+
- [ ] Security improvement
93+
- [ ] Potential security implications (documented and reviewed)
94+
- [ ] Input validation added/updated
95+
- [ ] Error handling doesn't leak sensitive information
96+
97+
## Platform Compatibility
98+
Tested on:
99+
- [ ] Linux (Ubuntu/Debian)
100+
- [ ] Linux (CentOS/RHEL)
101+
- [ ] macOS
102+
- [ ] Windows
103+
- [ ] Other: _______________
104+
105+
## Dependencies
106+
- [ ] No new dependencies added
107+
- [ ] New dependencies added (justified and documented)
108+
- [ ] Dependencies updated
109+
- [ ] Dependencies removed
110+
111+
## Deployment Notes
112+
Any special deployment considerations:
113+
- Environment variables
114+
- Configuration file changes
115+
- Database migrations
116+
- Service restarts required
117+
118+
## Screenshots/Examples
119+
If applicable, add screenshots or examples of the changes:
120+
121+
```bash
122+
# Example command
123+
qboot -d disk.img --new-feature
124+
```
125+
126+
## Checklist
127+
- [ ] I have performed a self-review of my code
128+
- [ ] I have commented my code, particularly in hard-to-understand areas
129+
- [ ] I have made corresponding changes to the documentation
130+
- [ ] My changes generate no new warnings
131+
- [ ] I have added tests that prove my fix is effective or that my feature works
132+
- [ ] New and existing unit tests pass locally with my changes
133+
- [ ] Any dependent changes have been merged and published
134+
135+
## Additional Notes
136+
Add any additional notes, concerns, or questions for reviewers:
137+
138+
---
139+
140+
**For Reviewers:**
141+
Please ensure all checklist items are completed before approving.

0 commit comments

Comments
 (0)