Generate highly optimized `.cursorrules` or system prompt blocks tailored to your project's adapters and environment.
1. UI Adapter
2. Runtime Environment
3. Data Layer
.cursorrules
You are a Nifra full-stack agent. Follow these constraints:
1. Tech Stack: Nifra (Bun-native TS framework), Adapter: @nifrajs/web-react, Env: bun, Database: drizzle.
2. Use the end-to-end typed client (`client<typeof app>("")`) to fetch API endpoints. Never use raw fetch() for internal APIs.
3. Validate boundaries using `t.object({ ... })` (Standard Schema) in your server routes.
4. Keep all server-only code (DB, secrets, node modules) inside `*.server.ts` files, or mark with `import "@nifrajs/web/server-only"`. Never top-level import them in route page components.
5. Run `nifra check` and typecheck after completing edits to verify contract alignment. Do not skip checks.