Important
This project is under active development. Below is what this project will ultimately be able to do - not what it can do right now.
A Node.js library that unifies reading and writing osu! stable and lazer data files with a single API.
- Read active user info
- Read installed beatmaps
- Read local scores
- Read and edit collections
- Read
.osrreplay files - Read
.osubeatmap files
This library does not and will not support editing database values that aren't intended to be user-editable, like scores, beatmaps, or other internal values. The primary intent is to read installed beatmaps and allow for collection editing.
Reading stable data would not be possible without guidance from this wiki page. Thanks peppy <3
This codebase 90% human-written and 100% human-reviewed.
Google Gemini played a significant part in preemptively catching bugs in this codebase and helping resolve issues, most notably with the lowest-level binary file read/write logic. Any significalt logic generated by AI is accompanied by a comment attributing the code to the model that wrote it.