# Agent Guide This template is a Bun-first Next.js starter for Eazo platform apps that run in the browser and inside the Eazo Mobile WebView. ## Scope This file governs generated app code quality: framework conventions, app structure, i18n, Eazo SDK usage, API boundaries, CSS rules, component structure, local commands, and validation. It does not govern Creator build orchestration. ## Stack - Next.js 16 App Router, React 19, TypeScript, Tailwind CSS v4, Bun. - `@eazo/sdk` public surface: `auth`, `device`, `ai`, `storage`, `memory`, `notifications`, `useEazo`, `EazoProvider`, `requireAuth`, and semantic types. Do not reach into SDK internals. - shadcn/ui source components, lucide-react, framer-motion. - Drizzle ORM with PostgreSQL through `drizzle-orm` and `postgres.js`. - App UI i18n uses `i18next` + `react-i18next` with `en-US` and `zh-CN`. ## Generated App Contract - The app title and description come from `NEXT_PUBLIC_APP_TITLE` and `NEXT_PUBLIC_APP_DESCRIPTION`, stamped by the platform at scaffold time. Do not hardcode product title or description in `src/app/layout.tsx`. - Prefer Bun for install and scripts. - Before shipping, run `bun run lint` and `bun run build`. ## Must Preserve - `src/app/layout.tsx` keeps the platform provider chain: `I18nProvider`, `EazoProvider`, `UserSyncEffect`, `LocaleSyncEffect`, and `Toaster`. - `src/app/layout.tsx` keeps `h-full` on both `` and `` so percentage-height app roots have a definite viewport height in Mobile WebView. - `src/app/layout.tsx` keeps the Eazo brand-banner drop-in `