Cadence documentation

Cadence is an AI-powered, cross-platform music creation studio: a Tauri desktop shell around a TypeScript SPA, backed by an Aspire service graph. These docs cover how to run it locally, how the pieces fit together, and how to deploy your own instance.

These pages mirror the source-of-truth documents in the docs/ folder of the repository. When something here disagrees with the code, the repo wins — please open an issue.

Start here

  • Getting started — prerequisites and the commands to run the backend, web UI, and desktop shell locally.
  • Architecture — the desktop shell, the SPA, and the Aspire service graph (API, Postgres, Redis, Blob).
  • Features — what Cadence does today, tier by tier.
  • Plugin SDK — author a composer plugin: instruments, effects, formats, AI providers, commands, and panels.
  • API reference — reach the OpenAPI/Scalar docs and browse the REST endpoint groups.
  • Self-hosting & deploy — the azd flow that deploys the Aspire backend to Azure Container Apps.
  • Authentication — the sign-in methods and how to configure OAuth.
  • Versioning policy — how dependencies and GitHub Actions are pinned.

The short version

# 1. Run the backend (Aspire orchestrates Postgres, Redis, Azurite, and the API)
aspire run

# 2. Run the web UI
cd apps/web && npm install && npm run dev

Local password and passwordless magic-link sign-in work with no secrets at all — external OAuth providers are opt-in. See Authentication for the details.