docs: add attribution to official Bose SoundTouch Web API documentation

- Reference original API documentation source from Bose Corporation
- Link to official Bose SoundTouch End-of-Life page
- Clarify this is an independent implementation
- Add disclaimer about non-affiliation with Bose Corporation
- Provide both online and local documentation references
This commit is contained in:
Tobias Gesellchen
2026-01-10 00:34:54 +01:00
parent d95af0a50a
commit ccd19d97a5
48 changed files with 118 additions and 110 deletions
+3 -3
View File
@@ -33,8 +33,8 @@ CACHE_TTL=30s
PREFERRED_DEVICES="Living Room@192.168.1.100:8090;Kitchen@192.168.1.101;192.168.1.102:8091"
# Real example based on your devices:
# PREFERRED_DEVICES="Sound Machinechen@192.168.1.35;My SoundTouch Device@192.168.1.100"
# PREFERRED_DEVICES="Sound Machinechen@192.168.178.35;A Sound Machine@192.168.178.28"
# Alternative format examples:
# PREFERRED_DEVICES="192.168.1.35;192.168.1.100"
# PREFERRED_DEVICES="SoundTouch 10@192.168.1.35;SoundTouch 20@192.168.1.100"
# PREFERRED_DEVICES="192.168.178.35;192.168.178.28"
# PREFERRED_DEVICES="SoundTouch 10@192.168.178.35;SoundTouch 20@192.168.178.28"
+2 -2
View File
@@ -104,7 +104,7 @@ body:
import (
"fmt"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/client"
)
func main() {
@@ -121,7 +121,7 @@ body:
render: shell
placeholder: |
Error: connection refused
at github.com/user_account/bose-soundtouch/pkg/client.(*Client).makeRequest
at github.com/gesellix/bose-soundtouch/pkg/client.(*Client).makeRequest
...
validations:
required: false
+4 -4
View File
@@ -13,9 +13,9 @@ updates:
timezone: "UTC"
open-pull-requests-limit: 5
reviewers:
- "user_account"
- "gesellix"
assignees:
- "user_account"
- "gesellix"
commit-message:
prefix: "deps"
include: "scope"
@@ -48,9 +48,9 @@ updates:
timezone: "UTC"
open-pull-requests-limit: 3
reviewers:
- "user_account"
- "gesellix"
assignees:
- "user_account"
- "gesellix"
commit-message:
prefix: "ci"
include: "scope"
+4 -4
View File
@@ -191,10 +191,10 @@ jobs:
import (
"fmt"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/user_account/bose-soundtouch/pkg/config"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/config"
)
func main() {
+2 -2
View File
@@ -255,7 +255,7 @@ jobs:
## 🚀 Quick Start
\`\`\`bash
go get github.com/user_account/bose-soundtouch@$TAG_NAME
go get github.com/gesellix/bose-soundtouch@$TAG_NAME
\`\`\`
\`\`\`go
@@ -265,7 +265,7 @@ jobs:
"fmt"
"log"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/client"
)
func main() {
+23 -15
View File
@@ -2,6 +2,8 @@
A modern Go library and CLI tool for interacting with Bose SoundTouch devices via their Web API.
> **Note**: This implementation is based on the [official Bose SoundTouch Web API documentation](https://assets.bosecreative.com/m/496577402d128874/original/SoundTouch-Web-API.pdf) provided by Bose Corporation at their [SoundTouch End-of-Life page](https://www.bose.de/de_de/landing_pages/soundtouch-eol.html). This is an independent project and is not affiliated with or endorsed by Bose Corporation.
## Features
### ✅ Implemented (90% Complete - 18/20 endpoints)
@@ -66,12 +68,12 @@ go run ./cmd/websocket-demo -host 192.168.1.10 -filter nowPlaying,volume -verbos
### Using Go
```bash
go install github.com/user_account/bose-soundtouch/cmd/soundtouch-cli@latest
go install github.com/gesellix/bose-soundtouch/cmd/soundtouch-cli@latest
```
### From Source
```bash
git clone https://github.com/user_account/bose-soundtouch.git
git clone https://github.com/gesellix/bose-soundtouch.git
cd bose-soundtouch
make build
```
@@ -362,7 +364,7 @@ import (
"fmt"
"log"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/client"
)
func main() {
@@ -423,8 +425,8 @@ import (
"os/signal"
"syscall"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func main() {
@@ -507,8 +509,8 @@ import (
"log"
"time"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
// Custom logger for WebSocket events
@@ -561,10 +563,10 @@ import (
"log"
"time"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/config"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/config"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func main() {
@@ -732,8 +734,8 @@ import (
"log"
"time"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
)
func main() {
@@ -1033,6 +1035,12 @@ This project is licensed under the MIT License - see the LICENSE file for detail
## References
- [Official Bose SoundTouch Web API Documentation](docs/2025.12.18%20SoundTouch%20Web%20API.pdf)
This project is based on the official Bose SoundTouch Web API documentation provided by Bose Corporation:
- **API Documentation Source**: [SoundTouch Web API PDF](https://assets.bosecreative.com/m/496577402d128874/original/SoundTouch-Web-API.pdf)
- **Official Bose Page**: [SoundTouch End-of-Life Information](https://www.bose.de/de_de/landing_pages/soundtouch-eol.html)
- [Local Copy of API Documentation](docs/2025.12.18%20SoundTouch%20Web%20API.pdf)
- [Project Development Plan](docs/PLAN.md)
- [Development Guidelines](docs/CLAUDE.md)
- [Development Guidelines](docs/CLAUDE.md)
**Note**: This is an independent implementation based on publicly available API documentation. This project is not affiliated with or endorsed by Bose Corporation.
+1 -1
View File
@@ -9,7 +9,7 @@ import (
"os"
"time"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
)
func main() {
+2 -2
View File
@@ -9,8 +9,8 @@ import (
"os"
"time"
"github.com/user_account/bose-soundtouch/pkg/config"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/config"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
)
func main() {
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"strconv"
"time"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
"github.com/urfave/cli/v2"
)
+2 -2
View File
@@ -5,8 +5,8 @@ import (
"fmt"
"time"
"github.com/user_account/bose-soundtouch/pkg/config"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/config"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
"github.com/urfave/cli/v2"
)
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"fmt"
"strings"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
"github.com/urfave/cli/v2"
)
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"fmt"
"time"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
"github.com/urfave/cli/v2"
)
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"net"
"strings"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
"github.com/urfave/cli/v2"
)
+2 -2
View File
@@ -7,8 +7,8 @@ import (
"strings"
"time"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/config"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/config"
"github.com/urfave/cli/v2"
)
+4 -4
View File
@@ -13,10 +13,10 @@ import (
"syscall"
"time"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/config"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/config"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
// parseHostPort splits a host:port string into separate host and port components
+2 -2
View File
@@ -11,8 +11,8 @@ All specific IP addresses, device IDs, device names, and other potentially perso
### IP Addresses
**Original → Anonymized:**
- `192.168.1.35``192.168.1.10`
- `192.168.1.100``192.168.1.10`
- `192.168.178.35``192.168.1.10`
- `192.168.178.28``192.168.1.10`
- `192.168.1.100``192.168.1.10`
- `192.168.1.101``192.168.1.11`
- `192.168.1.102``192.168.1.12`
+2 -2
View File
@@ -32,8 +32,8 @@ import (
"log"
"time"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
)
func discoverAllDevices(timeout time.Duration) ([]*client.Client, error) {
+2 -2
View File
@@ -54,7 +54,7 @@ The Bose SoundTouch Go client provides comprehensive bass control functionality
### Basic Bass Control
```go
import "github.com/user_account/bose-soundtouch/pkg/client"
import "github.com/gesellix/bose-soundtouch/pkg/client"
// Create client
config := client.ClientConfig{
@@ -117,7 +117,7 @@ newBass, err := c.DecreaseBass(1) // Decrease by 1, clamp if needed
### Validation and Limits
```go
import "github.com/user_account/bose-soundtouch/pkg/models"
import "github.com/gesellix/bose-soundtouch/pkg/models"
// Validate bass level before setting
if models.ValidateBassLevel(level) {
+2 -2
View File
@@ -73,8 +73,8 @@ For web components:
When creating test data for API endpoints, prefer real device responses over hypothetical examples:
- **Available test endpoints**:
- `http://192.168.1.100:8090/now_playing` - Different response type 1
- `http://192.168.1.35:8090/now_playing` - Different response type 2
- `http://192.168.178.28:8090/now_playing` - Different response type 1
- `http://192.168.178.35:8090/now_playing` - Different response type 2
- **Usage**: Fetch real responses to create accurate test fixtures
- **Privacy**: Anonymize any personal data (account names, personal playlists, etc.)
- **Coverage**: Use multiple real devices to cover different response variations
+3 -3
View File
@@ -118,8 +118,8 @@ import (
"fmt"
"time"
"github.com/user_account/bose-soundtouch/pkg/config"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/config"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
)
func main() {
@@ -158,7 +158,7 @@ import (
"context"
"time"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
)
func main() {
+5 -5
View File
@@ -23,7 +23,7 @@ go mod init soundtouch-example
### Step 2: Add the SoundTouch Client
```bash
go get github.com/user_account/bose-soundtouch
go get github.com/gesellix/bose-soundtouch
```
### Step 3: Find Your Device
@@ -38,7 +38,7 @@ import (
"log"
"time"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
)
func main() {
@@ -84,8 +84,8 @@ import (
"log"
"time"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
)
func main() {
@@ -313,7 +313,7 @@ import (
"os/signal"
"syscall"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/client"
)
func main() {
+4 -4
View File
@@ -12,7 +12,7 @@ The SoundTouch CLI now supports parsing host and port combinations in the `-host
```bash
# Specify host and port together
soundtouch-cli -host 192.168.1.100:8090 -info
soundtouch-cli -host 192.168.1.35:8090 -play
soundtouch-cli -host 192.168.178.35:8090 -play
soundtouch-cli -host soundtouch.local:8090 -pause
```
@@ -20,7 +20,7 @@ soundtouch-cli -host soundtouch.local:8090 -pause
```bash
# Traditional separate host and port flags
soundtouch-cli -host 192.168.1.100 -port 8090 -info
soundtouch-cli -host 192.168.1.35 -port 8090 -play
soundtouch-cli -host 192.168.178.35 -port 8090 -play
```
### Precedence Rules
@@ -99,8 +99,8 @@ Comprehensive test coverage in `cmd/soundtouch-cli/main_test.go`:
### Integration Tests
Tested with real SoundTouch devices:
- ✅ SoundTouch 10 (192.168.1.100:8090)
- ✅ SoundTouch 20 (192.168.1.35:8090)
- ✅ SoundTouch 10 (192.168.178.28:8090)
- ✅ SoundTouch 20 (192.168.178.35:8090)
## Benefits
+2 -2
View File
@@ -207,8 +207,8 @@ package main
import (
"log"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func main() {
+4 -4
View File
@@ -36,7 +36,7 @@ This document describes the planning for a Golang-based API client for the Bose
### Final Project Structure
```
github.com/user_account/bose-soundtouch/
github.com/gesellix/bose-soundtouch/
├── cmd/
│ ├── cli/ # CLI Tool (Main Application)
│ │ └── main.go
@@ -545,9 +545,9 @@ import (
"log"
"time"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/discovery"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/discovery"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func main() {
+1 -1
View File
@@ -61,7 +61,7 @@ package main
import (
"fmt"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/client"
)
func main() {
+1 -1
View File
@@ -44,7 +44,7 @@ The Bose SoundTouch Go client provides comprehensive source selection functional
### Basic Source Selection
```go
import "github.com/user_account/bose-soundtouch/pkg/client"
import "github.com/gesellix/bose-soundtouch/pkg/client"
// Create client
config := client.ClientConfig{
+2 -2
View File
@@ -226,8 +226,8 @@ package main
import (
"fmt"
"log"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func main() {
+4 -4
View File
@@ -27,8 +27,8 @@ import (
"log"
"time"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func main() {
@@ -551,8 +551,8 @@ wsClient.OnVolumeUpdated(func(event *models.VolumeUpdatedEvent) {
See the generated Go documentation for complete API details:
```bash
go doc github.com/user_account/bose-soundtouch/pkg/client.WebSocketClient
go doc github.com/user_account/bose-soundtouch/pkg/models.WebSocketEvent
go doc github.com/gesellix/bose-soundtouch/pkg/client.WebSocketClient
go doc github.com/gesellix/bose-soundtouch/pkg/models.WebSocketEvent
```
## Testing
+2 -2
View File
@@ -25,8 +25,8 @@ import (
"fmt"
"log"
"github.com/user_account/bose-soundtouch/pkg/client"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/client"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func main() {
+1 -1
View File
@@ -1,4 +1,4 @@
module github.com/user_account/bose-soundtouch
module github.com/gesellix/bose-soundtouch
go 1.25.5
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"net/http/httptest"
"testing"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func TestClient_SetName(t *testing.T) {
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"net/http/httptest"
"testing"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func TestClient_GetBalance(t *testing.T) {
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"testing"
"time"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
// Integration tests for bass control functionality
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"net/http/httptest"
"testing"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func TestClient_GetBass(t *testing.T) {
+1 -1
View File
@@ -9,7 +9,7 @@ import (
"net/http"
"time"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
// defaultSoundTouchPort is the standard port for SoundTouch devices
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"testing"
"time"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
const (
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"testing"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func TestClient_GetClockTime(t *testing.T) {
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"sync"
"time"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
"github.com/gorilla/websocket"
)
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"testing"
"time"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
"github.com/gorilla/websocket"
)
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"testing"
"time"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func TestClient_GetZone(t *testing.T) {
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"strings"
"time"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
// Config holds configuration for the SoundTouch application
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"strings"
"time"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/models"
"github.com/hashicorp/mdns"
)
+2 -2
View File
@@ -6,8 +6,8 @@ import (
"sync"
"time"
"github.com/user_account/bose-soundtouch/pkg/config"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/config"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
// UnifiedDiscoveryService combines SSDP and mDNS discovery methods
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"testing"
"time"
"github.com/user_account/bose-soundtouch/pkg/config"
"github.com/gesellix/bose-soundtouch/pkg/config"
)
func TestNewUnifiedDiscoveryService(t *testing.T) {
+2 -2
View File
@@ -12,8 +12,8 @@ import (
"sync"
"time"
"github.com/user_account/bose-soundtouch/pkg/config"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/config"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
// Service handles UPnP SSDP discovery of SoundTouch devices
+2 -2
View File
@@ -6,8 +6,8 @@ import (
"testing"
"time"
"github.com/user_account/bose-soundtouch/pkg/config"
"github.com/user_account/bose-soundtouch/pkg/models"
"github.com/gesellix/bose-soundtouch/pkg/config"
"github.com/gesellix/bose-soundtouch/pkg/models"
)
func TestNewDiscoveryService(t *testing.T) {
+8 -8
View File
@@ -5,8 +5,8 @@ After successfully releasing v1.0.0, follow this checklist to maximize visibilit
## ✅ Immediate Actions (Within 24 hours)
### Go Package Registry
- [ ] Verify pkg.go.dev indexing: https://pkg.go.dev/github.com/user_account/bose-soundtouch
- [ ] If not indexed, submit via: `go get github.com/user_account/bose-soundtouch@v1.0.0`
- [ ] Verify pkg.go.dev indexing: https://pkg.go.dev/github.com/gesellix/bose-soundtouch
- [ ] If not indexed, submit via: `go get github.com/gesellix/bose-soundtouch@v1.0.0`
- [ ] Check documentation rendering on pkg.go.dev
### Community Engagement
@@ -23,13 +23,13 @@ After successfully releasing v1.0.0, follow this checklist to maximize visibilit
✅ Real-time WebSocket events
✅ 4000+ lines of documentation
✅ CLI tool with cross-platform binaries
Tested on real hardware! https://github.com/user_account/bose-soundtouch"
Tested on real hardware! https://github.com/gesellix/bose-soundtouch"
```
- [ ] **Hacker News** submission:
```
Title: "Bose SoundTouch Go Library Complete API with WebSocket Events"
URL: https://github.com/user_account/bose-soundtouch
URL: https://github.com/gesellix/bose-soundtouch
```
### Social Media
@@ -46,7 +46,7 @@ After successfully releasing v1.0.0, follow this checklist to maximize visibilit
Perfect for home automation & music control apps
#golang #IoT #music #opensource
https://github.com/user_account/bose-soundtouch"
https://github.com/gesellix/bose-soundtouch"
```
- [ ] **LinkedIn** professional post (if applicable)
@@ -72,7 +72,7 @@ After successfully releasing v1.0.0, follow this checklist to maximize visibilit
- [ ] Submit to **awesome-go**: https://github.com/avelino/awesome-go
```
Category: Audio and Music
Entry: [bose-soundtouch](https://github.com/user_account/bose-soundtouch) - Go library for controlling Bose SoundTouch speakers with 100% API coverage and WebSocket events.
Entry: [bose-soundtouch](https://github.com/gesellix/bose-soundtouch) - Go library for controlling Bose SoundTouch speakers with 100% API coverage and WebSocket events.
```
- [ ] Submit to **go-awesome**: https://github.com/shivammg/go-awesome
@@ -103,7 +103,7 @@ After successfully releasing v1.0.0, follow this checklist to maximize visibilit
- [ ] **Helm chart** for Kubernetes deployment
- [ ] **Homebrew formula** for easy CLI installation:
```bash
brew install user_account/tap/soundtouch-cli
brew install gesellix/tap/soundtouch-cli
```
## 📊 Success Metrics to Track
@@ -165,7 +165,7 @@ The project demonstrates several interesting engineering challenges:
Would this be interesting for [blog/podcast]? I'd be happy to discuss the technical details and lessons learned.
GitHub: https://github.com/user_account/bose-soundtouch
GitHub: https://github.com/gesellix/bose-soundtouch
Best regards,
[Your name]
+1 -1
View File
@@ -7,7 +7,7 @@
set -e
VERSION=${1:-"v1.0.0"}
GITHUB_REPO="user_account/bose-soundtouch"
GITHUB_REPO="gesellix/bose-soundtouch"
echo "🚀 Preparing local release build $VERSION for $GITHUB_REPO"
echo "💡 Note: This is for local testing. Use 'git tag && git push --tags' for automated release"