Skip to content

Extend CLI with library search and queue management commands #9

@andhijeannot

Description

@andhijeannot

Overview

Extend the CLI with comprehensive library search and queue management commands to provide full Music.app control.

Scope

Add new CLI commands that leverage the library and queue repositories for complete music library interaction.

New Commands Implementation

Search Commands

  • maestro search [query] - Search tracks by title, artist, album
  • maestro search --artist [name] - Search by artist only
  • maestro search --album [name] - Search by album only
  • maestro search --genre [name] - Search by genre
  • maestro browse artists - List all artists
  • maestro browse albums - List all albums
  • maestro browse playlists - List all playlists

Queue Commands

  • maestro queue - Show current queue
  • maestro queue add [track-id] - Add track to queue
  • maestro queue next [track-id] - Play track next
  • maestro queue clear - Clear entire queue
  • maestro queue remove [position] - Remove track at position
  • maestro queue shuffle - Shuffle current queue

Playlist Commands

  • maestro playlist list - List all playlists
  • maestro playlist show [name] - Show playlist contents
  • maestro playlist play [name] - Play entire playlist
  • maestro library stats - Show library statistics

Implementation Requirements

Command Structure

  • Consistent argument parsing and validation
  • JSON output support for all new commands
  • Pagination for large result sets
  • Filtering and sorting options
  • Progress indicators for slow operations

Search Features

  • Fuzzy search support
  • Result ranking and relevance
  • Search result formatting (table, JSON)
  • Search history and suggestions
  • Interactive search mode

Queue Management

  • Queue position display
  • Queue metadata (duration, track count)
  • Queue manipulation with confirmation
  • Queue import/export capabilities
  • Queue persistence

User Experience

  • Clear, consistent command interfaces
  • Helpful error messages and suggestions
  • Progress indicators for long operations
  • Confirmation prompts for destructive operations
  • Rich output formatting

Success Criteria

  • All search commands implemented and functional
  • All queue commands working reliably
  • JSON output available for all commands
  • Performance meets user expectations
  • Error handling comprehensive and user-friendly
  • Help documentation complete
  • Integration tests verify all functionality
  • User workflow testing validates usability

Testing Strategy

  • Unit tests for all new command implementations
  • Integration tests with real Music.app libraries
  • User workflow testing with various library sizes
  • Performance testing with large search results
  • Error scenario testing (empty results, network issues)
  • Usability testing with typical user workflows

Metadata

Metadata

Assignees

No one assigned

    Labels

    cliCLI implementationenhancementNew feature or requestv0.3.0Version 0.3.0 milestone issues

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions