gitextract_2q_khw51/ ├── .changeset/ │ ├── README.md │ └── config.json ├── .cursor/ │ └── mcp.json ├── .github/ │ └── workflows/ │ ├── ci.yml │ └── release.yml ├── .gitignore ├── .husky/ │ └── pre-commit ├── .npmrc ├── .vscode/ │ └── mcp.json ├── AGENTS.md ├── LICENSE ├── README.md ├── apps/ │ └── web/ │ ├── .env.example │ ├── .gitignore │ ├── CHANGELOG.md │ ├── README.md │ ├── app/ │ │ ├── (main)/ │ │ │ ├── docs/ │ │ │ │ ├── a2ui/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── adaptive-cards/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── ag-ui/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── ai-sdk/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── api/ │ │ │ │ │ ├── codegen/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── core/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── image/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── jotai/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── mcp/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── react/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── react-email/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── react-native/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── react-pdf/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── react-three-fiber/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── redux/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── remotion/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── shadcn/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── solid/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── svelte/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── vue/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── xstate/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ ├── yaml/ │ │ │ │ │ │ └── page.mdx │ │ │ │ │ └── zustand/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── catalog/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── changelog/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── code-export/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── computed-values/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── custom-schema/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── data-binding/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── generation-modes/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── installation/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── layout.tsx │ │ │ │ ├── migration/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── openapi/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── page.mdx │ │ │ │ ├── quick-start/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── registry/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── renderers/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── schemas/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── skills/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── specs/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── streaming/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── validation/ │ │ │ │ │ └── page.mdx │ │ │ │ ├── visibility/ │ │ │ │ │ └── page.mdx │ │ │ │ └── watchers/ │ │ │ │ └── page.mdx │ │ │ ├── examples/ │ │ │ │ └── page.tsx │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── api/ │ │ │ ├── docs-chat/ │ │ │ │ └── route.ts │ │ │ ├── docs-markdown/ │ │ │ │ └── route.ts │ │ │ ├── generate/ │ │ │ │ └── route.ts │ │ │ └── search/ │ │ │ └── route.ts │ │ ├── globals.css │ │ ├── layout.tsx │ │ ├── not-found.tsx │ │ ├── og/ │ │ │ ├── [...slug]/ │ │ │ │ └── route.tsx │ │ │ ├── og-image.tsx │ │ │ └── route.tsx │ │ └── playground/ │ │ ├── layout.tsx │ │ └── page.tsx │ ├── components/ │ │ ├── code-block.tsx │ │ ├── code-tabs.tsx │ │ ├── code.tsx │ │ ├── copy-button.tsx │ │ ├── copy-page-button.tsx │ │ ├── demo.tsx │ │ ├── docs-chat.tsx │ │ ├── docs-mobile-nav.tsx │ │ ├── docs-sidebar.tsx │ │ ├── expandable-code.tsx │ │ ├── generation-modes-diagram.tsx │ │ ├── header.tsx │ │ ├── package-install.tsx │ │ ├── playground.tsx │ │ ├── search.tsx │ │ ├── table-of-contents.tsx │ │ ├── theme-provider.tsx │ │ ├── theme-toggle.tsx │ │ └── ui/ │ │ ├── accordion.tsx │ │ ├── alert.tsx │ │ ├── badge.tsx │ │ ├── button.tsx │ │ ├── card.tsx │ │ ├── carousel.tsx │ │ ├── checkbox.tsx │ │ ├── collapsible.tsx │ │ ├── dialog.tsx │ │ ├── drawer.tsx │ │ ├── dropdown-menu.tsx │ │ ├── input.tsx │ │ ├── label.tsx │ │ ├── pagination.tsx │ │ ├── popover.tsx │ │ ├── progress.tsx │ │ ├── radio-group.tsx │ │ ├── resizable.tsx │ │ ├── select.tsx │ │ ├── separator.tsx │ │ ├── sheet.tsx │ │ ├── skeleton.tsx │ │ ├── slider.tsx │ │ ├── sonner.tsx │ │ ├── switch.tsx │ │ ├── table.tsx │ │ ├── tabs.tsx │ │ ├── textarea.tsx │ │ ├── toggle-group.tsx │ │ ├── toggle.tsx │ │ └── tooltip.tsx │ ├── components.json │ ├── eslint.config.js │ ├── lib/ │ │ ├── docs-navigation.ts │ │ ├── examples.ts │ │ ├── mdx-to-markdown.ts │ │ ├── page-metadata.ts │ │ ├── page-titles.ts │ │ ├── rate-limit.ts │ │ ├── render/ │ │ │ ├── catalog-display.ts │ │ │ ├── catalog.ts │ │ │ ├── registry.tsx │ │ │ └── renderer.tsx │ │ ├── search-index.ts │ │ ├── spec-patch.ts │ │ ├── use-playground-stream.ts │ │ └── utils.ts │ ├── mdx-components.tsx │ ├── next.config.js │ ├── package.json │ ├── postcss.config.mjs │ └── tsconfig.json ├── examples/ │ ├── chat/ │ │ ├── .env.example │ │ ├── CHANGELOG.md │ │ ├── app/ │ │ │ ├── api/ │ │ │ │ └── generate/ │ │ │ │ └── route.ts │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── components/ │ │ │ ├── theme-provider.tsx │ │ │ ├── theme-toggle.tsx │ │ │ └── ui/ │ │ │ ├── accordion.tsx │ │ │ ├── alert.tsx │ │ │ ├── badge.tsx │ │ │ ├── button.tsx │ │ │ ├── card.tsx │ │ │ ├── chart.tsx │ │ │ ├── input.tsx │ │ │ ├── label.tsx │ │ │ ├── progress.tsx │ │ │ ├── radio-group.tsx │ │ │ ├── select.tsx │ │ │ ├── separator.tsx │ │ │ ├── skeleton.tsx │ │ │ ├── table.tsx │ │ │ └── tabs.tsx │ │ ├── eslint.config.js │ │ ├── lib/ │ │ │ ├── agent.ts │ │ │ ├── rate-limit.ts │ │ │ ├── render/ │ │ │ │ ├── catalog.ts │ │ │ │ ├── registry.tsx │ │ │ │ └── renderer.tsx │ │ │ ├── tools/ │ │ │ │ ├── crypto.ts │ │ │ │ ├── github.ts │ │ │ │ ├── hackernews.ts │ │ │ │ ├── search.ts │ │ │ │ └── weather.ts │ │ │ └── utils.ts │ │ ├── next-env.d.ts │ │ ├── next.config.ts │ │ ├── package.json │ │ ├── postcss.config.mjs │ │ └── tsconfig.json │ ├── dashboard/ │ │ ├── .env.example │ │ ├── CHANGELOG.md │ │ ├── app/ │ │ │ ├── api/ │ │ │ │ ├── generate/ │ │ │ │ │ └── route.ts │ │ │ │ └── v1/ │ │ │ │ ├── accounts/ │ │ │ │ │ ├── [id]/ │ │ │ │ │ │ └── route.ts │ │ │ │ │ └── route.ts │ │ │ │ ├── customers/ │ │ │ │ │ ├── [id]/ │ │ │ │ │ │ └── route.ts │ │ │ │ │ └── route.ts │ │ │ │ ├── expenses/ │ │ │ │ │ ├── [id]/ │ │ │ │ │ │ ├── approve/ │ │ │ │ │ │ │ └── route.ts │ │ │ │ │ │ ├── reject/ │ │ │ │ │ │ │ └── route.ts │ │ │ │ │ │ └── route.ts │ │ │ │ │ └── route.ts │ │ │ │ ├── invoices/ │ │ │ │ │ ├── [id]/ │ │ │ │ │ │ ├── mark-paid/ │ │ │ │ │ │ │ └── route.ts │ │ │ │ │ │ ├── route.ts │ │ │ │ │ │ └── send/ │ │ │ │ │ │ └── route.ts │ │ │ │ │ └── route.ts │ │ │ │ ├── reports/ │ │ │ │ │ ├── export/ │ │ │ │ │ │ └── route.ts │ │ │ │ │ └── profit-loss/ │ │ │ │ │ └── route.ts │ │ │ │ ├── reset/ │ │ │ │ │ └── route.ts │ │ │ │ └── widgets/ │ │ │ │ ├── [id]/ │ │ │ │ │ └── route.ts │ │ │ │ ├── reorder/ │ │ │ │ │ └── route.ts │ │ │ │ └── route.ts │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── components/ │ │ │ ├── add-widget-card.tsx │ │ │ ├── code-highlight.tsx │ │ │ ├── header.tsx │ │ │ ├── sortable-widget.tsx │ │ │ ├── theme-provider.tsx │ │ │ ├── theme-toggle.tsx │ │ │ ├── ui/ │ │ │ │ ├── accordion.tsx │ │ │ │ ├── alert.tsx │ │ │ │ ├── animated-border.tsx │ │ │ │ ├── avatar.tsx │ │ │ │ ├── badge.tsx │ │ │ │ ├── button.tsx │ │ │ │ ├── card.tsx │ │ │ │ ├── chart.tsx │ │ │ │ ├── checkbox.tsx │ │ │ │ ├── dialog.tsx │ │ │ │ ├── drawer.tsx │ │ │ │ ├── dropdown-menu.tsx │ │ │ │ ├── input.tsx │ │ │ │ ├── label.tsx │ │ │ │ ├── pagination.tsx │ │ │ │ ├── popover.tsx │ │ │ │ ├── progress.tsx │ │ │ │ ├── radio-group.tsx │ │ │ │ ├── select.tsx │ │ │ │ ├── separator.tsx │ │ │ │ ├── skeleton.tsx │ │ │ │ ├── switch.tsx │ │ │ │ ├── table.tsx │ │ │ │ ├── tabs.tsx │ │ │ │ ├── textarea.tsx │ │ │ │ └── tooltip.tsx │ │ │ └── widget.tsx │ │ ├── components.json │ │ ├── drizzle.config.ts │ │ ├── eslint.config.js │ │ ├── lib/ │ │ │ ├── db/ │ │ │ │ ├── connection.ts │ │ │ │ ├── schema.ts │ │ │ │ └── store.ts │ │ │ ├── rate-limit.ts │ │ │ ├── render/ │ │ │ │ ├── catalog.ts │ │ │ │ ├── registry.tsx │ │ │ │ └── renderer.tsx │ │ │ └── utils.ts │ │ ├── next-env.d.ts │ │ ├── next.config.js │ │ ├── package.json │ │ ├── postcss.config.mjs │ │ ├── scripts/ │ │ │ ├── clear.ts │ │ │ └── seed.ts │ │ └── tsconfig.json │ ├── image/ │ │ ├── .env.example │ │ ├── CHANGELOG.md │ │ ├── app/ │ │ │ ├── api/ │ │ │ │ ├── generate/ │ │ │ │ │ └── route.ts │ │ │ │ └── image/ │ │ │ │ └── route.ts │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── components/ │ │ │ └── ui/ │ │ │ ├── resizable.tsx │ │ │ ├── scroll-area.tsx │ │ │ └── sheet.tsx │ │ ├── components.json │ │ ├── eslint.config.js │ │ ├── lib/ │ │ │ ├── catalog.ts │ │ │ ├── examples.ts │ │ │ ├── rate-limit.ts │ │ │ └── utils.ts │ │ ├── next-env.d.ts │ │ ├── next.config.ts │ │ ├── package.json │ │ ├── postcss.config.mjs │ │ └── tsconfig.json │ ├── mcp/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── server.ts │ │ ├── src/ │ │ │ ├── catalog.ts │ │ │ ├── globals.css │ │ │ ├── main.tsx │ │ │ └── mcp-app-view.tsx │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── no-ai/ │ │ ├── CHANGELOG.md │ │ ├── app/ │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── eslint.config.js │ │ ├── lib/ │ │ │ ├── examples.ts │ │ │ └── render/ │ │ │ ├── catalog.ts │ │ │ └── registry.tsx │ │ ├── next-env.d.ts │ │ ├── next.config.ts │ │ ├── package.json │ │ ├── postcss.config.mjs │ │ └── tsconfig.json │ ├── react-email/ │ │ ├── .env.example │ │ ├── CHANGELOG.md │ │ ├── app/ │ │ │ ├── api/ │ │ │ │ ├── email/ │ │ │ │ │ └── route.ts │ │ │ │ └── generate/ │ │ │ │ └── route.ts │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── components/ │ │ │ └── ui/ │ │ │ ├── button.tsx │ │ │ ├── resizable.tsx │ │ │ ├── scroll-area.tsx │ │ │ ├── separator.tsx │ │ │ ├── sheet.tsx │ │ │ ├── tabs.tsx │ │ │ └── textarea.tsx │ │ ├── components.json │ │ ├── lib/ │ │ │ ├── catalog.ts │ │ │ ├── examples.ts │ │ │ ├── rate-limit.ts │ │ │ └── utils.ts │ │ ├── next-env.d.ts │ │ ├── next.config.ts │ │ ├── package.json │ │ ├── postcss.config.mjs │ │ └── tsconfig.json │ ├── react-native/ │ │ ├── .env.example │ │ ├── CHANGELOG.md │ │ ├── app/ │ │ │ ├── _layout.tsx │ │ │ ├── api/ │ │ │ │ └── generate+api.ts │ │ │ └── index.tsx │ │ ├── app.json │ │ ├── lib/ │ │ │ └── render/ │ │ │ ├── catalog.ts │ │ │ ├── registry.tsx │ │ │ └── renderer.tsx │ │ ├── metro.config.js │ │ ├── package.json │ │ └── tsconfig.json │ ├── react-pdf/ │ │ ├── .env.example │ │ ├── CHANGELOG.md │ │ ├── app/ │ │ │ ├── api/ │ │ │ │ ├── generate/ │ │ │ │ │ └── route.ts │ │ │ │ └── pdf/ │ │ │ │ └── route.ts │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── components/ │ │ │ └── ui/ │ │ │ ├── button.tsx │ │ │ ├── resizable.tsx │ │ │ ├── scroll-area.tsx │ │ │ ├── separator.tsx │ │ │ ├── sheet.tsx │ │ │ ├── tabs.tsx │ │ │ └── textarea.tsx │ │ ├── components.json │ │ ├── lib/ │ │ │ ├── catalog.ts │ │ │ ├── examples.ts │ │ │ ├── rate-limit.ts │ │ │ └── utils.ts │ │ ├── next-env.d.ts │ │ ├── next.config.ts │ │ ├── package.json │ │ ├── postcss.config.mjs │ │ └── tsconfig.json │ ├── react-three-fiber/ │ │ ├── CHANGELOG.md │ │ ├── app/ │ │ │ ├── layout.tsx │ │ │ ├── page.tsx │ │ │ └── scenes/ │ │ │ ├── _helpers.ts │ │ │ ├── clockwork-orrery.ts │ │ │ ├── deep-sea-abyss.ts │ │ │ ├── floating-islands.ts │ │ │ ├── hyperspace-tunnel.ts │ │ │ ├── index.ts │ │ │ ├── mystify.ts │ │ │ ├── orbital-chaos.ts │ │ │ ├── perpetual-motion.ts │ │ │ ├── pipes.ts │ │ │ ├── portal-gallery.ts │ │ │ ├── product-showroom.ts │ │ │ ├── starfield.ts │ │ │ └── storm-cell.ts │ │ ├── eslint.config.js │ │ ├── next-env.d.ts │ │ ├── next.config.ts │ │ ├── package.json │ │ └── tsconfig.json │ ├── remotion/ │ │ ├── .env.example │ │ ├── CHANGELOG.md │ │ ├── app/ │ │ │ ├── api/ │ │ │ │ └── generate/ │ │ │ │ └── route.ts │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── lib/ │ │ │ ├── catalog.ts │ │ │ ├── rate-limit.ts │ │ │ └── utils.ts │ │ ├── next-env.d.ts │ │ ├── next.config.js │ │ ├── package.json │ │ ├── postcss.config.mjs │ │ └── tsconfig.json │ ├── solid/ │ │ ├── CHANGELOG.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── DemoRenderer.tsx │ │ │ ├── app.css │ │ │ ├── index.tsx │ │ │ └── lib/ │ │ │ ├── catalog.ts │ │ │ ├── components/ │ │ │ │ ├── Badge.tsx │ │ │ │ ├── Button.tsx │ │ │ │ ├── Card.tsx │ │ │ │ ├── Input.tsx │ │ │ │ ├── ListItem.tsx │ │ │ │ ├── Stack.tsx │ │ │ │ └── Text.tsx │ │ │ ├── registry.tsx │ │ │ └── spec.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── stripe-app/ │ │ ├── README.md │ │ ├── api/ │ │ │ ├── .env.example │ │ │ ├── README.md │ │ │ ├── app/ │ │ │ │ ├── api/ │ │ │ │ │ └── generate/ │ │ │ │ │ └── route.ts │ │ │ │ ├── layout.tsx │ │ │ │ └── page.tsx │ │ │ ├── next-env.d.ts │ │ │ ├── next.config.ts │ │ │ ├── package.json │ │ │ └── tsconfig.json │ │ ├── drawer-app/ │ │ │ ├── .env.example │ │ │ ├── CHANGELOG.md │ │ │ ├── README.md │ │ │ ├── eslint.config.js │ │ │ ├── jest.config.js │ │ │ ├── package.json │ │ │ ├── scripts/ │ │ │ │ └── setup.mjs │ │ │ ├── src/ │ │ │ │ ├── lib/ │ │ │ │ │ ├── config.ts │ │ │ │ │ ├── render/ │ │ │ │ │ │ ├── catalog/ │ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ │ └── components.tsx │ │ │ │ │ │ ├── catalog.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── renderer.tsx │ │ │ │ │ ├── stream-spec.ts │ │ │ │ │ └── stripe.ts │ │ │ │ └── views/ │ │ │ │ ├── CustomerDetails.test.tsx │ │ │ │ ├── CustomerDetails.tsx │ │ │ │ ├── Customers.test.tsx │ │ │ │ ├── Customers.tsx │ │ │ │ ├── Home.test.tsx │ │ │ │ ├── Home.tsx │ │ │ │ ├── Invoices.tsx │ │ │ │ ├── PaymentDetails.tsx │ │ │ │ ├── Payments.tsx │ │ │ │ ├── Products.tsx │ │ │ │ └── Subscriptions.tsx │ │ │ ├── stripe-app.template.json │ │ │ ├── tsconfig.json │ │ │ └── ui-extensions.d.ts │ │ └── fullpage-app/ │ │ ├── .env.example │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── eslint.config.js │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── setup.mjs │ │ ├── src/ │ │ │ ├── lib/ │ │ │ │ ├── config.ts │ │ │ │ ├── render/ │ │ │ │ │ ├── catalog/ │ │ │ │ │ │ ├── actions.ts │ │ │ │ │ │ └── components.tsx │ │ │ │ │ ├── catalog.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── renderer.tsx │ │ │ │ ├── stream-spec.ts │ │ │ │ └── stripe.ts │ │ │ └── views/ │ │ │ └── FullPage.tsx │ │ ├── stripe-app.template.json │ │ ├── tsconfig.json │ │ └── ui-extensions.d.ts │ ├── svelte/ │ │ ├── CHANGELOG.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.svelte │ │ │ ├── DemoRenderer.svelte │ │ │ ├── app.css │ │ │ ├── lib/ │ │ │ │ ├── catalog.ts │ │ │ │ ├── components/ │ │ │ │ │ ├── Badge.svelte │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── Card.svelte │ │ │ │ │ ├── Input.svelte │ │ │ │ │ ├── ListItem.svelte │ │ │ │ │ ├── Stack.svelte │ │ │ │ │ └── Text.svelte │ │ │ │ ├── registry.ts │ │ │ │ └── spec.ts │ │ │ ├── main.ts │ │ │ └── vite-env.d.ts │ │ ├── svelte.config.js │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── svelte-chat/ │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── .npmrc │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── components.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── app.css │ │ │ ├── app.d.ts │ │ │ ├── app.html │ │ │ ├── lib/ │ │ │ │ ├── agent.ts │ │ │ │ ├── components/ │ │ │ │ │ └── ui/ │ │ │ │ │ ├── accordion/ │ │ │ │ │ │ ├── accordion-content.svelte │ │ │ │ │ │ ├── accordion-item.svelte │ │ │ │ │ │ ├── accordion-trigger.svelte │ │ │ │ │ │ ├── accordion.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── alert/ │ │ │ │ │ │ ├── alert-description.svelte │ │ │ │ │ │ ├── alert-title.svelte │ │ │ │ │ │ ├── alert.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── badge/ │ │ │ │ │ │ ├── badge.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── button/ │ │ │ │ │ │ ├── button.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── card/ │ │ │ │ │ │ ├── card-action.svelte │ │ │ │ │ │ ├── card-content.svelte │ │ │ │ │ │ ├── card-description.svelte │ │ │ │ │ │ ├── card-footer.svelte │ │ │ │ │ │ ├── card-header.svelte │ │ │ │ │ │ ├── card-title.svelte │ │ │ │ │ │ ├── card.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── input/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── input.svelte │ │ │ │ │ ├── label/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── label.svelte │ │ │ │ │ ├── progress/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── progress.svelte │ │ │ │ │ ├── radio-group/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── radio-group-item.svelte │ │ │ │ │ │ └── radio-group.svelte │ │ │ │ │ ├── select/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── select-content.svelte │ │ │ │ │ │ ├── select-group-heading.svelte │ │ │ │ │ │ ├── select-group.svelte │ │ │ │ │ │ ├── select-item.svelte │ │ │ │ │ │ ├── select-label.svelte │ │ │ │ │ │ ├── select-portal.svelte │ │ │ │ │ │ ├── select-scroll-down-button.svelte │ │ │ │ │ │ ├── select-scroll-up-button.svelte │ │ │ │ │ │ ├── select-separator.svelte │ │ │ │ │ │ ├── select-trigger.svelte │ │ │ │ │ │ └── select.svelte │ │ │ │ │ ├── separator/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── separator.svelte │ │ │ │ │ ├── table/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── table-body.svelte │ │ │ │ │ │ ├── table-caption.svelte │ │ │ │ │ │ ├── table-cell.svelte │ │ │ │ │ │ ├── table-footer.svelte │ │ │ │ │ │ ├── table-head.svelte │ │ │ │ │ │ ├── table-header.svelte │ │ │ │ │ │ ├── table-row.svelte │ │ │ │ │ │ └── table.svelte │ │ │ │ │ └── tabs/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── tabs-content.svelte │ │ │ │ │ ├── tabs-list.svelte │ │ │ │ │ ├── tabs-trigger.svelte │ │ │ │ │ └── tabs.svelte │ │ │ │ ├── index.ts │ │ │ │ ├── rate-limit.ts │ │ │ │ ├── render/ │ │ │ │ │ ├── Renderer.svelte │ │ │ │ │ ├── catalog.ts │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── Accordion.svelte │ │ │ │ │ │ ├── Alert.svelte │ │ │ │ │ │ ├── Badge.svelte │ │ │ │ │ │ ├── BarChart.svelte │ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ │ ├── Callout.svelte │ │ │ │ │ │ ├── Card.svelte │ │ │ │ │ │ ├── Grid.svelte │ │ │ │ │ │ ├── Heading.svelte │ │ │ │ │ │ ├── LineChart.svelte │ │ │ │ │ │ ├── Link.svelte │ │ │ │ │ │ ├── Metric.svelte │ │ │ │ │ │ ├── PieChart.svelte │ │ │ │ │ │ ├── Progress.svelte │ │ │ │ │ │ ├── RadioGroup.svelte │ │ │ │ │ │ ├── SelectInput.svelte │ │ │ │ │ │ ├── Separator.svelte │ │ │ │ │ │ ├── Skeleton.svelte │ │ │ │ │ │ ├── Stack.svelte │ │ │ │ │ │ ├── TabContent.svelte │ │ │ │ │ │ ├── Table.svelte │ │ │ │ │ │ ├── Tabs.svelte │ │ │ │ │ │ ├── Text.svelte │ │ │ │ │ │ ├── TextInput.svelte │ │ │ │ │ │ └── Timeline.svelte │ │ │ │ │ └── registry.ts │ │ │ │ ├── tools/ │ │ │ │ │ ├── crypto.ts │ │ │ │ │ ├── github.ts │ │ │ │ │ ├── hackernews.ts │ │ │ │ │ ├── search.ts │ │ │ │ │ └── weather.ts │ │ │ │ └── utils.ts │ │ │ └── routes/ │ │ │ ├── +layout.svelte │ │ │ ├── +page.svelte │ │ │ └── api/ │ │ │ └── generate/ │ │ │ └── +server.ts │ │ ├── static/ │ │ │ └── robots.txt │ │ ├── svelte.config.js │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── vite-renderers/ │ │ ├── CHANGELOG.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── main.ts │ │ │ ├── react/ │ │ │ │ ├── App.tsx │ │ │ │ ├── catalog.ts │ │ │ │ ├── mount.tsx │ │ │ │ └── registry.tsx │ │ │ ├── shared/ │ │ │ │ ├── catalog-def.ts │ │ │ │ ├── handlers.ts │ │ │ │ └── styles.css │ │ │ ├── solid/ │ │ │ │ ├── App.tsx │ │ │ │ ├── DemoRenderer.tsx │ │ │ │ ├── catalog.ts │ │ │ │ ├── mount.tsx │ │ │ │ └── registry.tsx │ │ │ ├── spec.ts │ │ │ ├── svelte/ │ │ │ │ ├── App.svelte │ │ │ │ ├── DemoRenderer.svelte │ │ │ │ ├── catalog.ts │ │ │ │ ├── components/ │ │ │ │ │ ├── Badge.svelte │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── Card.svelte │ │ │ │ │ ├── Input.svelte │ │ │ │ │ ├── ListItem.svelte │ │ │ │ │ ├── RendererBadge.svelte │ │ │ │ │ ├── RendererTabs.svelte │ │ │ │ │ ├── Stack.svelte │ │ │ │ │ └── Text.svelte │ │ │ │ ├── mount.ts │ │ │ │ └── registry.ts │ │ │ └── vue/ │ │ │ ├── App.vue │ │ │ ├── DemoRenderer.vue │ │ │ ├── catalog.ts │ │ │ ├── mount.ts │ │ │ └── registry.ts │ │ ├── svelte.config.js │ │ ├── tsconfig.json │ │ └── vite.config.ts │ └── vue/ │ ├── CHANGELOG.md │ ├── index.html │ ├── package.json │ ├── src/ │ │ ├── App.vue │ │ ├── DemoRenderer.vue │ │ ├── lib/ │ │ │ ├── catalog.ts │ │ │ ├── registry.ts │ │ │ └── spec.ts │ │ └── main.ts │ ├── tsconfig.json │ └── vite.config.ts ├── package.json ├── packages/ │ ├── codegen/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── serialize.ts │ │ │ ├── traverse.test.ts │ │ │ ├── traverse.ts │ │ │ └── types.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── core/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── actions.test.ts │ │ │ ├── actions.ts │ │ │ ├── diff.ts │ │ │ ├── edit-modes.ts │ │ │ ├── env.d.ts │ │ │ ├── index.ts │ │ │ ├── merge.ts │ │ │ ├── prompt.ts │ │ │ ├── props.test.ts │ │ │ ├── props.ts │ │ │ ├── schema.test.ts │ │ │ ├── schema.ts │ │ │ ├── spec-validator.test.ts │ │ │ ├── spec-validator.ts │ │ │ ├── state-store.test.ts │ │ │ ├── state-store.ts │ │ │ ├── store-utils.ts │ │ │ ├── types.test.ts │ │ │ ├── types.ts │ │ │ ├── validation.test.ts │ │ │ ├── validation.ts │ │ │ ├── visibility.test.ts │ │ │ └── visibility.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── eslint-config/ │ │ ├── README.md │ │ ├── base.js │ │ ├── next.js │ │ ├── package.json │ │ └── react-internal.js │ ├── image/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── catalog-types.ts │ │ │ ├── catalog.ts │ │ │ ├── components/ │ │ │ │ ├── index.ts │ │ │ │ └── standard.tsx │ │ │ ├── index.ts │ │ │ ├── render.test.tsx │ │ │ ├── render.tsx │ │ │ ├── schema.ts │ │ │ ├── server.ts │ │ │ └── types.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── jotai/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── mcp/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── app.ts │ │ │ ├── build-app-html-entry.ts │ │ │ ├── build-app-html.ts │ │ │ ├── index.ts │ │ │ ├── server.ts │ │ │ ├── types.ts │ │ │ └── use-json-render-app.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── react/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── catalog-types.ts │ │ │ ├── chained-actions.test.tsx │ │ │ ├── contexts/ │ │ │ │ ├── actions.tsx │ │ │ │ ├── repeat-scope.tsx │ │ │ │ ├── state.test.tsx │ │ │ │ ├── state.tsx │ │ │ │ ├── validation.tsx │ │ │ │ ├── visibility.test.tsx │ │ │ │ └── visibility.tsx │ │ │ ├── dynamic-forms.test.tsx │ │ │ ├── hooks.test.ts │ │ │ ├── hooks.ts │ │ │ ├── index.ts │ │ │ ├── renderer.test.tsx │ │ │ ├── renderer.tsx │ │ │ └── schema.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── react-email/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── __fixtures__/ │ │ │ │ └── examples.ts │ │ │ ├── catalog-types.ts │ │ │ ├── catalog.ts │ │ │ ├── components/ │ │ │ │ ├── index.ts │ │ │ │ └── standard.tsx │ │ │ ├── contexts/ │ │ │ │ ├── actions.tsx │ │ │ │ ├── repeat-scope.tsx │ │ │ │ ├── state.tsx │ │ │ │ ├── validation.tsx │ │ │ │ └── visibility.tsx │ │ │ ├── index.ts │ │ │ ├── render.test.tsx │ │ │ ├── render.tsx │ │ │ ├── renderer.tsx │ │ │ ├── schema.ts │ │ │ └── server.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── react-native/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── catalog-types.ts │ │ │ ├── catalog.ts │ │ │ ├── components/ │ │ │ │ └── standard.tsx │ │ │ ├── contexts/ │ │ │ │ ├── actions.tsx │ │ │ │ ├── repeat-scope.tsx │ │ │ │ ├── state.tsx │ │ │ │ ├── validation.tsx │ │ │ │ └── visibility.tsx │ │ │ ├── hooks.ts │ │ │ ├── index.ts │ │ │ ├── renderer.tsx │ │ │ └── schema.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── react-pdf/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── catalog-types.ts │ │ │ ├── catalog.ts │ │ │ ├── components/ │ │ │ │ ├── index.ts │ │ │ │ └── standard.tsx │ │ │ ├── contexts/ │ │ │ │ ├── actions.tsx │ │ │ │ ├── repeat-scope.tsx │ │ │ │ ├── state.test.tsx │ │ │ │ ├── state.tsx │ │ │ │ ├── validation.tsx │ │ │ │ └── visibility.tsx │ │ │ ├── index.ts │ │ │ ├── render.tsx │ │ │ ├── renderer.tsx │ │ │ ├── schema.ts │ │ │ └── server.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── react-state/ │ │ ├── CHANGELOG.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── env.d.ts │ │ │ ├── index.test.tsx │ │ │ └── index.tsx │ │ ├── tsconfig.json │ │ ├── tsup.config.ts │ │ └── vitest.config.ts │ ├── react-three-fiber/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── catalog.ts │ │ │ ├── components.tsx │ │ │ ├── index.ts │ │ │ ├── r3f-jsx.d.ts │ │ │ ├── renderer.tsx │ │ │ └── schemas.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── redux/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── remotion/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── catalog-types.ts │ │ │ ├── catalog.ts │ │ │ ├── components/ │ │ │ │ ├── ClipWrapper.tsx │ │ │ │ ├── Renderer.tsx │ │ │ │ ├── hooks.ts │ │ │ │ ├── index.ts │ │ │ │ ├── standard.tsx │ │ │ │ └── types.ts │ │ │ ├── index.ts │ │ │ ├── schema.ts │ │ │ └── server.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── shadcn/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── components.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── catalog.ts │ │ │ ├── components.tsx │ │ │ ├── index.ts │ │ │ ├── lib/ │ │ │ │ └── utils.ts │ │ │ └── ui/ │ │ │ ├── accordion.tsx │ │ │ ├── alert.tsx │ │ │ ├── avatar.tsx │ │ │ ├── badge.tsx │ │ │ ├── button.tsx │ │ │ ├── card.tsx │ │ │ ├── carousel.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── collapsible.tsx │ │ │ ├── dialog.tsx │ │ │ ├── drawer.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── input.tsx │ │ │ ├── label.tsx │ │ │ ├── pagination.tsx │ │ │ ├── popover.tsx │ │ │ ├── progress.tsx │ │ │ ├── radio-group.tsx │ │ │ ├── select.tsx │ │ │ ├── separator.tsx │ │ │ ├── skeleton.tsx │ │ │ ├── slider.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ ├── toggle-group.tsx │ │ │ ├── toggle.tsx │ │ │ └── tooltip.tsx │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── solid/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── catalog-types.ts │ │ │ ├── chained-actions.test.tsx │ │ │ ├── contexts/ │ │ │ │ ├── actions.test.tsx │ │ │ │ ├── actions.tsx │ │ │ │ ├── repeat-scope.tsx │ │ │ │ ├── state.test.tsx │ │ │ │ ├── state.tsx │ │ │ │ ├── validation.test.tsx │ │ │ │ ├── validation.tsx │ │ │ │ ├── visibility.test.tsx │ │ │ │ └── visibility.tsx │ │ │ ├── dynamic-forms.test.tsx │ │ │ ├── hooks.test.ts │ │ │ ├── hooks.ts │ │ │ ├── index.ts │ │ │ ├── renderer.test.tsx │ │ │ ├── renderer.tsx │ │ │ └── schema.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── svelte/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── CatalogRenderer.svelte │ │ │ ├── ConfirmDialog.svelte │ │ │ ├── ConfirmDialogManager.svelte │ │ │ ├── ElementRenderer.svelte │ │ │ ├── JsonUIProvider.svelte │ │ │ ├── Renderer.svelte │ │ │ ├── RendererWithProvider.test.svelte │ │ │ ├── RepeatChildren.svelte │ │ │ ├── TestButton.svelte │ │ │ ├── TestContainer.svelte │ │ │ ├── TestText.svelte │ │ │ ├── catalog-types.ts │ │ │ ├── contexts/ │ │ │ │ ├── ActionProvider.svelte │ │ │ │ ├── FunctionsContextProvider.svelte │ │ │ │ ├── RepeatScopeProvider.svelte │ │ │ │ ├── StateProvider.svelte │ │ │ │ ├── ValidationProvider.svelte │ │ │ │ ├── VisibilityProvider.svelte │ │ │ │ ├── actions.test.ts │ │ │ │ ├── state.test.ts │ │ │ │ └── visibility.test.ts │ │ │ ├── index.ts │ │ │ ├── renderer.test.ts │ │ │ ├── renderer.ts │ │ │ ├── schema.ts │ │ │ ├── streaming.svelte.ts │ │ │ ├── utils.svelte.ts │ │ │ └── utils.test.ts │ │ ├── svelte.config.js │ │ └── tsconfig.json │ ├── typescript-config/ │ │ ├── base.json │ │ ├── nextjs.json │ │ ├── package.json │ │ └── react-library.json │ ├── ui/ │ │ ├── eslint.config.mjs │ │ ├── package.json │ │ ├── src/ │ │ │ ├── button.tsx │ │ │ ├── card.tsx │ │ │ └── code.tsx │ │ └── tsconfig.json │ ├── vue/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── catalog-types.ts │ │ │ ├── composables/ │ │ │ │ ├── actions.test.ts │ │ │ │ ├── actions.ts │ │ │ │ ├── repeat-scope.ts │ │ │ │ ├── state.test.ts │ │ │ │ ├── state.ts │ │ │ │ ├── validation.test.ts │ │ │ │ ├── validation.ts │ │ │ │ ├── visibility.test.ts │ │ │ │ └── visibility.ts │ │ │ ├── dynamic-forms.test.ts │ │ │ ├── hooks.test.ts │ │ │ ├── hooks.ts │ │ │ ├── index.ts │ │ │ ├── renderer.test.ts │ │ │ ├── renderer.ts │ │ │ └── schema.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── xstate/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── index.test.ts │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── tsup.config.ts │ ├── yaml/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── diff.test.ts │ │ │ ├── diff.ts │ │ │ ├── index.ts │ │ │ ├── merge.test.ts │ │ │ ├── merge.ts │ │ │ ├── parser.test.ts │ │ │ ├── parser.ts │ │ │ ├── prompt.test.ts │ │ │ ├── prompt.ts │ │ │ ├── transform.test.ts │ │ │ └── transform.ts │ │ ├── tsconfig.json │ │ ├── tsup.config.ts │ │ └── vitest.config.ts │ └── zustand/ │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── index.test.ts │ │ └── index.ts │ ├── tsconfig.json │ └── tsup.config.ts ├── pnpm-workspace.yaml ├── scripts/ │ └── generate-og-images.mts ├── skills/ │ ├── codegen/ │ │ └── SKILL.md │ ├── core/ │ │ └── SKILL.md │ ├── image/ │ │ └── SKILL.md │ ├── jotai/ │ │ └── SKILL.md │ ├── mcp/ │ │ └── SKILL.md │ ├── react/ │ │ └── SKILL.md │ ├── react-email/ │ │ └── SKILL.md │ ├── react-native/ │ │ └── SKILL.md │ ├── react-pdf/ │ │ └── SKILL.md │ ├── react-three-fiber/ │ │ └── SKILL.md │ ├── redux/ │ │ └── SKILL.md │ ├── remotion/ │ │ └── SKILL.md │ ├── remotion-best-practices/ │ │ ├── SKILL.md │ │ └── rules/ │ │ ├── 3d.md │ │ ├── animations.md │ │ ├── assets/ │ │ │ ├── charts-bar-chart.tsx │ │ │ ├── text-animations-typewriter.tsx │ │ │ └── text-animations-word-highlight.tsx │ │ ├── assets.md │ │ ├── audio.md │ │ ├── calculate-metadata.md │ │ ├── can-decode.md │ │ ├── charts.md │ │ ├── compositions.md │ │ ├── display-captions.md │ │ ├── extract-frames.md │ │ ├── fonts.md │ │ ├── get-audio-duration.md │ │ ├── get-video-dimensions.md │ │ ├── get-video-duration.md │ │ ├── gifs.md │ │ ├── images.md │ │ ├── import-srt-captions.md │ │ ├── light-leaks.md │ │ ├── lottie.md │ │ ├── maps.md │ │ ├── measuring-dom-nodes.md │ │ ├── measuring-text.md │ │ ├── parameters.md │ │ ├── sequencing.md │ │ ├── subtitles.md │ │ ├── tailwind.md │ │ ├── text-animations.md │ │ ├── timing.md │ │ ├── transcribe-captions.md │ │ ├── transitions.md │ │ ├── transparent-videos.md │ │ ├── trimming.md │ │ └── videos.md │ ├── shadcn/ │ │ └── SKILL.md │ ├── skill-creator/ │ │ ├── LICENSE.txt │ │ ├── SKILL.md │ │ ├── references/ │ │ │ ├── output-patterns.md │ │ │ └── workflows.md │ │ └── scripts/ │ │ ├── init_skill.py │ │ ├── package_skill.py │ │ └── quick_validate.py │ ├── solid/ │ │ └── SKILL.md │ ├── svelte/ │ │ └── SKILL.md │ ├── vue/ │ │ └── SKILL.md │ ├── xstate/ │ │ └── SKILL.md │ ├── yaml/ │ │ └── SKILL.md │ └── zustand/ │ └── SKILL.md ├── tests/ │ └── e2e/ │ ├── package.json │ ├── state-store-e2e.test.ts │ └── vitest.config.ts ├── turbo.json └── vitest.config.mts