{ "name": "frameflow-ai-comic-studio", "private": true, "version": "0.1.0", "type": "module", "workspaces": [ "server" ], "scripts": { "dev": "concurrently -n WEB,API,WORKER -c cyan,green,yellow \"npm:dev:web\" \"npm:dev:api\" \"npm:dev:worker\"", "dev:web": "vite", "dev:api": "npm run dev --workspace @frameflow/server", "dev:worker": "npm run worker --workspace @frameflow/server", "infra:up": "docker compose up -d postgres redis minio minio-init", "infra:down": "docker compose down", "backup:verify": "./scripts/verify-backup.sh", "restore:rehearse": "./scripts/rehearse-restore.sh", "smoke:production": "node scripts/smoke-test.mjs", "smoke:alertmanager": "node scripts/alertmanager-smoke.mjs", "smoke:stripe": "node scripts/stripe-smoke.mjs", "db:generate": "npm run db:generate --workspace @frameflow/server", "db:migrate": "npm run db:migrate --workspace @frameflow/server", "db:seed": "npm run db:seed --workspace @frameflow/server", "test": "npm run test:web && npm run test:server", "test:web": "vitest run --config vitest.config.js", "test:web:watch": "vitest --config vitest.config.js", "test:server": "npm run test --workspace @frameflow/server", "build": "vite build", "build:server": "npm run build --workspace @frameflow/server", "build:all": "npm run build && npm run build:server", "preview": "vite preview" }, "dependencies": { "@vitejs/plugin-react": "latest", "vite": "latest", "typescript": "latest", "react": "latest", "react-dom": "latest", "lucide-react": "latest", "concurrently": "^9.2.1" }, "devDependencies": { "vitest": "^3.2.4" } }