A decentralized music tracking and discovery platform built on AT Protocol 🎵 rocksky.app
spotify atproto lastfm musicbrainz scrobbling listenbrainz
rocksky docs
8 folders · 11 files

README.md

Rocksky Docs #

The source for docs.rocksky.app — the documentation site for Rocksky, a decentralized, open-source music scrobbling network built on the AT Protocol.

Built with Mintlify.

Structure #

docs/
├── docs.json                # Mintlify config (navigation, theme, anchors)
├── index.mdx                # Landing page
├── quickstart.mdx           # 5-minute onboarding
├── faq.mdx
├── integrations/            # Jellyfin, Navidrome, Pano Scrobbler, Kodi, …
├── migrations/              # from-lastfm, from-listenbrainz
├── cli/                     # `rocksky` CLI reference (one page per command)
├── sdks/                    # TypeScript, Python, Rust, Go, Ruby, Kotlin,
│                            #   Elixir, Clojure, Gleam
└── api-reference/
    ├── introduction.mdx
    └── openapi.json         # Production OpenAPI spec (auto-generates endpoints)

The API reference endpoint pages are generated from openapi.json at build time — don't edit them by hand.

Local development #

Install the Mintlify CLI:

npm i -g mint

From this directory:

mint dev              # preview at http://localhost:3000
mint broken-links     # validate internal links

Updating the API reference #

In the Rocksky source repository, run:

node apps/api/scripts/generate-openapi.cjs
node --test apps/api/tests/openapi.test.cjs

The generator reads the registered XRPC handlers, current lexicons, and known response-type exceptions. It updates docs/api-reference/openapi.json without executing handlers. Use node apps/api/scripts/generate-openapi.cjs --check to detect stale output.

Copy the generated spec to this documentation site's api-reference/openapi.json. The API reference tab picks it up automatically. Do not edit generated endpoint pages. When changing authentication behavior, update the generator's authentication overrides too.

Publishing #

Changes pushed to main deploy automatically via the Mintlify GitHub app.

Contributing #

Issues and PRs welcome at tangled.org/@rocksky.app/rocksky. Chat with the team on Discord.

License #

MIT © Tsiry Sandratraina.