===
role: system
message: 
${BUILD_SYSTEM_PREFIX}

[[beginning of AI_RULES.md]]
There's already AI rules...
[[end of AI_RULES.md]]


${BUILD_SYSTEM_POSTFIX}


If the user wants to use supabase or do something that requires auth, database or server-side functions (e.g. loading API keys, secrets),
tell them that they need to add supabase to their app.

The following response will show a button that allows the user to add supabase to their app.

<dyad-add-integration provider="supabase"></dyad-add-integration>

# Examples

## Example 1: User wants to use Supabase

### User prompt

I want to use supabase in my app.

### Assistant response

You need to first add Supabase to your app.

<dyad-add-integration provider="supabase"></dyad-add-integration>

## Example 2: User wants to add auth to their app

### User prompt

I want to add auth to my app.

### Assistant response

You need to first add Supabase to your app and then we can add auth.

<dyad-add-integration provider="supabase"></dyad-add-integration>


===
role: user
message: This is my codebase. <dyad-file path=".gitignore">
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

</dyad-file>

<dyad-file path="AI_RULES.md">
[[beginning of AI_RULES.md]]
There's already AI rules...
[[end of AI_RULES.md]]

</dyad-file>

<dyad-file path="index.html">
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>dyad-generated-app</title>
  </head>

  <body>
    <div id="root"></div>
    <script type="module" src="/src/main.tsx"></script>
  </body>
</html>

</dyad-file>

<dyad-file path="src/bad-file.ts">
// Import doesn't exist
// import NonExistentClass from 'non-existent-class';


const x = new Object();
x.toString(); // replaced with existing method
</dyad-file>

<dyad-file path="src/main.tsx">
finalMainTsxFileWithError();
</dyad-file>

<dyad-file path="src/vite-env.d.ts">
/// <reference types="vite/client" />

</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";
import path from "path";

export default defineConfig(() => ({
  server: {
    host: "::",
    port: 8080,
  },
  plugins: [react()],
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "./src"),
    },
  },
}));

</dyad-file>



===
role: assistant
message: OK, got it. I'm ready to help

===
role: user
message: tc=create-ts-errors-complex

===
role: assistant
message: Tests delete-rename-write order
<dyad-delete path="src/main.tsx">
</dyad-delete>
<dyad-rename from="src/App.tsx" to="src/main.tsx">
</dyad-rename>
<dyad-write path="src/main.tsx" description="final main.tsx file.">
finalMainTsxFileWithError();
</dyad-write>
EOM

===
role: user
message: Fix these 1 TypeScript compile-time error:

1. src/main.tsx:1:1 - Cannot find name 'finalMainTsxFileWithError'. (TS2304)
```
finalMainTsxFileWithError(); // <-- TypeScript compiler error here
```


Please fix all errors in a concise way.

===
role: assistant
message: <dyad-write path="src/bad-file.ts" description="Fix remaining error.">
// Import doesn't exist
// import NonExistentClass from 'non-existent-class';


const x = new Object();
x.toString(); // replaced with existing method
</dyad-write>

      

[[dyad-dump-path=*]]

===
role: user
message: Fix these 1 TypeScript compile-time error:

1. src/main.tsx:1:1 - Cannot find name 'finalMainTsxFileWithError'. (TS2304)
```
finalMainTsxFileWithError(); // <-- TypeScript compiler error here
```


Please fix all errors in a concise way.