{
  "name": "components",
  "type": "components",
  "priority": 10,
  "operations": [
    {
      "type": "create-file",
      "source": "shared/shadcn/**",
      "destination": "{{framework == 'nextjs' ? 'components/**' : 'src/components/**'}}",
      "condition": { "framework": ["nextjs", "react"], "ui": "shadcn" }
    },
    {
      "type": "create-file",
      "source": "shared/hooks/**",
      "destination": "{{framework == 'nextjs' ? 'hooks/**' : 'src/hooks/**'}}",
      "condition": { "framework": ["nextjs", "react"] }
    },
    {
      "type": "create-file",
      "source": "shared/lib/**",
      "destination": "{{framework == 'nextjs' ? 'lib/**' : 'src/lib/**'}}",
      "condition": { "framework": ["nextjs", "react"] }
    },
    {
      "type": "create-file",
      "source": "shared/url/*",
      "destination": "{{framework == 'nextjs' ? 'components/global/url/*' : 'src/components/global/url/*'}}",
      "condition": { "framework": ["nextjs", "react"] }
    },
    {
      "type": "patch-file",
      "destination": "app/layout.tsx",
      "condition": { "framework": "nextjs" },
      "operations": [
        {
          "type": "add-import",
          "imports": ["import { TooltipProvider } from \"@/components/ui/tooltip\";"]
        },
        {
          "type": "add-code",
          "before": "<QueryProviders>{children}</QueryProviders>",
          "code": ["<TooltipProvider>"]
        },
        {
          "type": "add-code",
          "after": "<QueryProviders>{children}</QueryProviders>",
          "code": ["</TooltipProvider>"]
        }
      ]
    },
    {
      "type": "patch-file",
      "destination": "src/main.tsx",
      "condition": { "framework": "react" },
      "operations": [
        {
          "type": "add-import",
          "imports": ["import { TooltipProvider } from \"./components/ui/tooltip\";"]
        },
        {
          "type": "add-code",
          "before": "<QueryProvider>",
          "code": ["<TooltipProvider>"]
        },
        {
          "type": "add-code",
          "after": "</QueryProvider>",
          "code": ["</TooltipProvider>"]
        }
      ]
    },
    {
      "type": "run-command",
      "command": "{{packageManager=='pnpm' ? 'pnpm dlx shadcn@latest add button checkbox field input input-group textarea select badge command popover scroll-area toggle tabs dialog skeleton table -y' : packageManager=='yarn' ? 'yarn dlx shadcn@latest add button checkbox field input input-group textarea select badge command popover scroll-area toggle tabs dialog skeleton table -y' : packageManager=='bun' ? 'bun dlx shadcn@latest add button checkbox field input input-group textarea select badge command popover scroll-area toggle tabs dialog skeleton table -y' : 'npx shadcn@latest add button checkbox field input input-group textarea select badge command popover scroll-area toggle tabs dialog skeleton table -y'}}",
      "condition": { "framework": ["react", "nextjs"], "ui": "shadcn" }
    },
    {
      "type": "add-dependency",
      "condition": { "framework": ["react", "nextjs"], "ui": "shadcn" },
      "dependencies": {
        "@dnd-kit/core": "^6.3.1",
        "@dnd-kit/sortable": "^10.0.0",
        "@dnd-kit/utilities": "^3.2.2",
        "@tiptap/core": "^3.27.1",
        "@tabler/icons-react": "^3.44.0",
        "@tanstack/react-table": "^8.21.2",
        "@tiptap/extension-blockquote": "^3.27.1",
        "@tiptap/extension-bold": "^3.27.1",
        "@tiptap/extension-bullet-list": "^3.27.1",
        "@tiptap/extension-code": "^3.27.1",
        "@tiptap/extension-hard-break": "^3.27.1",
        "@tiptap/extension-heading": "^3.27.1",
        "@tiptap/extension-highlight": "^3.27.1",
        "@tiptap/extension-history": "^3.27.1",
        "@tiptap/extension-horizontal-rule": "^3.27.1",
        "@tiptap/extension-italic": "^3.27.1",
        "@tiptap/extension-link": "^3.27.1",
        "@tiptap/extension-list-item": "^3.27.1",
        "@tiptap/extension-ordered-list": "^3.27.1",
        "@tiptap/extension-strike": "^3.27.1",
        "@tiptap/extension-table": "^3.27.1",
        "@tiptap/extension-text-align": "^3.27.1",
        "@tiptap/extension-underline": "^3.27.1",
        "@tiptap/react": "^3.27.1",
        "@tiptap/starter-kit": "^3.27.1"
      }
    }
  ]
}
