feat(ui): scaffold the blueprint SPA — vite 7 + tailwind 4 + kit theme

New workspace member built on @unom/ui 0.9.1 + @unom/app-ui 0.2.0 +
@punktfunk/plugin-kit/react, effect 4.0.0-beta.99 exact. base:'./' with
build straight into ../plugin/dist/ui; :5599 dev server proxies /api to
the plugin dev API only in live mode. styles.css = tailwind + tw-animate
+ the kit's violet theme (NOT @unom/ui's own neutral palette) + bare-dir
@source globs over the design-system dist.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-20 19:41:20 +02:00
parent e6144773d7
commit 8856df7e8d
8 changed files with 482 additions and 25 deletions
+43
View File
@@ -0,0 +1,43 @@
{
"name": "punktfunk-plugin-rom-manager-ui",
"private": true,
"type": "module",
"description": "The ROM Manager plugin SPA — the blueprint UI every Punktfunk plugin copies: @unom/ui + @unom/app-ui console polish, an Effect-native data layer derived from the shared HttpApi contract, and a zero-host mock dev loop.",
"scripts": {
"dev": "vite",
"dev:live": "VITE_API_MODE=live vite",
"build": "vite build",
"typecheck": "tsc --noEmit",
"storybook": "storybook dev -p 6013",
"build-storybook": "storybook build",
"screenshots": "node tools/screenshots.mjs"
},
"dependencies": {
"@effect/atom-react": "4.0.0-beta.99",
"@fontsource-variable/geist": "^5.2.9",
"@punktfunk/plugin-kit": "^0.1.1",
"@unom/app-ui": "^0.2.0",
"@unom/style": "^0.4.4",
"@unom/ui": "^0.9.1",
"effect": "4.0.0-beta.99",
"lucide-react": "^0.469.0",
"motion": "^12.42.2",
"react": "^19.2.7",
"react-dom": "^19.2.7"
},
"devDependencies": {
"@rom-manager/contract": "workspace:*",
"@storybook/react-vite": "^10.4.6",
"@tailwindcss/vite": "^4.3.2",
"@types/node": "^22.20.0",
"@types/react": "^19.2.17",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.2.0",
"playwright": "^1.61.1",
"storybook": "^10.4.6",
"tailwindcss": "^4.3.2",
"tw-animate-css": "^1.4.0",
"typescript": "^5.9.3",
"vite": "^7.3.6"
}
}