A terminal UI for Spotify built with Ink + React.
- Browse your playlists and open tracks
- Search tracks and play instantly
- View current playback and progress
- Control playback (play/pause, next/previous, volume)
- Node.js 18+
- A Spotify Premium account (required by Spotify playback APIs)
- Spotify Developer app credentials
- Install dependencies:
npm install
- Create your environment file:
- Copy
.env.exampleto.env
- Copy
- Fill in
.envvalues:SPOTIFY_CLIENT_IDSPOTIFY_CLIENT_SECRETSPOTIFY_REDIRECT_URI(default:http://localhost:8888/callback)
- Development mode:
npm run dev - Start once:
npm start - Type-check:
npm run typecheck - Build:
npm run build
On first run, your browser opens for Spotify OAuth login.
Tokens are saved to .tokens.json in the project root.
Tab: switch between Library/SearchSpace: play/pause←/→: previous/next+/-: volume up/down↑/↓: navigate listsEnter: open/select/playqorCtrl+C: quit
Search-specific:
ior/: focus search inputEsc: leave search input
Library-specific:
Escorb: go back from tracks to playlists