{ "name": "roo-code-cloud", "private": true, "scripts": { "lint": "eslint .", "check-types": "tsc --noEmit --pretty", "test": "dotenvx run -f .env.test -f .env -- vitest run", "test:e2e": "playwright test", "dev": "next dev --turbopack", "build": "next build", "start": "next start", "build-stats": "cross-env ANALYZE=true pnpm run build", "clean": "rimraf .next out coverage", "db:generate": "dotenvx run -f .env.development -- drizzle-kit generate", "db:migrate": "dotenvx run -f .env.development -- drizzle-kit migrate", "db:push": "dotenvx run -f .env.development -- drizzle-kit push", "db:studio": "dotenvx run -f .env.development -- drizzle-kit studio", "db:test:generate": "dotenvx run -f .env.test -- drizzle-kit generate", "db:test:migrate": "dotenvx run -f .env.test -- drizzle-kit migrate", "db:test:push": "dotenvx run -f .env.test -- drizzle-kit push", "db:test:studio": "dotenvx run -f .env.test -- drizzle-kit studio", "storybook": "storybook dev -p 6006", "storybook:build": "storybook build", "storybook:serve": "http-server storybook-static --port 6006 --silent", "serve-storybook": "run-s storybook:*", "test-storybook:ci": "start-server-and-test serve-storybook http://127.0.0.1:6006 test-storybook", "prepare": "husky" }, "dependencies": { "@clerk/localizations": "^3.16.2", "@clerk/nextjs": "^6.20.1", "@clerk/themes": "^2.2.47", "@clickhouse/client": "^1.11.1", "@hookform/resolvers": "^5.0.1", "@logtail/pino": "^0.5.5", "@radix-ui/react-accordion": "^1.2.11", "@radix-ui/react-checkbox": "^1.3.2", "@radix-ui/react-dialog": "^1.1.14", "@radix-ui/react-dropdown-menu": "^2.1.15", "@radix-ui/react-icons": "^1.3.2", "@radix-ui/react-label": "^2.1.7", "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-slider": "^1.3.5", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-switch": "^1.2.5", "@radix-ui/react-tabs": "^1.1.12", "@radix-ui/react-toast": "^1.2.14", "@radix-ui/react-tooltip": "^1.2.7", "@roo-code/types": "^1.22.0", "@sentry/nextjs": "^9.23.0", "@t3-oss/env-nextjs": "^0.13.6", "@tailwindcss/postcss": "^4.1.8", "@tanstack/react-query": "^5.77.2", "@tanstack/react-table": "^8.21.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "date-fns": "^4.1.0", "drizzle-orm": "^0.43.1", "drizzle-zod": "^0.7.1", "lucide-react": "^0.509.0", "next": "^15.3.2", "next-intl": "^4.1.0", "next-themes": "^0.4.6", "next-typesafe-url": "^5.1.7", "pino": "^9.7.0", "pino-pretty": "^13.0.0", "postgres": "^3.4.7", "prettier": "^3.5.3", "react": "^19.1.0", "react-dom": "^19.1.0", "react-hook-form": "^7.56.4", "react-use": "^17.6.0", "sonner": "^2.0.3", "stripe": "^18.1.1", "tailwind-merge": "^3.3.0", "uuid": "^11.1.0", "vaul": "^1.1.2", "zod": "^3.25.32" }, "devDependencies": { "@clerk/testing": "^1.7.4", "@dotenvx/dotenvx": "^1.44.1", "@eslint/js": "^9.27.0", "@next/bundle-analyzer": "^15.3.2", "@next/eslint-plugin-next": "^15.3.2", "@percy/cli": "1.30.10", "@percy/playwright": "^1.0.8", "@playwright/test": "^1.52.0", "@storybook/addon-essentials": "^8.6.14", "@storybook/addon-interactions": "^8.6.14", "@storybook/addon-links": "^8.6.14", "@storybook/addon-onboarding": "^8.6.14", "@storybook/blocks": "^8.6.14", "@storybook/nextjs": "^8.6.14", "@storybook/react": "^8.6.14", "@storybook/test": "^8.6.14", "@storybook/test-runner": "^0.22.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/node": "^22.15.23", "@types/pg": "^8.15.2", "@types/react": "^19.1.6", "@vitejs/plugin-react": "^4.5.0", "@vitest/coverage-v8": "^3.1.4", "@vitest/expect": "^3.1.4", "autoprefixer": "^10.4.21", "cross-env": "^7.0.3", "drizzle-kit": "^0.31.1", "eslint": "^9.27.0", "eslint-config-prettier": "^10.1.5", "eslint-plugin-only-warn": "^1.1.0", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-turbo": "^2.5.3", "globals": "^16.2.0", "http-server": "^14.1.1", "husky": "^9.1.7", "import-in-the-middle": "^1.14.0", "jsdom": "^26.1.0", "lint-staged": "^16.1.0", "npm-run-all": "^4.1.5", "postcss": "^8.5.3", "require-in-the-middle": "^7.5.2", "rimraf": "^6.0.1", "start-server-and-test": "^2.0.12", "storybook": "^8.6.14", "tailwindcss": "^4.1.8", "tailwindcss-animate": "^1.0.7", "tsx": "^4.19.4", "tw-animate-css": "^1.3.0", "typescript": "^5.8.3", "typescript-eslint": "^8.33.0", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.1.4", "vitest-fail-on-console": "^0.7.1" }, "lint-staged": { "*.{js,jsx,ts,tsx,json,css,md}": [ "prettier --write" ], "src/**/*.{ts,tsx}": [ "npx eslint --max-warnings=0 --fix" ] } }