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
+32 -158
View File
@@ -1,171 +1,45 @@
## Description
## Summary
Brief description of the changes in this PR.
What does this PR do, and why?
## Type of Change
## Linked issue
Please check the type of change your PR introduces:
<!-- Use "Refs #123". Reserve "Fixes #123" for a change the maintainer has confirmed
actually resolves the issue (a merged PR is not confirmation on its own). -->
Refs #
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update
- [ ] Performance improvement
- [ ] Code refactoring (no functional changes)
- [ ] Test improvements
- [ ] Build/CI improvements
## Type of change
## Related Issues
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation
- [ ] Refactor / tests / tooling
- Fixes #[issue number]
- Relates to #[issue number]
- Part of #[issue number]
## How was it tested?
## Changes Made
- [ ] `make check` passes (fmt, vet, lint, tests)
- [ ] Tested against a real SoundTouch device (details below)
### API Changes
- [ ] Added new endpoints
- [ ] Modified existing endpoints
- [ ] Added new CLI commands
- [ ] Modified existing CLI commands
- [ ] Added new configuration options
<!-- If you tested on hardware, note the model and what you observed. In any pasted
output, use RFC-5737 documentation IPs (192.0.2.x), never your real LAN IPs. -->
### Implementation Details
- Describe the main changes
- List any new dependencies
- Mention any architectural changes
## Checklist
## Testing
### Automated Tests
- [ ] Unit tests added/updated
- [ ] Integration tests added/updated
- [ ] All existing tests pass
- [ ] Test coverage maintained or improved
### Manual Testing
- [ ] Tested with real SoundTouch device(s)
- [ ] Tested CLI changes manually
- [ ] Tested in different network environments
**Device(s) tested with:**
- Device model: [e.g. SoundTouch 10]
- Device IP: [e.g. 192.0.2.100]
- Test results: [brief description]
### Test Commands
```bash
# Commands used to test this change
make test
go test ./pkg/client -v -run TestNewFeature
soundtouch-cli --host 192.0.2.100 new-command
```
## Documentation
- [ ] Updated relevant documentation
- [ ] Added code comments for complex logic
- [ ] Updated CLI help text
- [ ] Added usage examples
- [ ] Updated API documentation
**Documentation files updated:**
- [ ] README.md
- [ ] docs/API-Endpoints-Overview.md
- [ ] docs/CLI-REFERENCE.md
- [ ] Code documentation (godoc)
## Backward Compatibility
- [ ] This change is backward compatible
- [ ] This change includes breaking changes (requires major version bump)
- [ ] This change requires configuration migration
**Breaking changes (if any):**
- Describe what breaks
- Provide migration instructions
## Security Considerations
- [ ] No security implications
- [ ] Security review required
- [ ] Added input validation
- [ ] Updated authentication/authorization
## Performance Impact
- [ ] No performance impact
- [ ] Performance improvement
- [ ] Potential performance regression (justify why)
**Performance notes:**
- Measured impact: [benchmarks, timing, memory usage]
- Optimization opportunities: [if any]
## Code Quality
- [ ] Code follows project style guidelines
- [ ] No linting errors
- [ ] No security warnings
- [ ] Memory leaks checked (if applicable)
### Pre-submission Checklist
- [ ] `make check` passes (format, lint, vet)
- [ ] `make test` passes
- [ ] No TODO comments left in production code
- [ ] Error handling is comprehensive
- [ ] Logging is appropriate (not too verbose, not too quiet)
## Deployment Notes
Any special considerations for deployment:
- Configuration changes required
- Database migrations needed
- Service restart required
- Rollback procedures
## Screenshots (if applicable)
If this PR includes UI changes or CLI output changes, include screenshots or terminal output examples.
```bash
# Before
$ soundtouch-cli old-command
Old output...
# After
$ soundtouch-cli new-command
New improved output...
```
## Additional Notes
Any additional information that reviewers should know:
- Design decisions and trade-offs
- Future work planned
- Alternative approaches considered
- References to external documentation
## Review Requests
**Areas that need special attention:**
- [ ] Error handling logic
- [ ] Performance critical sections
- [ ] Security implications
- [ ] API design choices
- [ ] Documentation clarity
**Specific questions for reviewers:**
1. Question about design choice X?
2. Is error handling sufficient in section Y?
3. Should we consider alternative approach Z?
- [ ] My changes are focused, and I have read the diff myself
- [ ] No personal data (real LAN IPs, MAC addresses, device IDs, account IDs) in code, tests, or fixtures
- [ ] Docs or CLI help updated if behavior changed
---
**Reviewer Guidelines:**
- Check that all tests pass
- Verify documentation is updated
- Test manually if device access available
- Consider backward compatibility
- Evaluate error handling and edge cases
### A note on AI-assisted contributions
AI and agent-assisted code is welcome, we use it here too. What we cannot accept is
unreviewed "slop": large generated diffs the author has not read, run, or understood.
Keep PRs small and focused, make sure `make check` passes, and be ready to explain your
changes during review.
By contributing, you agree that your work is licensed under the project's
[MIT License](https://github.com/gesellix/Bose-SoundTouch/blob/main/LICENSE) and that you
will follow the
[Code of Conduct](https://github.com/gesellix/Bose-SoundTouch/blob/main/CODE_OF_CONDUCT.md).