threeui
The open-source, login-free edition of ThreeUI. It uses the same application shell, layout, navigation, browse grid, search, themes, responsive behavior, component pages, live renderers, controls, variant picker, and source tabs as the main project.
The catalog is the only product-level difference: Pro and Beta components are removed. Every Community component keeps all of its free variants and controls.
Browse ThreeUI · View the source on GitHub

Included
- 50 Community parent components
- 111 Community routes
- 141 free variant records, plus 23 singleton components (164 browse results)
- Complete Community implementation source and required assets
- No authentication, account state, checkout runtime, Pro implementation, or Beta implementation
Get Prolinks tohttps://threeui.com/pricing
Run locally
npm install
npm run dev
Run the complete publication boundary, type, and production-build checks:
npm run build
Install the React package
Install the public Community component library from npm:
npm install @designcodeio/threeui
Import a component and the shared styles:
import { AtTheHorizon } from "@designcodeio/threeui";
import "@designcodeio/threeui/style.css";
export function Hero() {
return <AtTheHorizon />;
}
For the smallest development import graph, use a component subpath:
import { AtTheHorizon } from "@designcodeio/threeui/components/AtTheHorizon";
Components that render full HTML documents expect their runtime files at the same root-relative URLs used by the ThreeUI preview. Copy the needed files from node_modules/@designcodeio/threeui/lib-dist/assets/ into your app's public directory, or override the component's sourceUrl or assetBaseUrl prop where available.
Pro source access
Pro implementation source is deliberately not published to npm. Active ThreeUI Pro members authenticate through the browser and download an entitled source bundle with the public CLI:
npx @designcodeio/threeui-cli add cross-beam
The CLI uses OAuth with PKCE, stores its refreshable session with owner-only permissions, checks the account entitlement on every server request, and refuses to overwrite changed project files unless --force is supplied. Run npx @designcodeio/threeui-cli --help for login, logout, destination, and development endpoint options.
Synchronization
The checked-in repository runs independently. Maintainers can refresh its Community subset from a separately held main-project snapshot:
npm run sync:community -- /path/to/main-threeui
The sync fails closed, filters Pro and Beta before generating the public import graph, preserves all free metadata and options, removes restricted font assets, and writes:
public/community-sync-report.json— counts plus per-component variant/control paritypublic/source-code.json— Community source bundles used by the Code tabsrc/data/shaders.tsx— Community-only catalog and renderer imports
The private ThreeUI repository runs this synchronization after every successful push to main. A no-op sync exits without a release. Changes update the automation/community-sync branch and open one reviewed pull request here. New public components, variants, or controls infer a minor release; removals infer a major release; compatible source changes infer a patch release. Merging a versioned sync pull request publishes the new package through npm trusted publishing with provenance.
The public workflow also runs a clean build, boundary audit, package creation, and anonymous installation smoke test before release. The Pro installer is versioned and published separately; changes to Pro component content do not require a CLI release.
License
Application code, Community component code, and ThreeUI-authored Community imagery are MIT licensed. Bundled open fonts remain under the SIL Open Font License 1.1, and bundled Three.js runtime files remain MIT licensed. Remote catalog thumbnails and previews loaded from https://threeui.com are not redistributed by this repository. See ASSET-LICENSES.md, FONT-LICENSES.md, and THIRD_PARTY_NOTICES.md.
