git404hub

what is jam.nvim fr?

bautistaaa/jam.nvim — explained in plain English

Analysis updated 2026-05-18

14LuaAudience · developerComplexity · 2/5Setup · moderate

tl;dr

A Neovim plugin that lets you search Spotify and control music playback (play, pause, skip, queue) from a Telescope search picker.

vibe map

mindmap
  root((jam.nvim))
    What it does
      Search Spotify
      Control playback
      Preview album art
    Tech stack
      Lua
      Telescope
      OAuth PKCE
    Use cases
      Play music while coding
      Browse playlists
      Queue tracks
    Audience
      Neovim users
      Spotify Premium users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Search for songs, albums, artists, playlists, podcasts, and episodes on Spotify without leaving Neovim.

VIBE 2

Control Spotify playback with play, pause, skip, and queue commands using keyboard shortcuts.

VIBE 3

Preview album artwork inside the terminal using image.nvim or chafa while browsing music.

what's the stack?

LuaNeovimTelescopeSpotify API

how it stacks up fr

bautistaaa/jam.nvimcachebag/jumpy.nvimiilw/nui-diagnostic.nvim
Stars141414
LanguageLuaLuaLua
Setup difficultymoderateeasyeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Requires a Spotify Premium account and a client ID from the Spotify Developer Dashboard.

in plain english

jam.nvim is a plugin for Neovim, the text editor, that lets you search Spotify and control music playback without leaving your editor. It adds a search picker built on Telescope, a popular Neovim search interface, so you can look up songs, albums, artists, playlists, podcasts, and podcast episodes directly from your keyboard. Right now Spotify is the only music service it connects to, though the README says support for other services may come later depending on what their official APIs allow. To use it you need Neovim 0.10 or newer, the telescope.nvim plugin, and the command line tools curl and openssl already installed on your machine. You also need a Spotify account and a Spotify Premium subscription, since Spotify's playback controls require Premium, along with an active device where Spotify is already open and playing. Setting it up involves creating a small application in the Spotify Developer Dashboard to get a client ID, then adding that ID to your shell configuration. jam.nvim uses a secure login method called OAuth with PKCE, which means you never need to store a secret password in your Neovim config. After logging in with the Jam auth spotify command, you can search using prefixes such as a: for albums, t: for artists, s: for songs, l: for playlists, p: for podcasts, and e: for episodes. The plugin can also show album artwork inside your terminal, either through the image.nvim plugin on terminals like Kitty or WezTerm, or through a tool called chafa that renders images as colored text characters. Without either tool installed, it just shows the artwork's web address as plain text. Selecting an artist, album, podcast, or playlist opens a further list of its contents, such as an artist's top tracks or an album's track listing, and you can press Escape to go back to your original search. A checkhealth jam command is included to check that all your dependencies and settings are configured correctly.

prompts (copy fr)

prompt 1
Help me add jam.nvim to my lazy.nvim config with my Spotify client ID.
prompt 2
Write a keymap for my Neovim config that opens the jam.nvim search picker with one keystroke.
prompt 3
Explain how OAuth with PKCE lets jam.nvim log in to Spotify without storing a client secret.
prompt 4
Show me how to install chafa so jam.nvim can render album art in my terminal.

Frequently asked questions

what is jam.nvim fr?

A Neovim plugin that lets you search Spotify and control music playback (play, pause, skip, queue) from a Telescope search picker.

What language is jam.nvim written in?

Mainly Lua. The stack also includes Lua, Neovim, Telescope.

How hard is jam.nvim to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is jam.nvim for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.