Files
open-design/package.json
pftomandClaude Opus 4.7 409064809f feat: refactor to Next.js 16 App Router with cloud + local daemon split
Restructures the project into a pnpm workspace mirroring multica-ai/multica
on a unified TypeScript stack so the product can run as a hosted cloud app
that pairs with a local `od` daemon CLI for executing code-agents on the
user's machine.

Adds:
- apps/web — Next.js 16 App Router (auth, projects, daemon endpoints, SSE)
- apps/cli — `od` daemon CLI (login via local-listener OAuth, register, claim,
  spawn agents, stream task messages)
- packages/db — Drizzle schema with Postgres + SQLite dialects, runtime-
  selected by DATABASE_URL prefix
- packages/shared — zod request schemas, JWT helpers, token mint/hash

Sharing primitives: multica-style workspace_invitation (email → membership)
plus a per-project share link (`/share/<token>` with view/comment/edit role)
so a single project can be sent as a public URL without granting workspace
access.

Legacy Vite + Express stack (src/, daemon/) preserved alongside under
`legacy:*` npm scripts. Components, S3 file storage, and skill route
handlers are out of scope for this scaffold and tracked in HANDOFF.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 17:45:59 +08:00

50 lines
1.4 KiB
JSON

{
"name": "open-design",
"version": "0.2.0",
"private": true,
"type": "module",
"description": "Cloud + local AI design product. Next.js 16 web app pairs with a local `od` daemon CLI to run code-agents on the user's machine.",
"license": "Apache-2.0",
"workspaces": [
"apps/*",
"packages/*"
],
"scripts": {
"dev": "pnpm --parallel --filter \"./apps/*\" dev",
"dev:web": "pnpm --filter @open-design/web dev",
"dev:cli": "pnpm --filter @open-design/cli dev",
"build": "pnpm -r build",
"typecheck": "pnpm -r typecheck",
"db:generate": "pnpm --filter @open-design/db generate",
"db:migrate": "pnpm --filter @open-design/db migrate",
"legacy:dev": "vite",
"legacy:daemon": "node daemon/cli.js --no-open",
"legacy:dev:all": "node scripts/dev-all.mjs",
"legacy:build": "tsc -b && vite build"
},
"dependencies": {
"@anthropic-ai/sdk": "^0.32.1",
"better-sqlite3": "^11.10.0",
"express": "^4.19.2",
"multer": "^1.4.5-lts.1",
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
"devDependencies": {
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
"@vitejs/plugin-react": "^4.3.4",
"concurrently": "^9.0.1",
"typescript": "^5.6.3",
"vite": "^5.4.11"
},
"engines": {
"node": ">=20"
},
"pnpm": {
"onlyBuiltDependencies": [
"better-sqlite3"
]
}
}