Documentation
Everything that governs the platform lives in the repository, in plain Markdown, next to the code it describes. This page is the map: what each document is for, and which one to open first.
Where a document states a limit or a rule, the hub or the SDK enforces it in code. Violating one does not degrade gracefully — the traffic is rejected, or the process is killed.
Start here — writing a plugin
The complete, self-contained contract: endpoints, payload limits, lifecycle, capabilities, surface kinds, input routing. Written to be read by a developer or handed verbatim to a coding agent — if you only open one document, open this one.
Artifact coordinates, the service contract, and the approval flow —
NexusPluginService, the lifecycle callbacks, the typed
card, timed-lines, media and image surfaces, and how a grant reaches
you.
The full build guide: module structure, the headless-manifest rules (no launcher icon, no identity outside Nexus), and the NexusUi kit your settings screen renders with so it looks like part of the host app.
The canonical template, kept building against the published SDK coordinate rather than the monorepo. Clone it, change the id, ship something.
F-Droid-like distribution: you host the APK on your own releases and PR a manifest to RokidBrew-Registry. The Store pins the hash and the signer, so an update signed by anyone else is refused rather than installed.
The platform itself
The authoritative contract for the wire, identity, lifecycle, capabilities, surfaces, input, and transport — including the constraints validated on hardware that are not to be re-derived (CXR-L only on the phone side, and why). Superseded API v1/v2 detail is kept in a historical appendix.
A stable doorway into the specification that deliberately does not
duplicate it. External developers should be using the typed
bus-client API rather than constructing reserved paths by
hand — this page says so, and points where to go instead.
Every mark that reaches the glasses is a 24×24 stroked vector in one
green. This is the recipe, and NexusGlyphArtTest is what
stops it drifting: a design system that lives only in prose is one
our own mark already escaped.
A rendered reference of every state a band can be in — plain, interactive, with actions, answered, paged, with an image — plus an interactive demo of the one-answer rule, running the same state machine the glasses do.
The visual reference for the list surface: a row with a second line, a tone that says how much it matters, and a selection the glasses draw themselves.
How the glasses enable their own accessibility service and privileged shell on first launch without a PC: Wireless Debugging with one app-private KADB TLS identity, which never touches the classic ADB key.
Direction, history, and verification
Why the platform is shaped the way it is: the layer model, the interaction model, and the trust model — the founding sections still govern every design decision, including the ones that were rejected.
The source this site's roadmap section renders. Shipped, building, next, exploring — and what will never be on it.
Every release, written for the person using it rather than the person who wrote it — including the reversals, and why the second decision was better than the first.
One document per tier and per platform slice — pin, notice, activities, HUD motion, camera, speech — each with its goal, its protocol additions, its decision record, and the approaches that were rejected. This is where a tier's behaviour is argued before it is coded.
What was measured on real hardware and what the numbers were — bind-wake of a dead process at ~1.6 s including cold start, 64 KB payloads routing to the binary path automatically, an HTTP proxy call completing with the glasses' own Wi-Fi off.
Missing something, or found a document that lies about the code? Open an issue — a contract that has drifted from its implementation is a bug in the same way a crash is.