Skip to main content
@gentleduck/registry-build

Build your own component registry

A build system for component registries, driven by extensions. Typed sources, a configurable pipeline, and a UI preset to start from.

  • Extensions

    The builder runs a pipeline of extensions. Start with uiRegistryPreset(), or write your own for any kind of registry.

  • defineConfig()

    One typed config covers sources, package mappings, and registry entries. A typo shows up as a TypeScript error.

  • Sources and targets

    Map each registry namespace to a source folder, a package name, and a reference path. Imports resolve across workspaces.

  • Schema validation

    Every item is checked as a registry:* namespace string, with the same rule across sources, mappings, and schemas.

  • Cached builds

    A phased build context with a built-in cache. Only the registries you touched run again, so large ones still finish in seconds.

  • Ready for CI

    Built-in extensions add banners, colors, a component index, and validation. Output hooks fit into any CI job.

Install

Add a registry-build.config.ts, run the CLI, and ship your registry.

  1. Install

    bun add -D @gentleduck/registry-build
  2. Build your registry

    bunx registry-build build

Free & open source

gentleduck is MIT licensed and will always be free and open source. Every package ships with full source access — fork it, modify it, own it.

Become a Sponsor