docs(github): refresh issue/PR templates and CONTRIBUTING for the AfterTouch toolkit (refs #478)

The templates were written during the Go-library era and no longer match the
project: they asked reporters (mostly speaker owners) for Go versions, library
versions, pkg/client pickers, and minimal repro code, while pointing at dead doc
links. #478 reported one of those dead links (the troubleshooting guide).

Issue templates:
- Fix the dead troubleshooting + API-cookbook links (now the published docs site).
- Delete the legacy .md duplicates of bug_report/feature_request/device_compatibility
  (GitHub was showing them alongside the .yml forms).
- Rewrite bug_report.yml and feature_request.yml around how people actually run
  AfterTouch (service/CLI/player/backup); make them short and easy to file, with
  the encrypted diagnostic export as the headline ask.
- Add device_compatibility.yml (slim) and a config.yml chooser that links
  Discussions, the Survival Guide, and the Troubleshooting Guide. Blank issues stay
  enabled.

Diagnostic-export transparency: instead of claiming the report "contains no
readable secrets", state honestly that the raw datastore XML (e.g. Sources.xml) is
included as-is and can carry access tokens for linked services (Spotify/Amazon),
that there is no datastore-redaction setting, and that users can unlink first or
send privately. Point at the same support email the Health tab shows
(aftertouch-support@gesellix.net) and note GitHub blocks .age uploads (rename to
.age.txt or zip).

PR template: cut the library-era ceremony down to summary/issue/type/testing/
checklist, add an "AI-assisted contributions" note (agent code welcome, unreviewed
slop rejected), a no-personal-data reminder, and an MIT + Code of Conduct footer.

CONTRIBUTING.md: reframe from "Bose SoundTouch API Client / Go library" to the
AfterTouch toolkit; fix build paths (./build/) and make targets; drop broken
references; point at CLAUDE.md; add the AI stance and the no-personal-data rule.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Tobias Gesellchen
2026-06-08 20:48:53 +02:00
co-authored by Claude Opus 4.8
parent 2dada5a61a
commit ae67e1e8ad
9 changed files with 354 additions and 1188 deletions
-77
View File
@@ -1,77 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: 'bug'
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Environment (please complete the following information):**
- OS: [e.g. macOS 14.0, Windows 11, Ubuntu 22.04]
- Go version: [e.g. 1.25.5]
- Library version: [e.g. v1.0.0, commit hash if using main branch]
- SoundTouch device model: [e.g. SoundTouch 10, SoundTouch 20]
- Device firmware version: [if known]
**Command/Code that failed**
```bash
# If using CLI tool, provide the exact command
soundtouch-cli --host 192.0.2.100 info get
# If using Go library, provide minimal code example
```
**Error output**
```
Paste the complete error message here, including stack traces if available
```
**Device Information (if applicable)**
```xml
<!-- If the issue is device-specific, include output from: -->
<!-- soundtouch-cli --host YOUR_DEVICE_IP info get -->
```
**Network Configuration**
- Network setup: [e.g. home WiFi, corporate network, VPN]
- Firewall/proxy: [any network restrictions]
- Device connectivity: [how device connects to network - WiFi, Ethernet]
**Additional context**
Add any other context about the problem here. For example:
- Does this happen consistently or intermittently?
- Did this work in a previous version?
- Are there any workarounds?
- Any relevant log files or debug output
**Logs (if applicable)**
```
# Enable verbose logging with --verbose flag or debug environment variable
# and paste relevant log output here
```
**Screenshots**
If applicable, add screenshots to help explain your problem.
---
**Checklist**
- [ ] I have searched existing issues to avoid duplicates
- [ ] I have tested with the latest version
- [ ] I have included all relevant environment information
- [ ] I have provided a minimal reproduction case
- [ ] I have included complete error messages
+70 -153
View File
@@ -1,201 +1,118 @@
name: Bug Report
description: File a bug report to help us improve the library
description: Something in AfterTouch isn't working the way it should
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 to help us diagnose and fix the issue.
Thanks for helping improve **AfterTouch**! 🙏
- type: input
id: version
attributes:
label: Library Version
description: What version of the library are you using?
placeholder: "v1.0.0"
validations:
required: true
AfterTouch is a community-built toolkit that keeps Bose SoundTouch speakers
working after the Bose cloud shutdown. We both give and ask for support here,
so don't worry about getting every field perfect.
- type: dropdown
id: go-version
attributes:
label: Go Version
description: What version of Go are you using?
options:
- "1.25.5+"
- "1.25"
- "1.24"
- "1.23"
- "Other (please specify in description)"
validations:
required: true
- type: dropdown
id: operating-system
attributes:
label: Operating System
description: What operating system are you running on?
options:
- "Linux"
- "macOS"
- "Windows"
- "FreeBSD"
- "Other (please specify in description)"
validations:
required: true
- type: input
id: device-model
attributes:
label: Bose Device Model
description: What Bose SoundTouch device are you trying to control?
placeholder: "SoundTouch 10, SoundTouch 20, etc."
validations:
required: true
- type: input
id: device-firmware
attributes:
label: Device Firmware Version
description: What firmware version is your device running? (Check in Bose app or via /info endpoint)
placeholder: "4.8.1.4567.891234567"
A quick look at the
[Troubleshooting Guide](https://gesellix.github.io/Bose-SoundTouch/docs/guides/TROUBLESHOOTING/)
often saves time. For "how do I...?" questions, please use
[Discussions](https://github.com/gesellix/Bose-SoundTouch/discussions) instead.
- type: textarea
id: description
attributes:
label: Bug Description
description: A clear and concise description of what the bug is.
placeholder: "Describe what happened and what you expected to happen..."
label: What happened?
description: What went wrong, and what did you expect to happen instead?
placeholder: "When I play a radio station from the player UI, the speaker shows an orange light and nothing plays. I expected it to start playing."
validations:
required: true
- type: textarea
id: reproduction-steps
id: steps
attributes:
label: Steps to Reproduce
description: Steps to reproduce the behavior
label: Steps to reproduce
description: How can we trigger it? Rough steps are fine.
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
1. Open the player UI
2. Search for a station
3. Press play
4. ...
validations:
required: true
required: false
- type: textarea
id: expected-behavior
id: diagnostic
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen.
placeholder: "What should have happened instead?"
label: Diagnostic report (the most helpful thing you can attach)
description: |
In the AfterTouch **admin UI**, open the **Health tab** and click
**Download diagnostic report**. It is by far the best way to help us
diagnose a bug. GitHub blocks `.age` uploads, so rename the file to
`.age.txt` (or zip it) before dragging it into this box. You can also email
it instead: aftertouch-support@gesellix.net.
The file is **encrypted** to the maintainer's key, so only the maintainer
can open it. The structured summary has credentials redacted, but the raw
datastore files (for example `Sources.xml`) are included as-is and can
contain the access tokens your speaker uses for linked services like
Spotify or Amazon. If that is a concern, unlink those services before
exporting, or email the report privately instead.
placeholder: "Attach the aftertouch-diagnostic-*.age.txt (or .zip) file here."
validations:
required: true
required: false
- type: textarea
id: code-sample
- type: input
id: device
attributes:
label: Code Sample
description: Please provide a minimal code sample that reproduces the issue
render: go
placeholder: |
package main
label: Speaker model & firmware
description: Which speaker, and (if you know it) the firmware version.
placeholder: "SoundTouch 10, firmware 27.0.6"
validations:
required: false
import (
"fmt"
"github.com/gesellix/bose-soundtouch/pkg/client"
)
- type: dropdown
id: how-run
attributes:
label: How are you running AfterTouch?
options:
- "Docker / docker compose"
- "Prebuilt binary"
- "Built from source"
- "Not sure"
validations:
required: false
func main() {
// Your code that demonstrates the issue
}
- type: input
id: version
attributes:
label: AfterTouch version
description: Shown in the admin UI footer, or via the binary's `--version`.
placeholder: "v0.111.2"
validations:
required: false
- type: textarea
id: logs
attributes:
label: Error Messages / Logs
description: Please include any relevant error messages, stack traces, or log output
label: Logs / error messages
description: Any relevant output from the service, CLI, or browser console. Please mask real LAN IPs if you can.
render: shell
placeholder: |
Error: connection refused
at github.com/gesellix/bose-soundtouch/pkg/client.(*Client).makeRequest
...
validations:
required: false
- type: dropdown
id: component
attributes:
label: Component
description: Which component is affected?
multiple: true
options:
- "Client Library (pkg/client)"
- "WebSocket Events"
- "Device Discovery"
- "CLI Tool"
- "Models/XML Parsing"
- "Documentation"
- "Examples"
- "Build/Release"
validations:
required: false
- type: dropdown
id: severity
attributes:
label: Severity
description: How severe is this bug?
options:
- "Low - Minor inconvenience"
- "Medium - Affects functionality but workaround exists"
- "High - Blocks major functionality"
- "Critical - Application crashes or data loss"
validations:
required: true
- type: textarea
id: network-info
attributes:
label: Network Configuration
description: Details about your network setup (if relevant to the issue)
placeholder: |
- Device IP: 192.0.2.100
- Network type: WiFi/Ethernet
- Router model:
- Any firewalls or network restrictions:
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: Additional Context
description: Add any other context about the problem here
placeholder: "Screenshots, network traces, related issues, etc."
validations:
required: false
- type: checkboxes
id: troubleshooting
id: checklist
attributes:
label: Troubleshooting Steps
description: Have you tried these troubleshooting steps?
label: Before you submit
options:
- label: "I have checked the [Troubleshooting Guide](docs/TROUBLESHOOTING.md)"
- label: "I have verified my device is reachable (ping test)"
- label: "I have tested with the CLI tool"
- label: "I have checked for similar existing issues"
- label: "I am using the latest version of the library"
- label: "I checked the [Troubleshooting Guide](https://gesellix.github.io/Bose-SoundTouch/docs/guides/TROUBLESHOOTING/)"
- label: "I searched [existing issues](https://github.com/gesellix/Bose-SoundTouch/issues) for a duplicate"
- label: "I'm on a recent AfterTouch version"
- type: checkboxes
id: terms
id: coc
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our Code of Conduct
description: This project follows a [Code of Conduct](https://github.com/gesellix/Bose-SoundTouch/blob/main/CODE_OF_CONDUCT.md).
options:
- label: "I agree to follow this project's Code of Conduct"
required: true
+12
View File
@@ -0,0 +1,12 @@
# Free-form blank issues stay enabled for anything that doesn't fit a template.
blank_issues_enabled: true
contact_links:
- name: 💬 Questions & Support (Discussions)
url: https://github.com/gesellix/Bose-SoundTouch/discussions
about: "\"How do I...?\", setup help, and general support. AfterTouch is a community effort: ask here, and help others when you can."
- name: 🚑 Survival Guide
url: https://gesellix.github.io/Bose-SoundTouch/docs/guides/SURVIVAL-GUIDE/
about: "Getting your speakers working again after the Bose cloud shutdown. Start here."
- name: 🔧 Troubleshooting Guide
url: https://gesellix.github.io/Bose-SoundTouch/docs/guides/TROUBLESHOOTING/
about: "Common problems and their fixes. Please check this before filing a bug."
@@ -1,113 +0,0 @@
---
name: Device compatibility report
about: Report compatibility with a new SoundTouch device model
title: 'Device Compatibility: [Device Model]'
labels: 'compatibility, documentation'
assignees: ''
---
**Device Information**
- **Model**: [e.g. SoundTouch 30, Wave SoundTouch IV, SoundTouch Portable]
- **Model Number**: [e.g. 738102-2100, found on device label]
- **Firmware Version**: [if known, from device settings or API response]
- **Purchase Date**: [approximate, helps identify firmware generation]
**Testing Results**
### Basic Functionality
- [ ] Device discovery (UPnP/mDNS)
- [ ] Basic device info (`GET /info`)
- [ ] Now playing status (`GET /now_playing`)
- [ ] Media controls (play/pause/stop)
- [ ] Volume control
- [ ] Source listing (`GET /sources`)
### Advanced Features
- [ ] Bass control (`GET/POST /bass`)
- [ ] Balance control (`GET/POST /balance`) - if stereo device
- [ ] Clock/time management (`GET/POST /clockTime`)
- [ ] Network information (`GET /networkInfo`)
- [ ] WebSocket events
- [ ] Multiroom zones (master)
- [ ] Multiroom zones (slave)
### Advanced Audio Controls (Professional/High-end Models)
- [ ] DSP controls (`GET/POST /audiodspcontrols`)
- [ ] Tone controls (`GET/POST /audioproducttonecontrols`)
- [ ] Level controls (`GET/POST /audioproductlevelcontrols`)
### Known Issues
List any features that don't work or behave unexpectedly:
- Feature name: Description of issue
- Command that fails: `soundtouch-cli command that doesn't work`
**Device Info Output**
```xml
<!-- Paste output from: soundtouch-cli --host YOUR_DEVICE_IP info get -->
<!-- This helps us understand device capabilities and variants -->
```
**Device Capabilities Output**
```xml
<!-- Paste output from: soundtouch-cli --host YOUR_DEVICE_IP capabilities -->
<!-- This shows what features the device reports as available -->
```
**Bass Capabilities (if supported)**
```xml
<!-- Paste output from: soundtouch-cli --host YOUR_DEVICE_IP bass capabilities -->
<!-- Only if the device supports bass control -->
```
**Available Sources**
```xml
<!-- Paste output from: soundtouch-cli --host YOUR_DEVICE_IP source list -->
<!-- Shows what audio sources this device supports -->
```
**Testing Commands Used**
```bash
# List the specific commands you used for testing
soundtouch-cli --host 192.0.2.100 info get
soundtouch-cli --host 192.0.2.100 play start
# ... etc
```
**Environment**
- **OS**: [e.g. macOS 14.0, Windows 11, Ubuntu 22.04]
- **Go version**: [e.g. 1.25.5]
- **Library version**: [e.g. v1.0.0, commit hash]
- **Network setup**: [home WiFi, corporate, etc.]
**Performance Notes**
- Response times: [normal, slow, timeouts]
- Specific timeouts: [any endpoints that timeout]
- WebSocket stability: [connects reliably, frequent disconnects, etc.]
**Comparison with Tested Models**
If you have experience with other SoundTouch models:
- **Similar to**: [e.g. works like SoundTouch 20]
- **Differences from**: [e.g. missing balance control compared to SoundTouch 30]
**Additional Notes**
Any other observations about device behavior, quirks, or special considerations:
- Does the device have unique features not seen in other models?
- Are there any setup requirements or configuration notes?
- Does it work differently in different network environments?
**Documentation Impact**
- [ ] Update supported devices list
- [ ] Add device-specific notes to documentation
- [ ] Update compatibility matrix
- [ ] Add to integration test suite
---
**Checklist**
- [ ] I have tested basic functionality (info, play, volume)
- [ ] I have tested advanced features available on this device
- [ ] I have provided complete device information output
- [ ] I have noted any issues or limitations
- [ ] I have tested in a typical network environment
- [ ] I understand this helps improve compatibility for all users
@@ -0,0 +1,74 @@
name: Device Compatibility Report
description: Tell us how AfterTouch works (or doesn't) with your SoundTouch model
title: "[Compatibility]: "
labels: ["compatibility", "documentation"]
body:
- type: markdown
attributes:
value: |
Thanks for helping map out which speakers AfterTouch supports! 📋
Reports like yours help everyone with the same model, and feed our
compatibility notes in the docs.
- type: input
id: model
attributes:
label: Speaker model
placeholder: "SoundTouch 20, Wave SoundTouch IV, SoundTouch Portable, ..."
validations:
required: true
- type: input
id: firmware
attributes:
label: Firmware version
description: From the admin UI, the Bose app, or the device's `/info`.
placeholder: "27.0.6"
validations:
required: false
- type: textarea
id: works
attributes:
label: What works?
placeholder: |
- Discovery
- Playback and presets
- Stereo pair / multiroom
- Migration off the Bose cloud
validations:
required: false
- type: textarea
id: broken
attributes:
label: What doesn't work?
placeholder: "Anything that failed or behaved unexpectedly on this model."
validations:
required: false
- type: textarea
id: diagnostic
attributes:
label: Diagnostic report
description: |
Optional, but very helpful. In the AfterTouch **admin UI**, open the
**Health tab** and click **Download diagnostic report**. GitHub blocks
`.age` uploads, so rename the file to `.age.txt` (or zip it) before
attaching, or email it to aftertouch-support@gesellix.net. It is encrypted
to the maintainer's key. The raw datastore files inside are included as-is,
so if you have linked services like Spotify or Amazon, unlink them first or
send the file privately.
placeholder: "Attach the aftertouch-diagnostic-*.age.txt (or .zip) file here."
validations:
required: false
- type: checkboxes
id: coc
attributes:
label: Code of Conduct
description: This project follows a [Code of Conduct](https://github.com/gesellix/Bose-SoundTouch/blob/main/CODE_OF_CONDUCT.md).
options:
- label: "I agree to follow this project's Code of Conduct"
required: true
-77
View File
@@ -1,77 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: 'enhancement'
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Use case**
Describe your specific use case and how this feature would benefit you and other users.
**SoundTouch API Support**
- [ ] This feature is supported by the official SoundTouch API
- [ ] This feature is NOT supported by the SoundTouch API (custom enhancement)
- [ ] I'm not sure if this is supported by the SoundTouch API
**API Documentation Reference (if applicable)**
If this feature is based on a SoundTouch API endpoint, please provide:
- Endpoint URL: [e.g. GET /newendpoint]
- Documentation reference: [page number or section in official API docs]
- XML request/response examples: [if known]
**Implementation Details (optional)**
If you have ideas about how this could be implemented:
- Suggested package/module: [e.g. pkg/client, cmd/soundtouch-cli]
- Method signatures: [if you have suggestions]
- CLI commands: [if this affects the CLI tool]
**Device Compatibility**
- SoundTouch models this applies to: [e.g. all models, SoundTouch 20+, specific models]
- Have you tested this manually: [e.g. via curl, Postman, etc.]
**Examples**
Provide examples of how you would like to use this feature:
```go
// Go library example
client.NewFeature(parameters)
```
```bash
# CLI example
soundtouch-cli --host 192.0.2.100 new-feature --param value
```
**Priority**
- [ ] Critical - blocks important functionality
- [ ] High - would significantly improve user experience
- [ ] Medium - nice to have enhancement
- [ ] Low - minor improvement
**Additional context**
Add any other context, screenshots, or examples about the feature request here.
**Related Issues**
- Related to #[issue number]
- Depends on #[issue number]
- Blocks #[issue number]
---
**Checklist**
- [ ] I have searched existing issues to avoid duplicates
- [ ] I have checked the documentation to ensure this feature doesn't already exist
- [ ] I have provided a clear use case and rationale
- [ ] I have considered the impact on existing functionality
- [ ] I understand this may require SoundTouch API support to implement
+37 -168
View File
@@ -1,205 +1,74 @@
name: Feature Request
description: Suggest an idea or enhancement for this project
description: Suggest an idea or improvement for AfterTouch
title: "[Feature]: "
labels: ["enhancement", "triage"]
assignees: []
body:
- type: markdown
attributes:
value: |
Thanks for suggesting a new feature! Please provide as much detail as possible to help us understand your request and its potential impact.
Thanks for the idea! 💡
- type: input
id: version
attributes:
label: Library Version
description: What version of the library are you currently using?
placeholder: "v1.0.0"
validations:
required: true
AfterTouch is a community-built toolkit for keeping Bose SoundTouch speakers
alive. For open-ended "would it be possible...?" brainstorming,
[Discussions](https://github.com/gesellix/Bose-SoundTouch/discussions) is often
a better fit. Use this form when you have a concrete improvement in mind.
- type: textarea
id: problem
attributes:
label: Problem Description
description: Is your feature request related to a problem? Please describe what you're trying to accomplish.
placeholder: "I'm always frustrated when... / I need to be able to... / Currently it's not possible to..."
label: What problem would this solve?
placeholder: "I can't ... / It's hard to ... / Currently there's no way to ..."
validations:
required: true
- type: textarea
id: solution
id: idea
attributes:
label: Proposed Solution
description: Describe the solution you'd like to see implemented.
placeholder: "I would like to see... / A new function that... / An option to..."
label: What would you like to see?
placeholder: "Describe the feature or improvement you have in mind."
validations:
required: true
- type: dropdown
id: area
attributes:
label: Which part of AfterTouch?
multiple: true
options:
- "soundtouch-service (local cloud)"
- "soundtouch-cli"
- "soundtouch-player (web UI)"
- "soundtouch-backup"
- "Go library (pkg/*)"
- "Documentation"
- "Not sure"
validations:
required: false
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Describe any alternative solutions or features you've considered.
placeholder: "I considered... / Another approach could be... / Workaround I'm currently using..."
validations:
required: false
- type: dropdown
id: component
attributes:
label: Component
description: Which component would this feature affect?
multiple: true
options:
- "Client Library (pkg/client)"
- "WebSocket Events"
- "Device Discovery"
- "CLI Tool"
- "Models/XML Parsing"
- "Documentation"
- "Examples"
- "New API Endpoint"
- "Performance Optimization"
- "Developer Experience"
validations:
required: true
- type: dropdown
id: device-compatibility
attributes:
label: Device Compatibility
description: Which Bose SoundTouch devices should this feature support?
multiple: true
options:
- "All SoundTouch devices"
- "SoundTouch 10"
- "SoundTouch 20"
- "SoundTouch 30"
- "SoundTouch Portable"
- "SoundTouch Wave"
- "Other (specify in description)"
validations:
required: false
- type: dropdown
id: priority
attributes:
label: Priority
description: How important is this feature to you?
options:
- "Low - Nice to have"
- "Medium - Would improve my workflow"
- "High - Important for my use case"
- "Critical - Blocking my project"
validations:
required: true
- type: dropdown
id: api-type
attributes:
label: API Type (if applicable)
description: What type of API enhancement is this?
options:
- "Not applicable"
- "New Bose SoundTouch endpoint"
- "Enhancement to existing endpoint"
- "Client library improvement"
- "WebSocket event enhancement"
- "Discovery enhancement"
- "CLI command addition"
validations:
required: false
- type: textarea
id: use-case
attributes:
label: Use Case / User Story
description: Describe your specific use case or user story
placeholder: |
As a [type of user], I want to [goal] so that [benefit].
Example: As a home automation developer, I want to create custom zones so that I can group speakers dynamically based on user preferences.
validations:
required: true
- type: textarea
id: example-api
attributes:
label: Desired API Example
description: Show how you'd like the API to work (if applicable)
render: go
placeholder: |
// Example of how you envision using this feature
client := soundtouch.New("192.0.2.100", 8090)
// Your desired API call
result, err := client.NewFeature(options)
if err != nil {
// handle error
}
// Use the result
fmt.Println(result)
validations:
required: false
- type: textarea
id: technical-details
attributes:
label: Technical Details
description: Any technical considerations, constraints, or implementation ideas?
placeholder: |
- Should this be backward compatible?
- Any performance considerations?
- Integration with existing features?
- External dependencies needed?
label: Alternatives or workarounds
description: Anything you've already tried or considered. Links and references are welcome.
placeholder: "See the API Cookbook (https://gesellix.github.io/Bose-SoundTouch/docs/reference/API-COOKBOOK/) ..."
validations:
required: false
- type: checkboxes
id: implementation
id: help
attributes:
label: Implementation
description: Are you willing to help implement this feature?
label: Can you help?
description: Completely optional. Community contributions are very welcome.
options:
- label: "I can help implement this feature"
- label: "I can provide testing/feedback"
- label: "I can help implement this"
- label: "I can help test it"
- label: "I can help with documentation"
- label: "I need someone else to implement this"
- type: textarea
id: research
attributes:
label: Research & References
description: Have you found any relevant resources, similar implementations, or Bose documentation?
placeholder: |
- Links to relevant documentation
- Similar features in other libraries
- Bose SoundTouch API references
- Related GitHub issues or discussions
validations:
required: false
- type: checkboxes
id: checklist
attributes:
label: Checklist
description: Please confirm the following
options:
- label: "I have searched for existing issues and feature requests"
required: true
- label: "I have checked the [API Cookbook](docs/API-COOKBOOK.md) for existing functionality"
required: true
- label: "This feature is related to Bose SoundTouch functionality"
required: true
- label: "I have considered backward compatibility"
- type: checkboxes
id: terms
id: coc
attributes:
label: Code of Conduct
description: By submitting this feature request, you agree to follow our Code of Conduct
description: This project follows a [Code of Conduct](https://github.com/gesellix/Bose-SoundTouch/blob/main/CODE_OF_CONDUCT.md).
options:
- label: "I agree to follow this project's Code of Conduct"
required: true