Skip to main content

UI Development

The embedded management dashboard lives in the ui/ directory. It is a React single-page application whose API client is generated from the same OpenAPI specification the Go SDK is generated from, and whose production build is compiled into the controller binary.

The rules are not on this page. They are in the specifications repository, stated once. This page is the index.

note

The links below are full GitHub addresses rather than relative links, because the specifications repository is separate from this one and is not published as part of this site. Every other cross-reference here is relative.

The rules​

What you need to knowStated in
What the UI is, and that it is one application rather than a frontend per domainFR-001
The setting that disables it, and what the controller serves when it is offFR-002
The stack, stated as what each part is forFR-003
The four kinds of component, and what decides which one you are writingFR-004
That the API client is generated, and what editing it by hand costsFR-005
The embedding mechanism, and the build order it forcesFR-006
How the UI authenticates, and that it decodes the token without verifying itFR-007
That the permission model is osapi's, cited rather than restatedFR-008
Where the commands live, and why they are not listed as proseFR-009
Why ui/ is excluded from the coverage gateFR-010

The commands​

They are in the justfile, not here. just --list shows every recipe; the ones this directory uses are prefixed react-. Build through just build, just ready or just test rather than a recipe directly — each builds the UI before the binary, which is the order FR-006 explains.