Registry
Versioned component metadata and canonical source endpoints.
The Moe UI registry is public, deterministic, and generated from the private @moe-ui/registry workspace package. It is a distribution format for source files, not a browser runtime.
Endpoints
- Registry index — discover all public components
/r/<component>.json— one component, source, package dependencies, and registry dependencies- Project configuration schema
- Registry item schema
Every item contains a schema version, name, type, destination files, full source content, npm dependency versions, recursive registry dependencies, and a SHA-256 integrity value.
{
"$schema": "https://moe-ui-docs.vercel.app/schema/components.json",
"schemaVersion": 2,
"registry": "https://moe-ui-docs.vercel.app/r",
"typescript": true,
"framework": "next",
"styling": "uniwind",
"paths": {
"components": "components",
"lib": "lib",
"css": "app/globals.css"
}
}framework is next or expo; styling is uniwind or nativewind. Schema v1 remains readable as the legacy Next.js + Uniwind shape and is upgraded by the next init run.
Dependency resolution
registryDependencies names other source items such as helpers or compound components. The CLI traverses this graph once, detects missing items, validates each checksum, and writes dependencies before the requested component. dependencies are package-manager dependencies installed at their tested beta ranges.
Ownership and conflicts
Installed files belong to your project. Moe UI never tracks them through a hidden runtime package. A later add is a no-op when local content matches the registry and protects differing content unless overwrite is explicitly authorized.
Generated assets are checked into the docs application so Vercel serves them as immutable source artifacts. CI regenerates them and requires a clean diff.