Connect a registry
cd my-registry
npm install --save-dev @sntlr/registry-shell
npx registry-shell init
npm run shell
That's the whole flow. registry-shell init writes a
registry-shell.config.ts at your project root and adds a "shell" script
to your package.json.
The config
import { defineConfig } from "@sntlr/registry-shell"
export default defineConfig({
branding: {
siteName: "My UI",
shortName: "UI",
github: { owner: "my-org", repo: "my-ui" },
},
})
Required fields: branding.siteName + branding.shortName. Everything else
has a default.
Layout conventions
Default paths (all overridable via paths: { ... }):
my-registry/
components/ui/ → sidebar "Components" section
registry/new-york/blocks/ → sidebar "Blocks" section
components/previews/index.ts → interactive demo loader
content/docs/ → MDX doc files
public/r/ → shadcn-format JSON (served at /r/[name].json)
public/a11y/, public/tests/, public/props/
Where next
Open registry-shell.config.ts
for the full minimal example (one component, one doc), or read
Features for the full surface.