Developers
Developer overview
CompCube is a collection of independent repositories, not a monorepo deployment. Clone only what you need into one parent directory:
| Repository | Technology | Responsibility |
|---|---|---|
CompCube | C# / .NET 8 toolchain targeting .NET Framework 4.8 | PCVR Beat Saber plugin. |
CompCube-Server-TS | Node 24, TypeScript, Express, Socket.IO, Drizzle, PostgreSQL | REST, OAuth, matchmaking, gameplay, ratings, moderation, replay relay, release files. |
CompCube-Client | TypeScript | Typed reusable REST and Socket.IO client. |
CompCube-Website | SvelteKit 2 / Svelte 5 | Public site and authenticated operations UI. Contains CompCube-Client as a Git submodule. |
CompCube-Wiki | React 19 / Next.js 16 / Fumadocs | This 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.