Skip to content

feat: user configuration system with CLI flags #41

@HerbHall

Description

@HerbHall

Description

Expand the settings system to support persistent user configuration with CLI flag overrides. The config file (JSON or TOML) stores preferences; CLI flags override them per-session.

Configuration Options

  • Menu mode: flat list (default) vs category drill-down
  • Disabled games: list of games to hide from the menu (favorites/shortlist mode)
  • Transition effects: on/off toggle, effect selection, random mode
  • Digital rain timer: transition duration/speed
  • Color theme: effect color (green default), preset colors, random color mode
  • Color palette: which colors are included in random rotation

CLI Flags

cli-play --menu=flat|categories
cli-play --no-transitions
cli-play --color=green|cyan|gold|random
cli-play --disable=snake,tetris

Implementation Notes

  • Build on existing internal/settings package
  • Config file at ~/.config/cli-play/config.json (or XDG standard)
  • CLI flags via pflag or stdlib flag
  • Settings UI (existing) should expose all options
  • Validate that disabled games don't break menu indices

Dependencies

None -- this is a foundational feature that other issues depend on.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestplanNeeds design/planning before coding

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions