Swift Struck UI
A web-first, cross-platform component & collection library you build entire apps on top of. This whole page is built from the library itself.
What is this?
Swift Struck UI is a box of ready-made building blocks for apps — like LEGO for software. There are primitives (the small pieces: buttons, inputs, dialogs) and collections (data views: lists, tables, boards, calendars, charts). You snap them together to build a real app, on the web today and on desktop & mobile later — without rebuilding anything.
Everything you see — the headings, cards, tabs, badges, and the searchable catalog below — is the library showing itself off.
Four rules keep it lean
Get started
Install straight from GitHub (no npm account needed) along with its peer dependencies:
npm install github:alaap-swift-struck/swift-struck-ui react react-domThe package ships TypeScript source, so your bundler tree-shakes it and Tailwind can see the class names. To pull later updates, re-run that same install — it re-fetches the latest from GitHub.
Every component, searchable
CollectionFrame — the same one your app would use.All components
Showing 12 of 85The configuration model
That's the shape every component shares. For the exhaustive, field-by-field reference — every component, every option, and what each value does — see CONFIG-REFERENCE.md on GitHub.
Two parts, one repo
registry/ + lib/ at the repo root are @swift-struck/ui — exactly what a GitHub install delivers. Layered tokens → primitives → collections, one folder per component.A fix in the library reaches every app that depends on it — instantly in this repo, and on the next GitHub install for anyone consuming it. Pinning to a commit or tag is the safety hatch.
Quality & guardrails
Live & staging
staging.swift-struck-ui.pages.dev — where a change lands before it's public. Click around and confirm it's right.swift-struck-ui.pages.dev — promoted from the verified staging build. What everyone sees.Apps pull library updates the same controlled way: re-run the GitHub install to fetch the latest, or pin to a specific commit or tag so a change only reaches you when you choose — a breaking change never surprise-breaks a running app.
One build, every device
Web today · desktop & mobile next
The same web build is wrapped natively with Tauri (desktop) and Capacitor (mobile). No rewrite.