Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 136 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
name: Bug Report
description: File a bug report to help us improve
title: "[Bug]: "
labels: ["bug", "triage"]
assignees: []

body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report! Please provide as much detail as possible.

- type: textarea
id: description
attributes:
label: Bug Description
description: A clear and concise description of what the bug is.
placeholder: Describe the bug...
validations:
required: true

- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior
placeholder: |
1. Initialize GPIO pin '...'
2. Call method '...'
3. See error
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What you expected to happen
placeholder: Describe what should happen...
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What actually happened
placeholder: Describe what actually happened...
validations:
required: true

- type: input
id: version
attributes:
label: ApraUtils Version
description: What version of ApraUtils are you using?
placeholder: "e.g., 1.0.0 or commit SHA"
validations:
required: true

- type: dropdown
id: os
attributes:
label: Operating System
description: What OS are you running?
options:
- Ubuntu 22.04
- Ubuntu 20.04
- Debian Bullseye
- Raspberry Pi OS
- Other Linux (specify in additional context)
validations:
required: true

- type: input
id: compiler
attributes:
label: Compiler Version
description: Which C++ compiler and version?
placeholder: "e.g., GCC 11.2, Clang 14.0"
validations:
required: false

- type: input
id: hardware
attributes:
label: Hardware Platform
description: What hardware are you using?
placeholder: "e.g., Raspberry Pi 4, BeagleBone Black, x86_64"
validations:
required: false

- type: textarea
id: code
attributes:
label: Code Sample
description: Minimal code to reproduce the issue
placeholder: |
```cpp
// Your code here
```
render: cpp
validations:
required: false

- type: textarea
id: logs
attributes:
label: Error Messages / Logs
description: Any relevant error messages or logs
placeholder: Paste error output here...
render: shell
validations:
required: false

- type: textarea
id: context
attributes:
label: Additional Context
description: Any other context about the problem
placeholder: Add any other context, screenshots, or information...
validations:
required: false

- type: checkboxes
id: terms
attributes:
label: Checklist
description: Please confirm the following
options:
- label: I have searched existing issues to avoid duplicates
required: true
- label: I have provided all required information
required: true
- label: I am using a supported platform (Linux)
required: true
159 changes: 159 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
name: Feature Request
description: Suggest an idea or enhancement for ApraUtils
title: "[Feature]: "
labels: ["enhancement"]
assignees: []

body:
- type: markdown
attributes:
value: |
Thanks for suggesting a new feature! Your ideas help make ApraUtils better for everyone.

- type: textarea
id: problem
attributes:
label: Problem Statement
description: Is your feature request related to a problem? Please describe.
placeholder: "I'm frustrated when..."
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed Solution
description: Describe the solution you'd like
placeholder: "I would like ApraUtils to..."
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Describe any alternative solutions or features you've considered
placeholder: "Alternative approaches could be..."
validations:
required: false

- type: dropdown
id: category
attributes:
label: Feature Category
description: Which area does this feature relate to?
options:
- GPIO
- I2C
- PWM
- USB Storage
- Threading
- Error Handling
- Documentation
- Build System
- New Hardware Interface
- Other
validations:
required: true

- type: dropdown
id: priority
attributes:
label: Priority
description: How important is this feature to you?
options:
- Critical - Blocking my project
- High - Very important
- Medium - Would be nice to have
- Low - Minor enhancement
validations:
required: true

- type: textarea
id: use-case
attributes:
label: Use Case
description: Describe how you would use this feature
placeholder: |
In my project, I need to...
This feature would allow me to...
validations:
required: true

- type: textarea
id: example
attributes:
label: Example API / Usage
description: If applicable, show how you envision using this feature
placeholder: |
```cpp
// Example usage
apra::NewFeature feature;
feature.doSomething();
```
render: cpp
validations:
required: false

- type: textarea
id: implementation
attributes:
label: Implementation Ideas
description: Do you have ideas about how this could be implemented?
placeholder: "This could be implemented by..."
validations:
required: false

- type: dropdown
id: breaking
attributes:
label: Breaking Change
description: Would this be a breaking change to existing APIs?
options:
- "No - Backward compatible"
- "Yes - Breaking change required"
- "Not sure"
validations:
required: true

- type: textarea
id: similar
attributes:
label: Similar Features in Other Libraries
description: Have you seen similar features in other libraries?
placeholder: "Library X has a similar feature that..."
validations:
required: false

- type: textarea
id: context
attributes:
label: Additional Context
description: Add any other context, diagrams, or screenshots
placeholder: "Additional information..."
validations:
required: false

- type: checkboxes
id: contribution
attributes:
label: Contribution
description: Are you willing to contribute to this feature?
options:
- label: I am willing to submit a pull request for this feature
required: false
- label: I can help with testing this feature
required: false
- label: I can help with documentation for this feature
required: false

- type: checkboxes
id: terms
attributes:
label: Checklist
description: Please confirm the following
options:
- label: I have searched existing issues/PRs to avoid duplicates
required: true
- label: This feature aligns with the project's goals (embedded Linux utilities)
required: true
Loading