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.
Quick start
Install an element in one command
No global install. Run it with npx from the project you want to install into.
npx @levi-putna/element@latest add levi-putna/elementsnpx @levi-putna/element@latest add levi-putna/elements --element buttonDocumentation
Where to start
Using element
Browse a catalog, install elements into your project, update them later, and remove what you no longer need.
Publishing a catalog
Create your own registry with .element manifests, declare npm and element dependencies, and let the CLI resolve and install the tree for consumers.
Live element docs
Browse the Twisted Brackets elements with previews, usage code, and a copy-ready install command on each page.
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.
Links