Arch
Architecture Overview
Technical architecture and product overview of the Evolphin UI design system.
A comprehensive design system and private component registry built on shadcn/ui.
Product Summary
Evolphin UI is an internal design system that provides:
- Private Component Registry β Install components via CLI with
@evolphin/namespace - Documentation Site β Interactive docs with live component previews
- 54+ UI Components β All shadcn/ui components, customizable for your brand
Key Benefits
| Feature | Description |
|---|---|
| One Command Install | pnpm dlx shadcn@latest add @evolphin/button |
| Full Ownership | Components copied to your project, not locked to a package |
| Zero Drift | Docs and registry always in sync (same source) |
| Professional Docs | MDX-based with live previews, code examples, API tables |
Tech Stack
| Layer | Technology | Version |
|---|---|---|
| Framework | Next.js | 16.1.1 |
| Language | TypeScript | 5.x |
| Styling | Tailwind CSS | 4.x |
| Component Base | shadcn/ui | latest |
| Documentation | Fumadocs + MDX | 3.x |
| Package Manager | pnpm | 10.x |
| Build System | Turbopack | (built-in) |
Core Dependencies
react/react-dom19.x -next16.x -tailwindcss4.x -class-variance-authorityβ Variant styling -clsx+tailwind-mergeβ Class utilities
@radix-ui/react-*β Accessible unstyled components -lucide-reactβ Icon library
react-hook-formβ Form handling -@hookform/resolversβ Schema integration -zodβ Schema validation
cmdkβ Command palette -sonnerβ Toast notifications -vaulβ Drawer component -rechartsβ Charts -embla-carousel-reactβ Carousel -react-day-pickerβ Calendar
Architecture Diagram
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Evolphin UI Repo β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β registry/default/ui/ content/docs/ β
β βββ button.tsx βββ components/ β
β βββ card.tsx ββββββββΊ βββ button.mdx β
β βββ ... βββ ... β
β β β β
β βΌ βΌ β
β shadcn build Next.js App Router β
β β β β
β βΌ βΌ β
β public/r/*.json /docs/components/* β
β (Registry) (Documentation) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββFlow
- Components are authored in
registry/default/ui/ shadcn buildgenerates JSON files inpublic/r/- MDX docs import and demo the same components
- Consumers install via
shadcn add @evolphin/[name]
Project Structure
Project Structure
evolphin-ui
content
docsMDX documentation
registry
default/ui54 UI components
default/hooksCustom hooks
default/blocksComposite blocks
src
appNext.js routes
componentsCustom components
libUtilities & config
public
rGenerated registry JSON
source.config.tsFumadocs MDX config
mdx-components.tsxMDX component mapping
registry.jsonRegistry definition
components.jsonshadcn config
Scripts
| Command | Description |
|---|---|
pnpm dev | Start development server (Turbopack) |
pnpm build | Build registry + Next.js app |
pnpm registry:build | Generate registry JSON files only |
pnpm lint | Run ESLint |
pnpm start | Start production server |
Consumer Setup
Configure components.json
{
"registries": {
"@evolphin": "https://ui.evolphin.com/r/{name}.json"
}
}Install Components
pnpm dlx shadcn@latest add @evolphin/button @evolphin/card