This project is a UI component library and documentation site built with Astro, Starlight, React, Tailwind CSS, and Shadcn UI. It is configured to be deployed on Cloudflare Workers.
- Node.js: Ensure you have Node.js installed.
- Package Manager: This project strictly uses
pnpm.
Install the project dependencies using pnpm:
pnpm installCreate a .env file in the root of your project to override default configurations if necessary:
| Variable | Description | Default |
|---|---|---|
PUBLIC_REGISTRY_URL |
The base URL for the Shadcn UI registry (used by the CLI to fetch components). | http://localhost:4321 |
To start the local development server:
pnpm devThis will start the Astro dev server.
- Host: Bound to
0.0.0.0 - Allowed Hosts:
localhostandui.orb.local - Access: Open http://localhost:4321 (or
http://ui.orb.local:4321if you have configured your local DNS/hosts file).
The build process is a two-step sequence that first builds the Shadcn UI registry, then generates the static Astro site.
To build the project for production:
pnpm buildBehind the scenes, this runs:
pnpm registry:build: Usesnpx shadcn@latest buildto generate the registry files.astro build: Builds the static documentation site and outputs assets to the./dist/directory.
This project is configured for deployment to Cloudflare using the Cloudflare Pages GitHub integration. Deployment is only available by merging to the main branch - automated deployments are triggered upon merge.
- Deployment Method: Cloudflare GitHub integration
- Trigger: Push/merge to
mainbranch - Compatibility Date:
2025-10-08 - Main Entrypoint:
src/api.ts(handles dynamic worker logic) - Static Assets: Served directly from the
./dist/directory (ASSETSbinding) - Node.js Compatibility: Enabled via
nodejs_compatflag