{ "name": "dombot", "productName": "DomBot", "version": "2.2.2", "description": "Cross-platform desktop app built with Electron, React, TypeScript, and Vite.", "main": ".vite/build/index.js", "private": true, "cloudflare": { "bindings": { "DOMBOT_SECRET": { "description": "Root key that encrypts everything in your database. Generate one with `openssl rand -base64 32` and keep it in your password manager — if it's lost, the instance's data is unreadable." }, "DOMBOT_PASSWORD": { "description": "The password you'll sign in with. Generate one with `openssl rand -base64 32` (or choose your own long one). Rotate later with `npm run web:rotate-password`." }, "DOMBOT_AUTH": { "description": "Leave as `password`. To sign in with Cloudflare Access instead, follow docs/self-hosting.md: changing only this value locks you out." } } }, "scripts": { "start": "electron-forge start", "package": "electron-forge package", "make": "electron-forge make", "publish": "electron-forge publish", "lint": "eslint --ext .ts,.tsx .", "format": "prettier --write .", "typecheck": "tsc --noEmit && tsc -p tsconfig.worker.json", "test": "vitest run", "test:watch": "vitest", "test:live": "vitest run -c vitest.live.config.ts", "pricing:build": "node scripts/build-base-pricing.mjs", "rates:build": "node --disable-warning=MODULE_TYPELESS_PACKAGE_JSON scripts/build-exchange-rates.mjs", "registrars:update": "node scripts/update-registrars.mjs", "site:dev": "vite site", "site:build": "vite build site", "site:preview": "vite preview site", "site:deploy": "npm run site:build && wrangler deploy -c wrangler.site.jsonc", "demo:build": "vite build -c vite.demo.config.mts", "demo:dev": "vite -c vite.demo.config.mts --port 5199", "demo:preview": "vite preview -c vite.demo.config.mts --port 5198", "demo:deploy": "npm run demo:build && wrangler deploy -c wrangler.demo.jsonc", "web:types": "node scripts/wrangler.mjs types", "web:build": "vite build -c vite.web.config.mts", "web:dev": "npm run web:build && node scripts/wrangler.mjs dev --test-scheduled", "web:deploy": "npm run build && npm run deploy", "web:migrate": "node scripts/wrangler.mjs d1 migrations apply DB --remote", "web:migrate:local": "node scripts/wrangler.mjs d1 migrations apply DB --local", "build": "npm run web:build", "deploy": "npm run web:migrate && node scripts/wrangler.mjs deploy", "web:rotate-secret": "node scripts/web-rotate-secret.mjs", "web:secrets": "node scripts/web-secrets.mjs", "web:rotate-password": "node scripts/web-secrets.mjs --password" }, "keywords": [], "author": { "name": "Aaron Oxborrow", "email": "aaron@oxborrow.com" }, "license": "AGPL-3.0-or-later", "devDependencies": { "@electron-forge/cli": "^7.11.2", "@electron-forge/maker-deb": "^7.11.2", "@electron-forge/maker-rpm": "^7.11.2", "@electron-forge/maker-squirrel": "^7.11.2", "@electron-forge/maker-zip": "^7.11.2", "@electron-forge/plugin-auto-unpack-natives": "^7.11.2", "@electron-forge/plugin-fuses": "^7.11.2", "@electron-forge/plugin-vite": "^7.11.2", "@electron/fuses": "^1.8.0", "@tailwindcss/vite": "^4.3.3", "@types/electron-squirrel-startup": "^1.0.2", "@types/punycode": "^2.1.4", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.5", "@typescript-eslint/eslint-plugin": "^8.68.0", "@typescript-eslint/parser": "^8.68.0", "@vitejs/plugin-react": "^4.7.0", "electron": "44.9.1", "eslint": "^8.57.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-import": "^2.32.0", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", "prettier": "^3.9.6", "tailwindcss": "^4.3.3", "tw-animate-css": "^1.4.0", "typescript": "~5.6.3", "vite": "^6.4.5", "vitest": "^4.1.12", "wrangler": "^4.154.0" }, "dependencies": { "@aoxborrow/registrar-client": "^1.2.1", "@heroicons/react": "^2.2.0", "@hono/node-server": "^2.1.5", "@modelcontextprotocol/sdk": "^1.32.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "electron-squirrel-startup": "^1.0.1", "hono": "^4.13.13", "https-proxy-agent": "7.0.6", "jose": "^6.2.12", "lucide-react": "^1.37.0", "punycode": "^2.3.1", "radix-ui": "^1.6.7", "react": "^19.2.8", "react-dom": "^19.2.8", "react-router-dom": "^7.18.3", "sonner": "^2.0.8", "tailwind-merge": "^3.6.0", "tldts": "^7.4.11", "tunnelfetch": "1.13.0", "zod": "^4.6.7", "zustand": "^5.0.15" }, "engines": { "node": ">=22.13.0" }, "overrides": { "tar": "^7.5.22", "tmp": "^0.2.7", "extract-zip": "npm:@electron-internal/extract-zip@1.0.1" } }