feat: US-003 — electron-trpc IPC bridge and appRouter scaffold

- Install electron-trpc, @trpc/server, @trpc/client, @trpc/react-query, @tanstack/react-query, zod
- Create appRouter in src/main/router/index.ts with stub routers for: health, clients, projects, tasks, checkpoints, notes, ai
- health.ping procedure returns 'pong'
- All procedure inputs validated with Zod schemas
- Configure IPC handler in main process (createIPCHandler) and preload (exposeElectronTRPC)
- Create renderer trpc client in src/renderer/lib/trpc.ts with ipcLink
- Wrap app with TRPCProvider + QueryClientProvider in src/renderer/index.tsx
- Verify health.ping in HomePage component (shows 'tRPC IPC bridge: pong')
- Typecheck passes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Roberto Musso
2026-02-19 16:41:52 +01:00
parent b5a9b18be4
commit 5254d13e4e
9 changed files with 338 additions and 78 deletions

View File

@@ -44,16 +44,22 @@
"vite": "^5.4.21"
},
"dependencies": {
"@tanstack/react-query": "^5.90.21",
"@tanstack/react-router": "^1.161.1",
"@trpc/client": "^11.10.0",
"@trpc/react-query": "^11.10.0",
"@trpc/server": "^11.10.0",
"better-sqlite3": "^12.6.2",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"drizzle-orm": "^0.45.1",
"electron-squirrel-startup": "^1.0.1",
"electron-trpc": "^0.7.1",
"framer-motion": "^12.34.2",
"lucide-react": "^0.575.0",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"tailwind-merge": "^3.5.0"
"tailwind-merge": "^3.5.0",
"zod": "^4.3.6"
}
}