Update codebase.ts so that all files are read (#684)

This commit is contained in:
Will Chen
2025-07-21 21:16:00 -07:00
committed by GitHub
parent de21c6ff25
commit de73445766
33 changed files with 1435 additions and 713 deletions

View File

@@ -335,7 +335,15 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="index.html">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="file1.txt">
// File contents excluded from context
</dyad-file>
<dyad-file path="index.html">
<!doctype html>
<html lang="en">
<head>
@@ -417,6 +425,18 @@ createRoot(document.getElementById("root")!).render(<App />);
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";

View File

@@ -148,7 +148,15 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="index.html">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="file1.txt">
// File contents excluded from context
</dyad-file>
<dyad-file path="index.html">
<!doctype html>
<html lang="en">
<head>
@@ -185,6 +193,18 @@ createRoot(document.getElementById("root")!).render(<App />);
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";

View File

@@ -335,7 +335,15 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="index.html">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="file1.txt">
// File contents excluded from context
</dyad-file>
<dyad-file path="index.html">
<!doctype html>
<html lang="en">
<head>
@@ -372,6 +380,18 @@ createRoot(document.getElementById("root")!).render(<App />);
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";

View File

@@ -320,7 +320,7 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="src/components/ui/helper.ts">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/foo.ts">

View File

@@ -21,6 +21,11 @@
},
"dyad_options": {
"files": [
{
"path": ".env.foobar",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "a.ts",
"content": "// a.ts\n",
@@ -41,6 +46,11 @@
"content": "// exclude.tsx: this file is not in any of the globs\n",
"force": false
},
{
"path": "manual/baz.json",
"content": "// File contents excluded from context",
"force": true
},
{
"path": "manual/file.ts",
"content": "",
@@ -53,12 +63,12 @@
},
{
"path": "src/components/ui/button.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/helper.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{

View File

@@ -15,6 +15,6 @@
- text: /a\.ts 1 files, ~\d+ tokens/
- button:
- img
- text: /manual\/\*\* 2 files, ~\d+ tokens/
- text: /manual\/\*\* 3 files, ~\d+ tokens/
- button:
- img

View File

@@ -26,6 +26,11 @@
"content": "// a.ts\n",
"force": true
},
{
"path": "manual/baz.json",
"content": "// File contents excluded from context",
"force": true
},
{
"path": "manual/file.ts",
"content": "",
@@ -38,7 +43,7 @@
},
{
"path": "src/components/ui/helper.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{

View File

@@ -20,6 +20,6 @@
- text: /a\.ts 1 files, ~\d+ tokens/
- button:
- img
- text: /manual\/\*\* 2 files, ~\d+ tokens/
- text: /manual\/\*\* 3 files, ~\d+ tokens/
- button:
- img

View File

@@ -31,7 +31,7 @@
"files": [
{
"path": "src/components/ui/helper.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{

View File

@@ -37,6 +37,11 @@
},
"dyad_options": {
"files": [
{
"path": ".env.foobar",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "a.ts",
"content": "// a.ts\n",
@@ -57,6 +62,11 @@
"content": "// exclude.tsx: this file is not in any of the globs\n",
"force": false
},
{
"path": "manual/baz.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "manual/file.ts",
"content": "",
@@ -69,12 +79,12 @@
},
{
"path": "src/components/ui/button.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/helper.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{

View File

@@ -337,7 +337,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
# Tech Stack
- You are building a React application.
@@ -360,8 +364,12 @@ Available packages and libraries:
</dyad-file>
<dyad-file path="components.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="eslint.config.js">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="index.html">
@@ -391,6 +399,18 @@ export default {
</dyad-file>
<dyad-file path="public/favicon.ico">
// File contents excluded from context
</dyad-file>
<dyad-file path="public/placeholder.svg">
// File contents excluded from context
</dyad-file>
<dyad-file path="public/robots.txt">
// File contents excluded from context
</dyad-file>
<dyad-file path="README.md">
# Welcome to your Dyad app
@@ -492,199 +512,199 @@ export const MadeWithDyad = () => {
</dyad-file>
<dyad-file path="src/components/ui/accordion.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/alert-dialog.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/alert.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/aspect-ratio.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/avatar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/badge.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/breadcrumb.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/button.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/calendar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/card.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/carousel.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/chart.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/checkbox.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/collapsible.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/command.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/context-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/dialog.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/drawer.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/dropdown-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/form.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/hover-card.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/input-otp.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/input.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/label.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/menubar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/navigation-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/pagination.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/popover.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/progress.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/radio-group.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/resizable.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/scroll-area.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/select.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/separator.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sheet.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sidebar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/skeleton.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/slider.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sonner.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/switch.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/table.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/tabs.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/textarea.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toast.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toaster.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toggle-group.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toggle.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/tooltip.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/use-toast.ts">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/globals.css">
@@ -1208,6 +1228,18 @@ export default {
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import dyadComponentTagger from "@dyad-sh/react-vite-component-tagger";

View File

@@ -337,7 +337,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
# Tech Stack
- You are building a React application.
@@ -360,8 +364,12 @@ Available packages and libraries:
</dyad-file>
<dyad-file path="components.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="eslint.config.js">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="index.html">
@@ -391,6 +399,18 @@ export default {
</dyad-file>
<dyad-file path="public/favicon.ico">
// File contents excluded from context
</dyad-file>
<dyad-file path="public/placeholder.svg">
// File contents excluded from context
</dyad-file>
<dyad-file path="public/robots.txt">
// File contents excluded from context
</dyad-file>
<dyad-file path="README.md">
# Welcome to your Dyad app
@@ -492,199 +512,199 @@ export const MadeWithDyad = () => {
</dyad-file>
<dyad-file path="src/components/ui/accordion.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/alert-dialog.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/alert.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/aspect-ratio.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/avatar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/badge.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/breadcrumb.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/button.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/calendar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/card.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/carousel.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/chart.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/checkbox.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/collapsible.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/command.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/context-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/dialog.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/drawer.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/dropdown-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/form.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/hover-card.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/input-otp.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/input.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/label.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/menubar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/navigation-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/pagination.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/popover.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/progress.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/radio-group.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/resizable.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/scroll-area.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/select.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/separator.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sheet.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sidebar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/skeleton.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/slider.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sonner.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/switch.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/table.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/tabs.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/textarea.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toast.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toaster.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toggle-group.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toggle.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/tooltip.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/use-toast.ts">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/globals.css">
@@ -1208,6 +1228,18 @@ export default {
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import dyadComponentTagger from "@dyad-sh/react-vite-component-tagger";

View File

@@ -337,7 +337,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
# Tech Stack
- You are building a React application.
@@ -360,8 +364,12 @@ Available packages and libraries:
</dyad-file>
<dyad-file path="components.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="eslint.config.js">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="index.html">
@@ -391,6 +399,18 @@ export default {
</dyad-file>
<dyad-file path="public/favicon.ico">
// File contents excluded from context
</dyad-file>
<dyad-file path="public/placeholder.svg">
// File contents excluded from context
</dyad-file>
<dyad-file path="public/robots.txt">
// File contents excluded from context
</dyad-file>
<dyad-file path="README.md">
# Welcome to your Dyad app
@@ -492,199 +512,199 @@ export const MadeWithDyad = () => {
</dyad-file>
<dyad-file path="src/components/ui/accordion.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/alert-dialog.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/alert.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/aspect-ratio.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/avatar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/badge.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/breadcrumb.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/button.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/calendar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/card.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/carousel.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/chart.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/checkbox.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/collapsible.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/command.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/context-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/dialog.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/drawer.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/dropdown-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/form.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/hover-card.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/input-otp.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/input.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/label.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/menubar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/navigation-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/pagination.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/popover.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/progress.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/radio-group.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/resizable.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/scroll-area.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/select.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/separator.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sheet.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sidebar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/skeleton.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/slider.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sonner.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/switch.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/table.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/tabs.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/textarea.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toast.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toaster.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toggle-group.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toggle.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/tooltip.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/use-toast.ts">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/globals.css">
@@ -1208,6 +1228,18 @@ export default {
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import dyadComponentTagger from "@dyad-sh/react-vite-component-tagger";

View File

@@ -337,7 +337,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
# Tech Stack
- You are building a React application.
@@ -360,8 +364,12 @@ Available packages and libraries:
</dyad-file>
<dyad-file path="components.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="eslint.config.js">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="index.html">
@@ -391,6 +399,18 @@ export default {
</dyad-file>
<dyad-file path="public/favicon.ico">
// File contents excluded from context
</dyad-file>
<dyad-file path="public/placeholder.svg">
// File contents excluded from context
</dyad-file>
<dyad-file path="public/robots.txt">
// File contents excluded from context
</dyad-file>
<dyad-file path="README.md">
# Welcome to your Dyad app
@@ -492,199 +512,199 @@ export const MadeWithDyad = () => {
</dyad-file>
<dyad-file path="src/components/ui/accordion.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/alert-dialog.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/alert.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/aspect-ratio.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/avatar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/badge.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/breadcrumb.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/button.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/calendar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/card.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/carousel.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/chart.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/checkbox.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/collapsible.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/command.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/context-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/dialog.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/drawer.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/dropdown-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/form.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/hover-card.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/input-otp.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/input.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/label.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/menubar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/navigation-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/pagination.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/popover.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/progress.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/radio-group.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/resizable.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/scroll-area.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/select.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/separator.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sheet.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sidebar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/skeleton.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/slider.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sonner.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/switch.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/table.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/tabs.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/textarea.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toast.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toaster.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toggle-group.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toggle.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/tooltip.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/use-toast.ts">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/globals.css">
@@ -1208,6 +1228,18 @@ export default {
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import dyadComponentTagger from "@dyad-sh/react-vite-component-tagger";

View File

@@ -337,7 +337,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
# Tech Stack
- You are building a React application.
@@ -360,8 +364,12 @@ Available packages and libraries:
</dyad-file>
<dyad-file path="components.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="eslint.config.js">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="index.html">
@@ -391,6 +399,18 @@ export default {
</dyad-file>
<dyad-file path="public/favicon.ico">
// File contents excluded from context
</dyad-file>
<dyad-file path="public/placeholder.svg">
// File contents excluded from context
</dyad-file>
<dyad-file path="public/robots.txt">
// File contents excluded from context
</dyad-file>
<dyad-file path="README.md">
# Welcome to your Dyad app
@@ -492,199 +512,199 @@ export const MadeWithDyad = () => {
</dyad-file>
<dyad-file path="src/components/ui/accordion.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/alert-dialog.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/alert.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/aspect-ratio.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/avatar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/badge.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/breadcrumb.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/button.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/calendar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/card.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/carousel.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/chart.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/checkbox.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/collapsible.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/command.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/context-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/dialog.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/drawer.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/dropdown-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/form.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/hover-card.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/input-otp.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/input.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/label.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/menubar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/navigation-menu.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/pagination.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/popover.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/progress.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/radio-group.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/resizable.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/scroll-area.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/select.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/separator.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sheet.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sidebar.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/skeleton.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/slider.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/sonner.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/switch.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/table.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/tabs.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/textarea.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toast.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toaster.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toggle-group.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/toggle.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/tooltip.tsx">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/components/ui/use-toast.ts">
// Contents omitted for brevity
// File contents excluded from context
</dyad-file>
<dyad-file path="src/globals.css">
@@ -1208,6 +1228,18 @@ export default {
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import dyadComponentTagger from "@dyad-sh/react-vite-component-tagger";

View File

@@ -21,14 +21,24 @@
},
"dyad_options": {
"files": [
{
"path": ".gitignore",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "AI_RULES.md",
"content": "# Tech Stack\n\n- You are building a React application.\n- Use TypeScript.\n- Use React Router. KEEP the routes in src/App.tsx\n- Always put source code in the src folder.\n- Put pages into src/pages/\n- Put components into src/components/\n- The main page (default page) is src/pages/Index.tsx\n- UPDATE the main page to include the new components. OTHERWISE, the user can NOT see any components!\n- ALWAYS try to use the shadcn/ui library.\n- Tailwind CSS: always use Tailwind CSS for styling components. Utilize Tailwind classes extensively for layout, spacing, colors, and other design aspects.\n\nAvailable packages and libraries:\n\n- The lucide-react package is installed for icons.\n- You ALREADY have ALL the shadcn/ui components and their dependencies installed. So you don't need to install them again.\n- You have ALL the necessary Radix UI components installed.\n- Use prebuilt components from the shadcn/ui library after importing them. Note that these files shouldn't be edited, so make new components if you need to change them.\n",
"force": false
},
{
"path": "components.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "eslint.config.js",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -46,6 +56,21 @@
"content": "export default {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};\n",
"force": false
},
{
"path": "public/favicon.ico",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/placeholder.svg",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/robots.txt",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "README.md",
"content": "# Welcome to your Dyad app\n",
@@ -68,247 +93,247 @@
},
{
"path": "src/components/ui/accordion.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert-dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/aspect-ratio.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/avatar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/badge.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/breadcrumb.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/button.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/calendar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/carousel.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/chart.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/checkbox.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/collapsible.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/command.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/context-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/drawer.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dropdown-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/form.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/hover-card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input-otp.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/label.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/menubar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/navigation-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/pagination.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/popover.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/progress.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/radio-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/resizable.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/scroll-area.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/select.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/separator.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sheet.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sidebar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/skeleton.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/slider.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sonner.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/switch.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/table.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tabs.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/textarea.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toast.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toaster.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tooltip.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/use-toast.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -361,6 +386,21 @@
"content": "import type { Config } from \"tailwindcss\";\n\nexport default {\n darkMode: [\"class\"],\n content: [\n \"./pages/**/*.{ts,tsx}\",\n \"./components/**/*.{ts,tsx}\",\n \"./app/**/*.{ts,tsx}\",\n \"./src/**/*.{ts,tsx}\",\n ],\n prefix: \"\",\n theme: {\n container: {\n center: true,\n padding: \"2rem\",\n screens: {\n \"2xl\": \"1400px\",\n },\n },\n extend: {\n colors: {\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n keyframes: {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n },\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n },\n },\n },\n plugins: [require(\"tailwindcss-animate\")],\n} satisfies Config;\n",
"force": false
},
{
"path": "tsconfig.app.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.node.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "vite.config.ts",
"content": "import { defineConfig } from \"vite\";\nimport dyadComponentTagger from \"@dyad-sh/react-vite-component-tagger\";\nimport react from \"@vitejs/plugin-react-swc\";\nimport path from \"path\";\n\nexport default defineConfig(() => ({\n server: {\n host: \"::\",\n port: 8080,\n },\n plugins: [dyadComponentTagger(), react()],\n resolve: {\n alias: {\n \"@\": path.resolve(__dirname, \"./src\"),\n },\n },\n}));\n",

View File

@@ -16,14 +16,24 @@
"stream": true,
"dyad_options": {
"files": [
{
"path": ".gitignore",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "AI_RULES.md",
"content": "# Tech Stack\n\n- You are building a React application.\n- Use TypeScript.\n- Use React Router. KEEP the routes in src/App.tsx\n- Always put source code in the src folder.\n- Put pages into src/pages/\n- Put components into src/components/\n- The main page (default page) is src/pages/Index.tsx\n- UPDATE the main page to include the new components. OTHERWISE, the user can NOT see any components!\n- ALWAYS try to use the shadcn/ui library.\n- Tailwind CSS: always use Tailwind CSS for styling components. Utilize Tailwind classes extensively for layout, spacing, colors, and other design aspects.\n\nAvailable packages and libraries:\n\n- The lucide-react package is installed for icons.\n- You ALREADY have ALL the shadcn/ui components and their dependencies installed. So you don't need to install them again.\n- You have ALL the necessary Radix UI components installed.\n- Use prebuilt components from the shadcn/ui library after importing them. Note that these files shouldn't be edited, so make new components if you need to change them.\n",
"force": false
},
{
"path": "components.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "eslint.config.js",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -41,6 +51,21 @@
"content": "export default {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};\n",
"force": false
},
{
"path": "public/favicon.ico",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/placeholder.svg",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/robots.txt",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "README.md",
"content": "# Welcome to your Dyad app\n",
@@ -63,247 +88,247 @@
},
{
"path": "src/components/ui/accordion.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert-dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/aspect-ratio.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/avatar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/badge.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/breadcrumb.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/button.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/calendar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/carousel.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/chart.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/checkbox.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/collapsible.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/command.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/context-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/drawer.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dropdown-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/form.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/hover-card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input-otp.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/label.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/menubar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/navigation-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/pagination.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/popover.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/progress.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/radio-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/resizable.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/scroll-area.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/select.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/separator.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sheet.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sidebar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/skeleton.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/slider.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sonner.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/switch.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/table.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tabs.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/textarea.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toast.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toaster.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tooltip.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/use-toast.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -356,6 +381,21 @@
"content": "import type { Config } from \"tailwindcss\";\n\nexport default {\n darkMode: [\"class\"],\n content: [\n \"./pages/**/*.{ts,tsx}\",\n \"./components/**/*.{ts,tsx}\",\n \"./app/**/*.{ts,tsx}\",\n \"./src/**/*.{ts,tsx}\",\n ],\n prefix: \"\",\n theme: {\n container: {\n center: true,\n padding: \"2rem\",\n screens: {\n \"2xl\": \"1400px\",\n },\n },\n extend: {\n colors: {\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n keyframes: {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n },\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n },\n },\n },\n plugins: [require(\"tailwindcss-animate\")],\n} satisfies Config;\n",
"force": false
},
{
"path": "tsconfig.app.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.node.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "vite.config.ts",
"content": "import { defineConfig } from \"vite\";\nimport dyadComponentTagger from \"@dyad-sh/react-vite-component-tagger\";\nimport react from \"@vitejs/plugin-react-swc\";\nimport path from \"path\";\n\nexport default defineConfig(() => ({\n server: {\n host: \"::\",\n port: 8080,\n },\n plugins: [dyadComponentTagger(), react()],\n resolve: {\n alias: {\n \"@\": path.resolve(__dirname, \"./src\"),\n },\n },\n}));\n",

View File

@@ -16,14 +16,24 @@
"stream": true,
"dyad_options": {
"files": [
{
"path": ".gitignore",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "AI_RULES.md",
"content": "# Tech Stack\n\n- You are building a React application.\n- Use TypeScript.\n- Use React Router. KEEP the routes in src/App.tsx\n- Always put source code in the src folder.\n- Put pages into src/pages/\n- Put components into src/components/\n- The main page (default page) is src/pages/Index.tsx\n- UPDATE the main page to include the new components. OTHERWISE, the user can NOT see any components!\n- ALWAYS try to use the shadcn/ui library.\n- Tailwind CSS: always use Tailwind CSS for styling components. Utilize Tailwind classes extensively for layout, spacing, colors, and other design aspects.\n\nAvailable packages and libraries:\n\n- The lucide-react package is installed for icons.\n- You ALREADY have ALL the shadcn/ui components and their dependencies installed. So you don't need to install them again.\n- You have ALL the necessary Radix UI components installed.\n- Use prebuilt components from the shadcn/ui library after importing them. Note that these files shouldn't be edited, so make new components if you need to change them.\n",
"force": false
},
{
"path": "components.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "eslint.config.js",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -41,6 +51,21 @@
"content": "export default {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};\n",
"force": false
},
{
"path": "public/favicon.ico",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/placeholder.svg",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/robots.txt",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "README.md",
"content": "# Welcome to your Dyad app\n",
@@ -63,247 +88,247 @@
},
{
"path": "src/components/ui/accordion.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert-dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/aspect-ratio.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/avatar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/badge.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/breadcrumb.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/button.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/calendar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/carousel.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/chart.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/checkbox.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/collapsible.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/command.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/context-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/drawer.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dropdown-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/form.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/hover-card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input-otp.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/label.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/menubar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/navigation-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/pagination.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/popover.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/progress.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/radio-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/resizable.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/scroll-area.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/select.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/separator.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sheet.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sidebar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/skeleton.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/slider.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sonner.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/switch.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/table.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tabs.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/textarea.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toast.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toaster.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tooltip.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/use-toast.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -356,6 +381,21 @@
"content": "import type { Config } from \"tailwindcss\";\n\nexport default {\n darkMode: [\"class\"],\n content: [\n \"./pages/**/*.{ts,tsx}\",\n \"./components/**/*.{ts,tsx}\",\n \"./app/**/*.{ts,tsx}\",\n \"./src/**/*.{ts,tsx}\",\n ],\n prefix: \"\",\n theme: {\n container: {\n center: true,\n padding: \"2rem\",\n screens: {\n \"2xl\": \"1400px\",\n },\n },\n extend: {\n colors: {\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n keyframes: {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n },\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n },\n },\n },\n plugins: [require(\"tailwindcss-animate\")],\n} satisfies Config;\n",
"force": false
},
{
"path": "tsconfig.app.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.node.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "vite.config.ts",
"content": "import { defineConfig } from \"vite\";\nimport dyadComponentTagger from \"@dyad-sh/react-vite-component-tagger\";\nimport react from \"@vitejs/plugin-react-swc\";\nimport path from \"path\";\n\nexport default defineConfig(() => ({\n server: {\n host: \"::\",\n port: 8080,\n },\n plugins: [dyadComponentTagger(), react()],\n resolve: {\n alias: {\n \"@\": path.resolve(__dirname, \"./src\"),\n },\n },\n}));\n",

View File

@@ -21,14 +21,24 @@
},
"dyad_options": {
"files": [
{
"path": ".gitignore",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "AI_RULES.md",
"content": "# Tech Stack\n\n- You are building a React application.\n- Use TypeScript.\n- Use React Router. KEEP the routes in src/App.tsx\n- Always put source code in the src folder.\n- Put pages into src/pages/\n- Put components into src/components/\n- The main page (default page) is src/pages/Index.tsx\n- UPDATE the main page to include the new components. OTHERWISE, the user can NOT see any components!\n- ALWAYS try to use the shadcn/ui library.\n- Tailwind CSS: always use Tailwind CSS for styling components. Utilize Tailwind classes extensively for layout, spacing, colors, and other design aspects.\n\nAvailable packages and libraries:\n\n- The lucide-react package is installed for icons.\n- You ALREADY have ALL the shadcn/ui components and their dependencies installed. So you don't need to install them again.\n- You have ALL the necessary Radix UI components installed.\n- Use prebuilt components from the shadcn/ui library after importing them. Note that these files shouldn't be edited, so make new components if you need to change them.\n",
"force": false
},
{
"path": "components.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "eslint.config.js",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -46,6 +56,21 @@
"content": "export default {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};\n",
"force": false
},
{
"path": "public/favicon.ico",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/placeholder.svg",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/robots.txt",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "README.md",
"content": "# Welcome to your Dyad app\n",
@@ -68,247 +93,247 @@
},
{
"path": "src/components/ui/accordion.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert-dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/aspect-ratio.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/avatar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/badge.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/breadcrumb.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/button.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/calendar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/carousel.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/chart.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/checkbox.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/collapsible.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/command.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/context-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/drawer.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dropdown-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/form.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/hover-card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input-otp.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/label.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/menubar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/navigation-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/pagination.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/popover.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/progress.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/radio-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/resizable.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/scroll-area.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/select.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/separator.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sheet.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sidebar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/skeleton.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/slider.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sonner.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/switch.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/table.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tabs.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/textarea.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toast.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toaster.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tooltip.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/use-toast.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -361,6 +386,21 @@
"content": "import type { Config } from \"tailwindcss\";\n\nexport default {\n darkMode: [\"class\"],\n content: [\n \"./pages/**/*.{ts,tsx}\",\n \"./components/**/*.{ts,tsx}\",\n \"./app/**/*.{ts,tsx}\",\n \"./src/**/*.{ts,tsx}\",\n ],\n prefix: \"\",\n theme: {\n container: {\n center: true,\n padding: \"2rem\",\n screens: {\n \"2xl\": \"1400px\",\n },\n },\n extend: {\n colors: {\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n keyframes: {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n },\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n },\n },\n },\n plugins: [require(\"tailwindcss-animate\")],\n} satisfies Config;\n",
"force": false
},
{
"path": "tsconfig.app.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.node.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "vite.config.ts",
"content": "import { defineConfig } from \"vite\";\nimport dyadComponentTagger from \"@dyad-sh/react-vite-component-tagger\";\nimport react from \"@vitejs/plugin-react-swc\";\nimport path from \"path\";\n\nexport default defineConfig(() => ({\n server: {\n host: \"::\",\n port: 8080,\n },\n plugins: [dyadComponentTagger(), react()],\n resolve: {\n alias: {\n \"@\": path.resolve(__dirname, \"./src\"),\n },\n },\n}));\n",

View File

@@ -21,14 +21,24 @@
},
"dyad_options": {
"files": [
{
"path": ".gitignore",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "AI_RULES.md",
"content": "# Tech Stack\n\n- You are building a React application.\n- Use TypeScript.\n- Use React Router. KEEP the routes in src/App.tsx\n- Always put source code in the src folder.\n- Put pages into src/pages/\n- Put components into src/components/\n- The main page (default page) is src/pages/Index.tsx\n- UPDATE the main page to include the new components. OTHERWISE, the user can NOT see any components!\n- ALWAYS try to use the shadcn/ui library.\n- Tailwind CSS: always use Tailwind CSS for styling components. Utilize Tailwind classes extensively for layout, spacing, colors, and other design aspects.\n\nAvailable packages and libraries:\n\n- The lucide-react package is installed for icons.\n- You ALREADY have ALL the shadcn/ui components and their dependencies installed. So you don't need to install them again.\n- You have ALL the necessary Radix UI components installed.\n- Use prebuilt components from the shadcn/ui library after importing them. Note that these files shouldn't be edited, so make new components if you need to change them.\n",
"force": false
},
{
"path": "components.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "eslint.config.js",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -46,6 +56,21 @@
"content": "export default {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};\n",
"force": false
},
{
"path": "public/favicon.ico",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/placeholder.svg",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/robots.txt",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "README.md",
"content": "# Welcome to your Dyad app\n",
@@ -68,247 +93,247 @@
},
{
"path": "src/components/ui/accordion.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert-dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/aspect-ratio.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/avatar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/badge.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/breadcrumb.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/button.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/calendar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/carousel.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/chart.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/checkbox.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/collapsible.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/command.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/context-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/drawer.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dropdown-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/form.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/hover-card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input-otp.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/label.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/menubar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/navigation-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/pagination.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/popover.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/progress.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/radio-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/resizable.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/scroll-area.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/select.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/separator.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sheet.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sidebar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/skeleton.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/slider.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sonner.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/switch.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/table.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tabs.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/textarea.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toast.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toaster.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tooltip.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/use-toast.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -361,6 +386,21 @@
"content": "import type { Config } from \"tailwindcss\";\n\nexport default {\n darkMode: [\"class\"],\n content: [\n \"./pages/**/*.{ts,tsx}\",\n \"./components/**/*.{ts,tsx}\",\n \"./app/**/*.{ts,tsx}\",\n \"./src/**/*.{ts,tsx}\",\n ],\n prefix: \"\",\n theme: {\n container: {\n center: true,\n padding: \"2rem\",\n screens: {\n \"2xl\": \"1400px\",\n },\n },\n extend: {\n colors: {\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n keyframes: {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n },\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n },\n },\n },\n plugins: [require(\"tailwindcss-animate\")],\n} satisfies Config;\n",
"force": false
},
{
"path": "tsconfig.app.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.node.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "vite.config.ts",
"content": "import { defineConfig } from \"vite\";\nimport dyadComponentTagger from \"@dyad-sh/react-vite-component-tagger\";\nimport react from \"@vitejs/plugin-react-swc\";\nimport path from \"path\";\n\nexport default defineConfig(() => ({\n server: {\n host: \"::\",\n port: 8080,\n },\n plugins: [dyadComponentTagger(), react()],\n resolve: {\n alias: {\n \"@\": path.resolve(__dirname, \"./src\"),\n },\n },\n}));\n",

File diff suppressed because one or more lines are too long

View File

@@ -321,7 +321,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
[[beginning of AI_RULES.md]]
There's already AI rules...
[[end of AI_RULES.md]]
@@ -365,6 +369,18 @@ createRoot(document.getElementById("root")!).render(<App />);
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";

View File

@@ -335,7 +335,15 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="index.html">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="file1.txt">
// File contents excluded from context
</dyad-file>
<dyad-file path="index.html">
<!doctype html>
<html lang="en">
<head>
@@ -372,6 +380,18 @@ createRoot(document.getElementById("root")!).render(<App />);
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";

View File

@@ -321,7 +321,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
[[beginning of AI_RULES.md]]
There's already AI rules...
[[end of AI_RULES.md]]
@@ -354,6 +358,18 @@ finalMainTsxFileWithError();
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";

View File

@@ -321,7 +321,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
[[beginning of AI_RULES.md]]
There's already AI rules...
[[end of AI_RULES.md]]
@@ -363,6 +367,18 @@ finalMainTsxFileWithError();
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";

View File

@@ -321,7 +321,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
[[beginning of AI_RULES.md]]
There's already AI rules...
[[end of AI_RULES.md]]
@@ -372,6 +376,18 @@ createRoot(document.getElementById("root")!).render(<App />);
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";

View File

@@ -321,7 +321,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
[[beginning of AI_RULES.md]]
There's already AI rules...
[[end of AI_RULES.md]]
@@ -374,6 +378,18 @@ createRoot(document.getElementById("root")!).render(<App />);
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";

View File

@@ -321,7 +321,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
[[beginning of AI_RULES.md]]
There's already AI rules...
[[end of AI_RULES.md]]
@@ -373,6 +377,18 @@ createRoot(document.getElementById("root")!).render(<App />);
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";

View File

@@ -321,7 +321,11 @@ You need to first add Supabase to your app and then we can add auth.
===
role: user
message: This is my codebase. <dyad-file path="AI_RULES.md">
message: This is my codebase. <dyad-file path=".gitignore">
// File contents excluded from context
</dyad-file>
<dyad-file path="AI_RULES.md">
[[beginning of AI_RULES.md]]
There's already AI rules...
[[end of AI_RULES.md]]
@@ -329,7 +333,7 @@ There's already AI rules...
</dyad-file>
<dyad-file path="file1.txt">
A file (2)
// File contents excluded from context
</dyad-file>
<dyad-file path="index.html">
@@ -377,6 +381,18 @@ createRoot(document.getElementById("root")!).render(<App />);
</dyad-file>
<dyad-file path="tsconfig.app.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="tsconfig.node.json">
// File contents excluded from context
</dyad-file>
<dyad-file path="vite.config.ts">
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";

View File

@@ -29,14 +29,24 @@
},
"dyad_options": {
"files": [
{
"path": ".gitignore",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "AI_RULES.md",
"content": "# Tech Stack\n\n- You are building a React application.\n- Use TypeScript.\n- Use React Router. KEEP the routes in src/App.tsx\n- Always put source code in the src folder.\n- Put pages into src/pages/\n- Put components into src/components/\n- The main page (default page) is src/pages/Index.tsx\n- UPDATE the main page to include the new components. OTHERWISE, the user can NOT see any components!\n- ALWAYS try to use the shadcn/ui library.\n- Tailwind CSS: always use Tailwind CSS for styling components. Utilize Tailwind classes extensively for layout, spacing, colors, and other design aspects.\n\nAvailable packages and libraries:\n\n- The lucide-react package is installed for icons.\n- You ALREADY have ALL the shadcn/ui components and their dependencies installed. So you don't need to install them again.\n- You have ALL the necessary Radix UI components installed.\n- Use prebuilt components from the shadcn/ui library after importing them. Note that these files shouldn't be edited, so make new components if you need to change them.\n",
"force": false
},
{
"path": "components.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "eslint.config.js",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -54,6 +64,21 @@
"content": "export default {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};\n",
"force": false
},
{
"path": "public/favicon.ico",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/placeholder.svg",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/robots.txt",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "README.md",
"content": "# Welcome to your Dyad app\n",
@@ -76,247 +101,247 @@
},
{
"path": "src/components/ui/accordion.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert-dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/aspect-ratio.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/avatar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/badge.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/breadcrumb.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/button.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/calendar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/carousel.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/chart.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/checkbox.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/collapsible.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/command.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/context-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/drawer.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dropdown-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/form.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/hover-card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input-otp.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/label.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/menubar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/navigation-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/pagination.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/popover.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/progress.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/radio-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/resizable.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/scroll-area.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/select.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/separator.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sheet.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sidebar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/skeleton.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/slider.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sonner.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/switch.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/table.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tabs.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/textarea.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toast.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toaster.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tooltip.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/use-toast.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -369,6 +394,21 @@
"content": "import type { Config } from \"tailwindcss\";\n\nexport default {\n darkMode: [\"class\"],\n content: [\n \"./pages/**/*.{ts,tsx}\",\n \"./components/**/*.{ts,tsx}\",\n \"./app/**/*.{ts,tsx}\",\n \"./src/**/*.{ts,tsx}\",\n ],\n prefix: \"\",\n theme: {\n container: {\n center: true,\n padding: \"2rem\",\n screens: {\n \"2xl\": \"1400px\",\n },\n },\n extend: {\n colors: {\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n keyframes: {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n },\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n },\n },\n },\n plugins: [require(\"tailwindcss-animate\")],\n} satisfies Config;\n",
"force": false
},
{
"path": "tsconfig.app.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.node.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "vite.config.ts",
"content": "import { defineConfig } from \"vite\";\nimport dyadComponentTagger from \"@dyad-sh/react-vite-component-tagger\";\nimport react from \"@vitejs/plugin-react-swc\";\nimport path from \"path\";\n\nexport default defineConfig(() => ({\n server: {\n host: \"::\",\n port: 8080,\n },\n plugins: [dyadComponentTagger(), react()],\n resolve: {\n alias: {\n \"@\": path.resolve(__dirname, \"./src\"),\n },\n },\n}));\n",

View File

@@ -37,14 +37,24 @@
},
"dyad_options": {
"files": [
{
"path": ".gitignore",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "AI_RULES.md",
"content": "# Tech Stack\n\n- You are building a React application.\n- Use TypeScript.\n- Use React Router. KEEP the routes in src/App.tsx\n- Always put source code in the src folder.\n- Put pages into src/pages/\n- Put components into src/components/\n- The main page (default page) is src/pages/Index.tsx\n- UPDATE the main page to include the new components. OTHERWISE, the user can NOT see any components!\n- ALWAYS try to use the shadcn/ui library.\n- Tailwind CSS: always use Tailwind CSS for styling components. Utilize Tailwind classes extensively for layout, spacing, colors, and other design aspects.\n\nAvailable packages and libraries:\n\n- The lucide-react package is installed for icons.\n- You ALREADY have ALL the shadcn/ui components and their dependencies installed. So you don't need to install them again.\n- You have ALL the necessary Radix UI components installed.\n- Use prebuilt components from the shadcn/ui library after importing them. Note that these files shouldn't be edited, so make new components if you need to change them.\n",
"force": false
},
{
"path": "components.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "eslint.config.js",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -62,6 +72,21 @@
"content": "export default {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};\n",
"force": false
},
{
"path": "public/favicon.ico",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/placeholder.svg",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/robots.txt",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "README.md",
"content": "# Welcome to your Dyad app\n",
@@ -84,247 +109,247 @@
},
{
"path": "src/components/ui/accordion.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert-dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/aspect-ratio.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/avatar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/badge.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/breadcrumb.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/button.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/calendar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/carousel.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/chart.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/checkbox.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/collapsible.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/command.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/context-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/drawer.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dropdown-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/form.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/hover-card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input-otp.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/label.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/menubar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/navigation-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/pagination.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/popover.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/progress.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/radio-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/resizable.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/scroll-area.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/select.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/separator.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sheet.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sidebar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/skeleton.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/slider.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sonner.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/switch.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/table.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tabs.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/textarea.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toast.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toaster.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tooltip.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/use-toast.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -377,6 +402,21 @@
"content": "import type { Config } from \"tailwindcss\";\n\nexport default {\n darkMode: [\"class\"],\n content: [\n \"./pages/**/*.{ts,tsx}\",\n \"./components/**/*.{ts,tsx}\",\n \"./app/**/*.{ts,tsx}\",\n \"./src/**/*.{ts,tsx}\",\n ],\n prefix: \"\",\n theme: {\n container: {\n center: true,\n padding: \"2rem\",\n screens: {\n \"2xl\": \"1400px\",\n },\n },\n extend: {\n colors: {\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n keyframes: {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n },\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n },\n },\n },\n plugins: [require(\"tailwindcss-animate\")],\n} satisfies Config;\n",
"force": false
},
{
"path": "tsconfig.app.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.node.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "vite.config.ts",
"content": "import { defineConfig } from \"vite\";\nimport dyadComponentTagger from \"@dyad-sh/react-vite-component-tagger\";\nimport react from \"@vitejs/plugin-react-swc\";\nimport path from \"path\";\n\nexport default defineConfig(() => ({\n server: {\n host: \"::\",\n port: 8080,\n },\n plugins: [dyadComponentTagger(), react()],\n resolve: {\n alias: {\n \"@\": path.resolve(__dirname, \"./src\"),\n },\n },\n}));\n",

View File

@@ -45,14 +45,24 @@
},
"dyad_options": {
"files": [
{
"path": ".gitignore",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "AI_RULES.md",
"content": "# Tech Stack\n\n- You are building a React application.\n- Use TypeScript.\n- Use React Router. KEEP the routes in src/App.tsx\n- Always put source code in the src folder.\n- Put pages into src/pages/\n- Put components into src/components/\n- The main page (default page) is src/pages/Index.tsx\n- UPDATE the main page to include the new components. OTHERWISE, the user can NOT see any components!\n- ALWAYS try to use the shadcn/ui library.\n- Tailwind CSS: always use Tailwind CSS for styling components. Utilize Tailwind classes extensively for layout, spacing, colors, and other design aspects.\n\nAvailable packages and libraries:\n\n- The lucide-react package is installed for icons.\n- You ALREADY have ALL the shadcn/ui components and their dependencies installed. So you don't need to install them again.\n- You have ALL the necessary Radix UI components installed.\n- Use prebuilt components from the shadcn/ui library after importing them. Note that these files shouldn't be edited, so make new components if you need to change them.\n",
"force": false
},
{
"path": "components.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "eslint.config.js",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -70,6 +80,21 @@
"content": "export default {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n};\n",
"force": false
},
{
"path": "public/favicon.ico",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/placeholder.svg",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "public/robots.txt",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "README.md",
"content": "# Welcome to your Dyad app\n",
@@ -92,247 +117,247 @@
},
{
"path": "src/components/ui/accordion.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert-dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/alert.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/aspect-ratio.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/avatar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/badge.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/breadcrumb.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/button.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/calendar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/carousel.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/chart.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/checkbox.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/collapsible.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/command.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/context-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dialog.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/drawer.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/dropdown-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/form.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/hover-card.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input-otp.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/input.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/label.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/menubar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/navigation-menu.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/pagination.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/popover.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/progress.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/radio-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/resizable.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/scroll-area.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/select.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/separator.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sheet.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sidebar.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/skeleton.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/slider.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/sonner.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/switch.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/table.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tabs.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/textarea.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toast.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toaster.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle-group.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/toggle.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/tooltip.tsx",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "src/components/ui/use-toast.ts",
"content": "// Contents omitted for brevity",
"content": "// File contents excluded from context",
"force": false
},
{
@@ -385,6 +410,21 @@
"content": "import type { Config } from \"tailwindcss\";\n\nexport default {\n darkMode: [\"class\"],\n content: [\n \"./pages/**/*.{ts,tsx}\",\n \"./components/**/*.{ts,tsx}\",\n \"./app/**/*.{ts,tsx}\",\n \"./src/**/*.{ts,tsx}\",\n ],\n prefix: \"\",\n theme: {\n container: {\n center: true,\n padding: \"2rem\",\n screens: {\n \"2xl\": \"1400px\",\n },\n },\n extend: {\n colors: {\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n sidebar: {\n DEFAULT: \"hsl(var(--sidebar-background))\",\n foreground: \"hsl(var(--sidebar-foreground))\",\n primary: \"hsl(var(--sidebar-primary))\",\n \"primary-foreground\": \"hsl(var(--sidebar-primary-foreground))\",\n accent: \"hsl(var(--sidebar-accent))\",\n \"accent-foreground\": \"hsl(var(--sidebar-accent-foreground))\",\n border: \"hsl(var(--sidebar-border))\",\n ring: \"hsl(var(--sidebar-ring))\",\n },\n },\n borderRadius: {\n lg: \"var(--radius)\",\n md: \"calc(var(--radius) - 2px)\",\n sm: \"calc(var(--radius) - 4px)\",\n },\n keyframes: {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n },\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n },\n },\n },\n plugins: [require(\"tailwindcss-animate\")],\n} satisfies Config;\n",
"force": false
},
{
"path": "tsconfig.app.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "tsconfig.node.json",
"content": "// File contents excluded from context",
"force": false
},
{
"path": "vite.config.ts",
"content": "import { defineConfig } from \"vite\";\nimport dyadComponentTagger from \"@dyad-sh/react-vite-component-tagger\";\nimport react from \"@vitejs/plugin-react-swc\";\nimport path from \"path\";\n\nexport default defineConfig(() => ({\n server: {\n host: \"::\",\n port: 8080,\n },\n plugins: [dyadComponentTagger(), react()],\n resolve: {\n alias: {\n \"@\": path.resolve(__dirname, \"./src\"),\n },\n },\n}));\n",