Open source

element

Copy UI elements from a git repo into your project the same way dot-skills installs agent skills, or the way shadcn/ui copies components. Source lands in your tree, npm and element dependencies resolve automatically, and a sidecar keeps updates trackable.

Use it to pull elements from someone else's catalog, or to publish your own. No npm package per component, no private registry required: a public GitHub repo with a small manifest is enough. The catalog documented on this site lives at levi-putna/elements.

GitHub stars for levi-putna/elementnpm version of @levi-putna/elementnpm downloads for @levi-putna/elementRequires Node.js 18 or laterSocket supply chain score for @levi-putna/element

GitHub@levi-putna/elementElement catalog

Quick start

Install an element in one command

No global install. Run it with npx from the project you want to install into.

sh
npx @levi-putna/element@latest add levi-putna/elements
sh
npx @levi-putna/element@latest add levi-putna/elements --element button

Documentation

Where to start

How it works

From GitHub catalog to your source tree

The CLI fetches a catalog from GitHub, resolves the element you pick plus its element dependencies, detects install paths from config and existing sidecars, then shows a plan before writing anything. On confirm it installs missing npm packages, copies source, writes sidecars, and updates .element/lock.json.

Public GitHub catalog

registry/ or elements/ + manifests

npx @levi-putna/element add owner/repo

Source files

Copied into the path you choose

Sidecar + lock

*.element.json and .element/lock.json

Why bother

Reuse without publishing an npm package for every button

Shared UI usually means either a private design-system package (slow to change, version hell) or copy-paste between repos (no updates, no dependency graph). element sits in the middle: the source is the product, GitHub is the registry, and installs stay editable in your project.

Existing shadcn registries already work. New catalogs can use a simpler .element manifest. Either way, consumers get the same install experience.