mirror of
https://github.com/gesellix/Bose-SoundTouch.git
synced 2026-08-18 08:36:13 +00:00
- Refactored soundtouch-cli from monolithic main.go to modular command structure - Added urfave/cli/v2 dependency for better CLI organization - Created separate command files for all SoundTouch features: * cmd_discover.go - Device discovery commands * cmd_info.go - Device information commands * cmd_volume.go - Volume control commands * cmd_playback.go - Playback control commands * cmd_source.go - Source selection commands * cmd_bass.go - Bass control commands (NEW) * cmd_balance.go - Balance control commands (NEW) * cmd_clock.go - Clock/time management commands (NEW) * cmd_network.go - Network information commands (NEW) * cmd_zone.go - Multi-room zone management commands (NEW) * common.go - Shared utilities and client setup - Fixed flag conflicts by using --verbose instead of -v and removing -h alias from --host - Implemented comprehensive CLI with organized subcommands and consistent UX - Added proper help documentation and parameter validation - Reduced golangci-lint issues by 70% (108+ → 32) - Added package comments to new command files Breaking changes: - CLI now uses subcommands instead of flat flags - Old: soundtouch-cli -host 192.168.1.100 -volume - New: soundtouch-cli volume get --host 192.168.1.100 Examples: - soundtouch-cli discover devices --all - soundtouch-cli volume set --host 192.168.1.100 --level 50 - soundtouch-cli bass get --host 192.168.1.100 - soundtouch-cli clock set --host 192.168.1.100 --time '14:30' - soundtouch-cli zone create --host 192.168.1.100 --members 192.168.1.101,192.168.1.102