dukkani-dashboard
apps/dashboard src layout — hooks (api vs controllers), stores, lib, product form.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
apps/dashboard src layout — hooks (api vs controllers), stores, lib, product form.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Production-tested setup for Tailwind CSS v4 with shadcn/ui, Vite, and React. Use when: initializing React projects with Tailwind v4, setting up shadcn/ui, implementing dark mode, debugging CSS variable issues, fixing theme switching, migrating from Tailwind v3, or encountering color/theming problems. Covers: @theme inline pattern, CSS variable architecture, dark mode with ThemeProvider, component composition, vite.config setup, common v4 gotchas, and production-tested patterns. Keywords: Tailwind v4, shadcn/ui, @tailwindcss/vite, @theme inline, dark mode, CSS variables, hsl() wrapper, components.json, React theming, theme switching, colors not working, variables broken, theme not applying, @plugin directive, typography plugin, forms plugin, prose class, @tailwindcss/typography, @tailwindcss/forms
apps/dashboard src layout — hooks (api vs controllers), stores, lib, product form.
apps/dashboard src layout — hooks (api vs controllers), stores, lib, product form.
Monorepo architecture, app boundaries, package ownership, and cross-domain implementation guidance for Dukkani.
Storefront app guidance for product browsing, cart, checkout, localization, and oRPC integration in apps/storefront.
Best practices for Remotion - Video creation in React
| name | dukkani-dashboard |
| description | apps/dashboard src layout — hooks (api vs controllers), stores, lib, product form. |
| triggers | ["apps/dashboard","dashboard hooks","useProductForm"] |
Canonical rules: .cursor/rules/apps/dashboard.mdc
productFormOptions: components/app/products/product-form-options.ts (TanStack formOptions, colocated with form UI). Re-exported from product-form.tsx for convenience; use-product-form imports the options file directly to avoid circular imports with the shell component.useProductStore: Zustand list/catalog state only — not form field values.