diff --git a/AGENTS.md b/AGENTS.md index 2cf19fd..bd6fa49 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -20,18 +20,12 @@ Guidelines for AI agents working in this Bun monorepo. ```bash bun dev # Start all apps in dev mode bun build # Build all apps -bun compile # Compile server to standalone binary (current platform, depends on build) -bun compile:linux # Compile server for Linux binaries (x64 + arm64) -bun compile:darwin # Compile server for macOS binaries (arm64 + x64) -bun compile:windows # Compile server for Windows x64 binary -bun dist # Full packaging pipeline: server build → compile → desktop distributable (current platform) -bun dist:linux # Full pipeline → Linux distributables (x64 + arm64) -bun dist:mac # Full pipeline → macOS distributables (arm64 + x64) -bun dist:win # Full pipeline → Windows distributable bun fix # Lint + format (Biome auto-fix) bun typecheck # TypeScript check across monorepo ``` +> **Note:** `compile` and `dist` commands are app-level — run them inside `apps/server/` or `apps/desktop/` directly. + ### Server App (`apps/server`) ```bash bun dev # Vite dev server (localhost:3000) diff --git a/apps/server/AGENTS.md b/apps/server/AGENTS.md index 8a45d16..5360072 100644 --- a/apps/server/AGENTS.md +++ b/apps/server/AGENTS.md @@ -275,4 +275,5 @@ export const env = createEnv({ - Use RQBv1 callback-style `orderBy` / old `relations()` API - Use `drizzle-orm/bun-sql` driver (use `drizzle-orm/postgres-js`) - Pass `schema` to `drizzle()` constructor (only `relations` is needed in RQBv2) +- Import `os` from `@orpc/server` in middleware — use `@/server/api/server` (the local typed instance) - Leave docs out of sync with code changes diff --git a/apps/server/src/server/api/interceptors.ts b/apps/server/src/server/api/interceptors.ts index fc9183f..5efdbb0 100644 --- a/apps/server/src/server/api/interceptors.ts +++ b/apps/server/src/server/api/interceptors.ts @@ -11,6 +11,7 @@ export const handleValidationError = (error: unknown) => { error.code === 'BAD_REQUEST' && error.cause instanceof ValidationError ) { + // If you only use Zod you can safely cast to ZodIssue[] (per ORPC official docs) const zodError = new z.ZodError(error.cause.issues as z.core.$ZodIssue[]) throw new ORPCError('INPUT_VALIDATION_FAILED', { diff --git a/apps/server/src/server/api/middlewares/db.middleware.ts b/apps/server/src/server/api/middlewares/db.middleware.ts index 24f6bfc..d57afd2 100644 --- a/apps/server/src/server/api/middlewares/db.middleware.ts +++ b/apps/server/src/server/api/middlewares/db.middleware.ts @@ -1,4 +1,4 @@ -import { os } from '@orpc/server' +import { os } from '@/server/api/server' import { getDB } from '@/server/db' export const db = os.middleware(async ({ context, next }) => { diff --git a/package.json b/package.json index 551acd0..06b2aa1 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "typescript": "^5.9.3" }, "catalog": { - "@biomejs/biome": "^2.3.11", "@orpc/client": "^1.13.6", "@orpc/contract": "^1.13.6", "@orpc/openapi": "^1.13.6", @@ -52,8 +51,6 @@ "react-dom": "^19.2.4", "tailwindcss": "^4.2.1", "tree-kill": "^1.2.2", - "turbo": "^2.7.5", - "typescript": "^5.9.3", "uuid": "^13.0.0", "vite": "^8.0.0-beta.16", "vite-tsconfig-paths": "^6.1.1",