230 lines
4.4 KiB
Plaintext
230 lines
4.4 KiB
Plaintext
===
|
|
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/App.tsx">
|
|
const App = () => <div>Minimal imported app</div>;
|
|
|
|
export default App;
|
|
|
|
</dyad-file>
|
|
|
|
<dyad-file path="src/bad-file.ts">
|
|
// Import doesn't exist
|
|
// import NonExistentClass from 'non-existent-class';
|
|
|
|
|
|
const x = new Object();
|
|
x.nonExistentMethod2();
|
|
</dyad-file>
|
|
|
|
<dyad-file path="src/main.tsx">
|
|
import { createRoot } from "react-dom/client";
|
|
import App from "./App.tsx";
|
|
|
|
createRoot(document.getElementById("root")!).render(<App />);
|
|
|
|
</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
|
|
|
|
===
|
|
role: assistant
|
|
message: This will get a TypeScript error.
|
|
|
|
<dyad-write path="src/bad-file.ts" description="This will get a TypeScript error.">
|
|
import NonExistentClass from 'non-existent-class';
|
|
|
|
const x = new Object();
|
|
x.nonExistentMethod();
|
|
</dyad-write>
|
|
|
|
EOM
|
|
|
|
===
|
|
role: user
|
|
message: Fix these 2 TypeScript compile-time errors:
|
|
|
|
1. src/bad-file.ts:1:30 - Cannot find module 'non-existent-class' or its corresponding type declarations. (TS2307)
|
|
```
|
|
import NonExistentClass from 'non-existent-class'; // <-- TypeScript compiler error here
|
|
```
|
|
|
|
2. src/bad-file.ts:4:3 - Property 'nonExistentMethod' does not exist on type 'Object'. (TS2339)
|
|
```
|
|
const x = new Object();
|
|
x.nonExistentMethod(); // <-- TypeScript compiler error here
|
|
```
|
|
|
|
|
|
Please fix all errors in a concise way.
|
|
|
|
===
|
|
role: assistant
|
|
message: <dyad-write path="src/bad-file.ts" description="Fix 2 errors and introduce a new error.">
|
|
// Import doesn't exist
|
|
// import NonExistentClass from 'non-existent-class';
|
|
|
|
|
|
const x = new Object();
|
|
x.nonExistentMethod2();
|
|
</dyad-write>
|
|
|
|
|
|
|
|
[[dyad-dump-path=*]]
|
|
|
|
===
|
|
role: user
|
|
message: Fix these 1 TypeScript compile-time error:
|
|
|
|
1. src/bad-file.ts:6:3 - Property 'nonExistentMethod2' does not exist on type 'Object'. (TS2339)
|
|
```
|
|
const x = new Object();
|
|
x.nonExistentMethod2(); // <-- TypeScript compiler error here
|
|
```
|
|
|
|
|
|
Please fix all errors in a concise way. |