Skip to content

ashish0kumar/mufetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mufetch

Neofetch-style CLI for music

Featured on

Terminal Trove logo


Features

  • Beautiful terminal display with album cover art and artist photos
  • Comprehensive metadata including tracks, albums, and artist information
  • Interactive clickable links for Spotify URLs and cover art
  • Responsive sizing via customizable image dimensions
  • Cross-platform support, works in all modern terminals

Supported Content Types

Type Metadata Displayed
Tracks Name, Artist, Album, Duration, Track Number, Explicit, Release Date, Popularity, Genres
Albums Name, Artist, Type, Release Date, Track Count, Duration, Popularity, Genres, Label, Top Tracks
Artists Name, Followers, Popularity, Genres, Albums & Singles Count, Top Tracks

Installation

Nix

nix run nixpkgs#mufetch

Via go install

go install github.com/ashish0kumar/mufetch@latest

Build from Source

git clone https://github.com/ashish0kumar/mufetch.git
cd mufetch/
go build
sudo mv mufetch /usr/local/bin/
mufetch --help

Enhanced Image Quality

For the best image rendering quality, install chafa:

# Ubuntu/Debian
sudo apt install chafa

# macOS
brew install chafa

# Arch Linux
sudo pacman -S chafa

# Fedora/RHEL
sudo dnf install chafa

# Nix
nix-env -iA nixpkgs.chafa

Note

mufetch works without chafa using colorized Unicode blocks, but chafa provides significantly better image quality with enhanced detail.

Setup

1. Get Spotify API Credentials

  1. Go to Spotify Developer Dashboard
  2. Log in with your Spotify account
  3. Click "Create an App"
  4. Fill in app name and description
  5. Copy your Client ID and Client Secret

2. Configure mufetch

Run the authentication setup

mufetch auth

Enter your Spotify Client ID: your_client_id_here
Enter your Spotify Client Secret: your_client_secret_here

Usage

Basic Commands

Auto-detect and search for music

mufetch search "Bohemian Rhapsody"
mufetch search "Smells Like Teen Spirit"
mufetch search "Let It Happen"

Search specific content types

mufetch search "Hotel California" --type track
mufetch search "Pink Floyd" --type artist
mufetch search "Ok Computer" --type album

Customize image size (20-50)

mufetch search "All I Need" --size 25
mufetch search "Holland, 1945" -s 40

Search Types

  • track - Search for specific songs
  • album - Search for albums or EPs
  • artist - Search for musicians and bands

Image Sizing

  • Default: 20x20 pixels
  • Range: 20-50 pixels

Configuration

mufetch stores configuration in ~/.config/mufetch/config.yaml:

spotify_client_id: "your_client_id"
spotify_client_secret: "your_client_secret"

Environment Variables

You can also set credentials via environment variables:

export MUFETCH_SPOTIFY_CLIENT_ID="your_client_id"
export MUFETCH_SPOTIFY_CLIENT_SECRET="your_client_secret"

Contributing

Contributions are always welcome! Whether you want to:

  • Report bugs or issues
  • Suggest new features
  • Improve the visual design
  • Enhance documentation
  • Submit code improvements

Please feel free to open an issue or submit a pull request.

Dependencies

  • Cobra - CLI framework and command structure
  • Viper - Configuration management
  • Imaging - Image processing and resizing

Acknowledgments

  • Inspired by neofetch for system information display
  • Thanks to Spotify Web API for music metadata
  • Unicode block art technique inspired by various terminal image viewers

© 2025-present Ashish Kumar

LICENSE  

About

🎶 Neofetch-style CLI for music

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Languages