{"id":22335253,"url":"https://github.com/elaye/mushu","last_synced_at":"2025-07-29T21:31:50.476Z","repository":{"id":56847722,"uuid":"77473583","full_name":"elaye/mushu","owner":"elaye","description":"Mushu is a minimalist MPD client with a TUI and an incremental fuzzy finder for your music library","archived":false,"fork":false,"pushed_at":"2018-08-26T16:10:15.000Z","size":298,"stargazers_count":38,"open_issues_count":4,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-09T13:40:48.555Z","etag":null,"topics":["mpd","mpd-client","ncurses","tui"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elaye.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-27T18:00:16.000Z","updated_at":"2024-08-03T17:57:57.000Z","dependencies_parsed_at":"2022-09-09T09:11:24.080Z","dependency_job_id":null,"html_url":"https://github.com/elaye/mushu","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elaye%2Fmushu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elaye%2Fmushu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elaye%2Fmushu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elaye%2Fmushu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elaye","download_url":"https://codeload.github.com/elaye/mushu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228046862,"owners_count":17861109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mpd","mpd-client","ncurses","tui"],"created_at":"2024-12-04T05:12:30.255Z","updated_at":"2024-12-04T05:12:30.854Z","avatar_url":"https://github.com/elaye.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Mushu [![Build Status](https://travis-ci.org/elaye/mushu.svg?branch=master)](https://travis-ci.org/elaye/mushu)\n=====\n\nMushu is a minimalist MPD client with a Text User Interface (TUI) focused on ease of use.\nIts main feature is an incremental fuzzy finder for the music library.\nThe interface is largely inspired by [ncmpcpp](https://github.com/arybczak/ncmpcpp).\n\n![Screenshot](screenshot.png?raw=true \"Mushu screenshot\")\n\nThis client was made to fit my needs so it may not fit yours.\nA lot of MPD features are not implemented.\n\nDependencies\n--------------\n\n`libncurses5-dev`\n\nInstall\n-------\n\nMushu is available on stack.\n\n  `stack install mushu`\n\nIf you don't have `stack` please install it following instructions [here](https://docs.haskellstack.org/en/stable/README/).\n\nWhy another MPD client?\n-----------------------\n\nI used [ncmpcpp](https://github.com/arybczak/ncmpcpp) for quite some time and realised that I was always doing the same thing with it: search for music -\u003e add to playlist and play.\nI was not entirely satisfied with the search in ncmpcpp so I decided to make my own.\nAlso, ncmpcpp as way too many features that I don't use.\n\nThe aim is to keep the number of features to a minimum without being unusable.\n\nI also wanted to develop a real world haskell project and this seemed like a good opportunity.\n\nTODO\n----\n\n - [ ] Add config file (mainly to be able to choose a different server than `localhost:6600` for MPD)\n - [ ] Add MPD error handling and show error in a notification widget\n - [ ] Add MPD playback modes handling\n - UI\n   - [ ] Improve help screen\n   - [ ] Add top / bottom list keybindings (`G` and `g`)\n   - [ ] Add delete from playlist keybinding (`d` or `x`?)\n - [ ] Fix all the bugs and refactor!\n\nContributing\n------------\n\nContributions are very welcome. However please open an issue before developing anything too big so we can discuss it, I'd hate to have wasted your time if the Pull Request you made can't be merged.\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) before contributing.\nIf you want an overview of the app, check out [DEVELOPER.md](DEVELOPER.md).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felaye%2Fmushu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felaye%2Fmushu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felaye%2Fmushu/lists"}