npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@rocksky/cli

v0.3.4

Published

Command-line interface for Rocksky – scrobble tracks, view stats, and manage your listening history

Readme

Rocksky CLI

🎧 The official command-line interface for Rocksky — a modern, decentralized music tracking and discovery platform built on AT Protocol.

📚 View Full Documentation

Rocksky CLI Preview

Features

  • 🔐 Authenticate with your Rocksky account using OAuth
  • 🎵 View your currently playing track
  • 📈 See your recent scrobbles
  • 📤 Manually scrobble tracks
  • 🛠️ Useful developer tools for integrating Rocksky into your workflows
  • 🤖 MCP Server

Table of Contents

Documentation

For comprehensive guides, API references, and tutorials, visit the official documentation at docs.rocksky.app.

Installation

npm install -g @rocksky/cli

You can also use the CLI without installing it globally by running npx:

npx @rocksky/cli --help

Run in development

To run the CLI in development mode, install the dependencies:

bun install

Then, run the CLI with:

bun run dev --help

Usage

rocksky <command> [options]

Available Commands

login - Initiates a browser-based OAuth login flow and saves your access token securely on your machine.

rocksky login

nowplaying - Displays the currently playing track on your/other Rocksky account.

rocksky nowplaying

scrobble - Manually scrobbles a track.

rocksky scrobble "Karma Police" "Radiohead"

scrobbles - Lists all recently scrobbled tracks.

rocksky scrobbles

search - Searches for tracks, albums, artists or Rocksky users.

rocksky search <query>

stats - Displays your Rocksky account statistics.

rocksky stats [did]

artists - Lists the user's top artists.

rocksky artists [did]

albums - Lists the user's top albums.

rocksky albums [did]

tracks - Lists the user's top tracks.

rocksky tracks [did]

scrobble-api - Start a local listenbrainz/lastfm compatibility server

rocksky scrobble-api

sync - Sync your local Rocksky data from AT Protocol

rocksky sync

whoami - Displays the current user's information.

rocksky whoami

mcp - Starts the Rocksky MCP server.

rocksky mcp

Rocksky MCP Server Tools

Here is a list of tools provided by the Rocksky MCP server:

whoami

Get the current user's information.

Example:

{
  "name": "whoami"
}

Returns:

The current user's information, including their DID, handle, and other relevant details.

nowplaying

Get the currently playing track.

Parameters:

  • did (optional): The DID or handle of the user to get the now playing track for. If not provided, it defaults to the current user.

Example:

{
  "name": "nowplaying",
  "args": {
    "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
  }
}

Returns:

The currently playing track for the specified user.

scrobbles

Display recently played tracks (recent scrobbles).

Parameters:

  • did (optional): The DID or handle of the user to get scrobbles for. If not provided, it returns all recent scrobbles from Rocksky.

Example:

{
  "name": "scrobbles",
  "args": {
    "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
  }
}

Returns:

A list of recently played tracks for the specified user.

my-scrobbles

Display recently played tracks (recent scrobbles) for the current user.

Example:

{
  "name": "my-scrobbles"
}

Returns:

A list of recently played tracks for the current user.

search

Search for tracks, albums, artists, or Rocksky users.

Parameters:

  • query: The search query string.
  • limit (optional): The maximum number of results to return. Defaults to 10.
  • albums (optional): If true, search for albums. Defaults to false.
  • artists (optional): If true, search for artists. Defaults to false.
  • tracks (optional): If true, search for tracks. Defaults to false.
  • users (optional): If true, search for Rocksky users. Defaults to false.

Example:

{
  "name": "search",
  "args": {
    "query": "Radiohead",
    "limit": 5,
    "albums": false,
    "artists": false,
    "tracks": false,
    "users": false
  }
}

Returns:

A list of search results based on the specified query and filters.

artists

List the user's top artists or current user's top artists if no did is provided.

Parameters:

  • did (optional): The DID or handle of the user to get top artists for. If not provided, it defaults to the current user.
  • limit (optional): The maximum number of artists to return. Defaults to 20.

Example:

{
  "name": "artists",
  "args": {
    "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
    "limit": 20
  }
}

Returns:

A list of the user's top artists, including their names and play counts.

albums

List the user's top albums or current user's top albums if no did is provided.

Parameters:

  • did (optional): The DID or handle of the user to get top albums for. If not provided, it defaults to the current user.
  • limit (optional): The maximum number of albums to return. Defaults to 20.

Example:

{
  "name": "albums",
  "args": {
    "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
    "limit": 20
  }
}

Returns:

A list of the user's top albums, including their names and play counts.

tracks

List the user's top tracks or current user's top tracks if no did is provided.

Parameters:

  • did (optional): The DID or handle of the user to get top tracks for. If not provided, it defaults to the current user.
  • limit (optional): The maximum number of tracks to return. Defaults to 20.

Example:

{
  "name": "tracks",
  "args": {
    "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr",
    "limit": 20
  }
}

Returns:

A list of the user's top tracks, including their names and play counts.

stats

Display the user's Rocksky account statistics or current user's statistics if no did is provided.

Parameters:

  • did (optional): The DID or handle of the user to get statistics for. If not provided, it defaults to the current user.

Example:

{
  "name": "stats",
  "args": {
    "did": "did:plc:7vdlgi2bflelz7mmuxoqjfcr"
  }
}

create-apikey

Create a new API key for the current user.

Parameters:

  • name: The name of the API key.
  • description (optional): A description of the API key.

Example:

{
  "name": "create-apikey",
  "args": {
    "name": "My API Key",
    "description": "This is my API key."
  }
}

Returns:

A confirmation message indicating that the API key was created successfully.