CompCubeCompCubeWiki
Developers

Developer overview

CompCube is a collection of independent repositories, not a monorepo deployment. Clone only what you need into one parent directory:

RepositoryTechnologyResponsibility
CompCubeC# / .NET 8 toolchain targeting .NET Framework 4.8PCVR Beat Saber plugin.
CompCube-Server-TSNode 24, TypeScript, Express, Socket.IO, Drizzle, PostgreSQLREST, OAuth, matchmaking, gameplay, ratings, moderation, replay relay, release files.
CompCube-ClientTypeScriptTyped reusable REST and Socket.IO client.
CompCube-WebsiteSvelteKit 2 / Svelte 5Public site and authenticated operations UI. Contains CompCube-Client as a Git submodule.
CompCube-WikiReact 19 / Next.js 16 / FumadocsThis documentation site.

The retired C# server and old models repository are reference-only; current clients talk to CompCube-Server-TS.

Prerequisites

  • Docker Engine with Compose v2 for the recommended workflow.
  • Node.js 24 and npm for non-container development.
  • Git with submodule support.
  • For the plugin: .NET 8 SDK, matching stripped Beat Saber references, verified dependency DLLs, and Windows/PCVR for runtime testing. Mono can cross-compile the DLL on macOS.
  • A BeatKhana OAuth application from BeatKhana developer applications. Register the backend callback exactly, such as https://api.compcube.net/oauth/callback. The live API explorer is at api.beatkhana.com/docs.

Start with local development, then read environment configuration.

On this page