ParkerStreetParkerStreet
@parkerstreet/ui

One feel across every app.

An opinionated shadcn registry. Pull a themed component into any app with one command — the look comes with it.

Browse componentsbunx shadcn add @parkerstreet/button

Components

Every primitive, all states, in the current theme.

Open →

Blocks

Full screens — dashboards, tables, forms — built from the components.

Open →

Theme

The tokens that carry the identity: color, type, radius.

Open →

Use it in an app

  1. 1 · Register the namespace

    In the app’s components.json:

    "registries": { "@parkerstreet": "https://ui.parkerstreet.xyz/r/{name}.json" }
  2. 2 · Add the theme (the two-tier tokens)
    bunx shadcn add @parkerstreet/theme
  3. 3 · Copy the fonts in

    The Pangram Pangram fonts are self-hosted (copy-in, not npm). Run:

    node ~/Code/parkerstreet/ui/scripts/install-fonts.mjs .

    …then link the stylesheet in your root layout <head>:

    <link rel="stylesheet" href="/fonts/parkerstreet-fonts.css" />
  4. 4 · Pull components as you need them
    bunx shadcn add @parkerstreet/button @parkerstreet/card
  5. Stay in sync

    Add "prebuild": "shadcn add @parkerstreet/theme --overwrite"to the app’s scripts and every build pulls the latest tokens. Change a font or color in the --ps-*layer here once, and apps converge on the next build.