{ "name": "Nut", "description": "An AI Agent", "private": true, "license": "MIT", "sideEffects": false, "type": "module", "version": "0.0.5", "scripts": { "deploy": "vercel deploy --prod", "build": "npx remix vite:build", "dev": "node pre-start.cjs && npx remix vite:dev", "dev:supabase": "node pre-start.cjs && USE_SUPABASE=true npx remix vite:dev", "dev:legacy": "node pre-start.cjs && USE_SUPABASE=false npx remix vite:dev", "test": "vitest --run --exclude tests/e2e", "test:watch": "vitest", "test:e2e": "playwright test", "test:e2e:supabase": "USE_SUPABASE=true playwright test", "test:e2e:legacy": "USE_SUPABASE=false playwright test", "test:e2e:supabase:ui": "USE_SUPABASE=true playwright test --ui", "test:e2e:legacy:ui": "USE_SUPABASE=false playwright test --ui", "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint app", "lint:fix": "npm run lint -- --fix && prettier app --write", "start": "remix-serve ./build/server/index.mjs", "dockerrun": "docker run -it -d --name bolt-ai-live -p 5173:5173 --env-file .env.local bolt-ai", "dockerbuild:prod": "docker build -t bolt-ai:production -t bolt-ai:latest --target bolt-ai-production .", "dockerbuild": "docker build -t bolt-ai:development -t bolt-ai:latest --target bolt-ai-development .", "typecheck": "tsc", "preview": "pnpm run build && pnpm run start", "prepare": "husky", "postinstall": "remix setup node" }, "engines": { "node": ">=18.18.0" }, "dependencies": { "@ai-sdk/amazon-bedrock": "1.0.6", "@ai-sdk/anthropic": "^0.0.39", "@ai-sdk/cohere": "^1.0.3", "@ai-sdk/google": "^0.0.52", "@ai-sdk/mistral": "^0.0.43", "@ai-sdk/openai": "^0.0.66", "@anthropic-ai/sdk": "^0.33.1", "@codemirror/autocomplete": "^6.18.3", "@codemirror/commands": "^6.7.1", "@codemirror/lang-cpp": "^6.0.2", "@codemirror/lang-css": "^6.3.1", "@codemirror/lang-html": "^6.4.9", "@codemirror/lang-javascript": "^6.2.2", "@codemirror/lang-json": "^6.0.1", "@codemirror/lang-markdown": "^6.3.1", "@codemirror/lang-python": "^6.1.6", "@codemirror/lang-sass": "^6.0.2", "@codemirror/lang-vue": "^0.1.3", "@codemirror/lang-wast": "^6.0.2", "@codemirror/language": "^6.10.6", "@codemirror/search": "^6.5.8", "@codemirror/state": "^6.4.1", "@codemirror/view": "^6.35.0", "@iconify-json/ph": "^1.2.1", "@iconify-json/svg-spinners": "^1.2.1", "@lezer/highlight": "^1.2.1", "@nanostores/react": "^0.7.3", "@octokit/rest": "^21.0.2", "@octokit/types": "^13.6.2", "@openrouter/ai-sdk-provider": "^0.0.5", "@opentelemetry/api": "^1.9.0", "@opentelemetry/context-async-hooks": "^1.30.1", "@opentelemetry/core": "^1.26.0", "@opentelemetry/otlp-exporter-base": "^0.53.0", "@opentelemetry/otlp-transformer": "^0.53.0", "@opentelemetry/resources": "^1.30.1", "@opentelemetry/sdk-trace-base": "^1.30.1", "@opentelemetry/semantic-conventions": "^1.30.0", "@radix-ui/react-context-menu": "^2.2.2", "@radix-ui/react-dialog": "^1.1.2", "@radix-ui/react-dropdown-menu": "^2.1.2", "@radix-ui/react-separator": "^1.1.0", "@radix-ui/react-switch": "^1.1.1", "@radix-ui/react-tooltip": "^1.1.4", "@remix-run/node": "2.16.0", "@remix-run/react": "^2.15.0", "@remix-run/vercel": "1.19.3", "@sentry/nextjs": "9.5.0", "@sentry/remix": "^8", "@sentry/vite-plugin": "^3.1.2", "@supabase/supabase-js": "^2.49.1", "@uiw/codemirror-theme-vscode": "^4.23.6", "@unocss/reset": "^0.61.9", "@vercel/analytics": "^1.5.0", "@vercel/remix": "2.15.3", "@xterm/addon-fit": "^0.10.0", "@xterm/addon-web-links": "^0.11.0", "@xterm/xterm": "^5.5.0", "ai": "^4.0.13", "chalk": "^5.4.1", "date-fns": "^3.6.0", "diff": "^5.2.0", "dotenv": "^16.4.7", "file-saver": "^2.0.5", "framer-motion": "^11.12.0", "ignore": "^6.0.2", "isbot": "^4.4.0", "isomorphic-git": "^1.27.2", "istextorbinary": "^9.5.0", "jose": "^5.9.6", "js-cookie": "^3.0.5", "jszip": "^3.10.1", "nanostores": "^0.10.3", "ollama-ai-provider": "^0.15.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-hotkeys-hook": "^4.6.1", "react-markdown": "^9.0.1", "react-modal": "^3.16.3", "react-resizable-panels": "^2.1.7", "react-toastify": "^10.0.6", "rehype-raw": "^7.0.0", "rehype-sanitize": "^6.0.0", "remark-gfm": "^4.0.0", "remix-island": "^0.2.0", "remix-utils": "^7.7.0", "shiki": "^1.24.0", "unist-util-visit": "^5.0.0" }, "devDependencies": { "@blitz/eslint-plugin": "0.1.0", "@playwright/test": "^1.51.0", "@remix-run/dev": "^2.15.3", "@remix-run/serve": "^2.16.0", "@types/diff": "^5.2.3", "@types/dom-speech-recognition": "^0.0.4", "@types/file-saver": "^2.0.7", "@types/js-cookie": "^3.0.6", "@types/node": "^20.0.0", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/react-modal": "^3.16.3", "fast-glob": "^3.3.2", "husky": "9.1.7", "is-ci": "^3.0.1", "node-fetch": "^3.3.2", "pnpm": "^9.14.4", "prettier": "^3.4.1", "sass-embedded": "^1.81.0", "typescript": "5.8.0-beta", "unified": "^11.0.5", "unocss": "^0.61.9", "vercel": "^41.4.1", "vite": "^5.4.11", "vite-plugin-node-polyfills": "^0.22.0", "vite-plugin-optimize-css-modules": "^1.1.0", "vite-tsconfig-paths": "^4.3.2", "vitest": "^2.1.7", "zod": "^3.23.8" }, "resolutions": { "@typescript-eslint/utils": "^8.0.0-alpha.30" }, "packageManager": "pnpm@9.4.0", "pnpm": { "patchedDependencies": { "@opentelemetry/context-async-hooks@1.30.1": "patches/@opentelemetry__context-async-hooks@1.30.1.patch" } } }