|
2 | 2 |
|
3 | 3 | [](.compliance/report.md) |
4 | 4 |
|
5 | | -React component library and showcase admin app built with modern tools: |
| 5 | +## Overview |
6 | 6 |
|
7 | | -- 🎨 Shadcn UI + DaisyUI + Tailwind |
8 | | -- 📊 TanStack Table |
9 | | -- 🔄 Zustand + TanStack Query + React Hook Form |
10 | | -- 🏗️ Vite + TypeScript + pnpm |
11 | | -- 📚 Storybook + Vitest + Playwright |
| 7 | +Bare-metal React component library (`@etherisc/ui-kit`) providing 60+ UI primitives for the Etherisc SaaS platform. Built on Radix UI and Tailwind CSS v4, it serves as Layer 1 in the three-layer frontend architecture (ADR-0016). Domain apps consume it indirectly via `@etherisc-saas/design`. |
| 8 | + |
| 9 | +Key technologies: Radix UI, Tailwind CSS v4, TanStack Table, React Hook Form + Zod, Storybook, Vitest, Playwright. |
12 | 10 |
|
13 | 11 | ## Installation |
14 | 12 |
|
@@ -65,7 +63,7 @@ function App() { |
65 | 63 |
|
66 | 64 | For complete documentation and examples, visit our [Storybook](https://etherisc.github.io/ui-kit/). |
67 | 65 |
|
68 | | -## Development Setup |
| 66 | +## Development |
69 | 67 |
|
70 | 68 | ### For Contributors (Developing the UI Kit) |
71 | 69 |
|
@@ -141,3 +139,19 @@ For bug reports and feature requests, please use our [GitHub Issues](https://git |
141 | 139 | ### Code of Conduct |
142 | 140 |
|
143 | 141 | This project follows a [Code of Conduct](CONTRIBUTING.md#code-of-conduct) to ensure a welcoming environment for all contributors. |
| 142 | + |
| 143 | +## Architecture |
| 144 | + |
| 145 | +The ui-kit is a pnpm monorepo with three packages: |
| 146 | + |
| 147 | +- `packages/ui-kit` — the published component library (`@etherisc/ui-kit`) |
| 148 | +- `packages/showcase` — demo/admin application for visual testing |
| 149 | +- `packages/eslint-plugin-ui-kit-rules` — custom ESLint rules for component quality |
| 150 | + |
| 151 | +In the platform's three-layer architecture, ui-kit is Layer 1 (bare-metal atoms). It is consumed exclusively by `@etherisc-saas/design` (Layer 2, in `platform-sdk/packages/design`). Domain apps (Layer 3) never import from ui-kit directly. |
| 152 | + |
| 153 | +## Related Repos |
| 154 | + |
| 155 | +- [`platform-sdk`](https://github.com/etherisc-saas/platform-sdk) — contains `@etherisc-saas/design` which wraps ui-kit |
| 156 | +- [`platform-app`](https://github.com/etherisc-saas/platform-app) — primary domain app consuming the design package |
| 157 | +- [`saas-architecture`](https://github.com/etherisc-saas/saas-architecture) — architectural governance and compliance rules |
0 commit comments