HFU Digital Docs
Public documentation for the HFU Digital platform — Kit libraries and developer APIs
These docs cover the public surface of the HFU Digital platform: four open-source Kit libraries published under the @hfu.digital/* npm scope, and the public StarPlan developer API.
The internal applications (api/, discord/, website/, mobile/, better-splan/) are documented inside their own repositories.
Kit Libraries
Each Kit is a standalone, framework-agnostic library you can drop into a NestJS backend and a React frontend. They are published independently and version-locked together using CalVer (yyyy.mm.version) — pin exact versions in your package.json; range operators (^, ~) do not carry their usual semantics across month boundaries.
CourseKit
Timetable engine: recurring events, conflict detection, availability, and StarPlan integration
RoomKit
Room booking: locations, conflicts, recurrence, blackouts, exams, bulk operations
LoopKit
Flashcards with SM-2 spaced repetition, content pipeline, import/export
BoardKit
Collaborative whiteboard SDK with real-time sync, presence, and export
Public APIs
Versioning
All @hfu.digital/* packages use CalVer:
- Format:
yyyy.mm.version— e.g.2026.04.1,2026.04.2 - The
mmis zero-padded (04, not4); the publish workflow rejects malformed tags. - The
versioncounter resets to1on the first release of each calendar month. - npm strips leading zeros, so
2026.04.1is normalized to2026.4.1on the registry — both forms resolve to the same package. - Always pin exact versions when consuming Kit packages; range operators do not behave like semver across month/year boundaries.