diff --git a/CLAUDE.md b/CLAUDE.md index cb3c484909..8dc766b177 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -181,6 +181,8 @@ Root-level reminders: ## UI Rules - Prefer shadcn/Base UI components over custom implementations. Add them with `pnpm ui:add ` from the repo root. +- The Pro `@reui` registry is configured in `packages/ui/components.json`; add items with `pnpm ui:add @reui/` and answer `n` to every overwrite prompt so local component customizations survive. It reads `REUI_LICENSE_KEY` from the environment — agents get it from their Multica agent environment, humans export it in their own shell. Never write the key into a repo file. +- ReUI ships source, not a dependency: route the vendored output to our layout (new primitives to `packages/ui/components/ui/`, compositions to `packages/views//`) and rewrite it to our conventions before committing. - Use design tokens and semantic classes; avoid hardcoded colors. - Do not introduce extra local state unless the design requires it. - Handle overflow, long text, scrolling, alignment, and spacing deliberately. diff --git a/packages/ui/components.json b/packages/ui/components.json index d92a4a7482..b9d0e1cdf1 100644 --- a/packages/ui/components.json +++ b/packages/ui/components.json @@ -1,7 +1,7 @@ { "$schema": "https://ui.shadcn.com/schema.json", "style": "base-nova", - "rsc": false, + "rsc": true, "tsx": true, "tailwind": { "config": "", @@ -17,5 +17,13 @@ "hooks": "@multica/ui/hooks", "lib": "@multica/ui/lib", "utils": "@multica/ui/lib/utils" + }, + "registries": { + "@reui": { + "url": "https://reui.io/r/base-nova/{name}.json", + "headers": { + "Authorization": "Bearer ${REUI_LICENSE_KEY}" + } + } } } diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json index d5c672bb31..d4e30e87ec 100644 --- a/packages/ui/tsconfig.json +++ b/packages/ui/tsconfig.json @@ -6,7 +6,9 @@ "paths": { "@/lib/utils": ["./lib/utils.ts"], "@/hooks/*": ["./hooks/*"], - "@/components/ui/*": ["./components/ui/*"] + "@/components/ui/*": ["./components/ui/*"], + "@multica/ui/components": ["./components"], + "@multica/ui/lib": ["./lib"] } }, "include": ["**/*.ts", "**/*.tsx"],