{ "name": "vibesdk", "private": true, "version": "1.5.0", "type": "module", "engines": { "node": ">=22" }, "workspaces": [ "space" ], "scripts": { "setup": "tsx scripts/setup.ts", "prepare": "husky", "postinstall": "bun run --cwd space build", "dev": "DEV_MODE=true vite", "dev:browser": "tsx scripts/dev-browser-sidecar.ts", "build": "bun run --cwd space build && vite build", "typecheck": "tsc -b --incremental --noEmit", "lint": "eslint .", "preview": "npm run build && vite preview", "deploy": "bun --env-file .prod.vars scripts/deploy.ts", "cli": "tsx --tsconfig tsconfig.app.json cli/index.ts", "tui": "tsx --tsconfig tsconfig.app.json cli/tui.tsx", "cf-typegen": "wrangler types --include-runtime false", "test": "vitest run", "test:integration": "VIBESDK_RUN_INTEGRATION_TESTS=1 vitest run sdk/test/integration/integration.test.ts", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "test:bun": "bun run vitest run", "test:bun:watch": "bun run vitest", "db:generate": "drizzle-kit generate --config=drizzle.config.local.ts", "db:generate:remote": "drizzle-kit generate --config=drizzle.config.remote.ts", "db:migrate:local": "wrangler d1 migrations apply vibesdk-db --local", "db:migrate:remote": "CI=true wrangler d1 migrations apply vibesdk-db --remote", "db:studio": "drizzle-kit studio --config=drizzle.config.local.ts", "db:studio:remote": "drizzle-kit studio --config=drizzle.config.remote.ts", "db:drop": "drizzle-kit drop --config=drizzle.config.local.ts", "db:drop:remote": "drizzle-kit drop --config=drizzle.config.remote.ts", "db:introspect": "drizzle-kit introspect --config=drizzle.config.local.ts", "db:check": "drizzle-kit check --config=drizzle.config.local.ts", "db:up": "drizzle-kit up --config=drizzle.config.local.ts", "knip": "knip", "knip:fix": "knip --fix", "knip:production": "knip --production", "knip:dependencies": "knip --dependencies", "knip:exports": "knip --exports" }, "dependencies": { "@ai-sdk/openai": "^3.0.68", "@ashishkumar472/cf-git": "1.0.5", "@babel/generator": "^7.28.5", "@babel/parser": "^7.28.5", "@babel/traverse": "^7.28.5", "@babel/types": "^7.28.5", "@cloudflare/containers": "^0.0.28", "@cloudflare/kumo": "^2.9.0", "@cloudflare/puppeteer": "^1.0.4", "@cloudflare/sandbox": "0.5.6", "@cloudflare/think": "^0.8.6", "@commitlint/config-conventional": "^20.2.0", "@noble/ciphers": "^1.3.0", "@octokit/rest": "^22.0.1", "@phosphor-icons/react": "^2.1.10", "@pierre/diffs": "^1.2.12", "@radix-ui/react-alert-dialog": "^1.1.15", "@radix-ui/react-avatar": "^1.1.11", "@radix-ui/react-checkbox": "^1.3.3", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-hover-card": "^1.1.15", "@radix-ui/react-label": "^2.1.8", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-progress": "^1.1.8", "@radix-ui/react-radio-group": "^1.3.8", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-separator": "^1.1.8", "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-tooltip": "^1.2.8", "@sentry/cloudflare": "^10.30.0", "@sentry/react": "^10.30.0", "@simplewebauthn/browser": "^13.2.2", "@space-do/space": "workspace:*", "@tanstack/query-async-storage-persister": "^5.101.4", "@tanstack/react-query": "^5.101.4", "@tanstack/react-query-persist-client": "^5.101.4", "@types/argon2-browser": "^1.18.4", "@types/mdast": "^4.0.4", "@vitejs/plugin-react": "^5.1.2", "acorn": "^8.14.0", "agents": "^0.14.5", "class-variance-authority": "^0.7.1", "cli-table3": "^0.6.5", "cloudflare": "^4.5.0", "cmdk": "^1.1.1", "cross-spawn": "^7.0.6", "date-fns": "^4.1.0", "diff": "^8.0.2", "drizzle-orm": "^0.44.7", "embla-carousel-react": "^8.6.0", "esbuild": "^0.27.1", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import": "^2.32.0", "fflate": "^0.8.2", "framer-motion": "^12.42.2", "hash-wasm": "^4.12.0", "hono": "^4.11.0", "html2canvas-pro": "^1.5.13", "htmlparser2": "^10.0.0", "idb-keyval": "^6.3.0", "inquirer": "^12.11.1", "jose": "^5.10.0", "jsonc-parser": "^3.3.1", "lucide-react": "^0.541.0", "mdast-util-to-string": "^4.0.0", "monaco-editor": "^0.56.0", "nanoid": "^5.1.6", "openai": "^5.23.2", "ora": "^9.0.0", "partysocket": "^1.1.6", "react": "^19.2.3", "react-day-picker": "^9.12.0", "react-dom": "^19.2.3", "react-hook-form": "^7.68.0", "react-markdown": "^10.1.0", "react-resizable-panels": "^3.0.6", "react-router": "^7.10.1", "recharts": "^3.5.1", "rehype-external-links": "^3.0.0", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "sonner": "^2.0.7", "unified": "^11.0.5", "vaul": "^1.1.2", "vite-plugin-svgr": "^4.5.0", "ws": "^8.18.3", "zod": "^4.4.3" }, "devDependencies": { "@cloudflare/vite-plugin": "^1.17.1", "@cloudflare/vitest-pool-workers": "^0.8.71", "@cloudflare/workers-types": "4.20251213.0", "@eslint/js": "^9.39.2", "@tailwindcss/typography": "^0.5.19", "@tailwindcss/vite": "^4.1.18", "@types/jest": "^29.5.14", "@types/node": "^22.19.3", "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "@vitest/coverage-v8": "^3.2.4", "drizzle-kit": "^0.31.8", "eslint": "^9.39.2", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.24", "globals": "^16.5.0", "husky": "^9.1.7", "jest": "^29.7.0", "knip": "^5.73.4", "prettier-plugin-tailwindcss": "^0.6.14", "puppeteer": "^24.0.0", "tailwindcss": "^4.3.3", "tsx": "^4.21.0", "tw-animate-css": "^1.4.0", "typescript": "^5.9.3", "typescript-eslint": "^8.49.0", "vite": "^8.1.5", "vitest": "^3.2.4", "wrangler": "4.90.0" }, "prettier": { "singleQuote": true, "useTabs": true }, "overrides": { "@cloudflare/containers": "^0.0.28" } }