← vibesdk
{
"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"
}
}