{ "name": "gerbil", "productName": "Gerbil", "version": "0.9.0", "description": "Run Large Language Models locally", "main": "out/main/index.js", "homepage": "./", "engines": { "node": ">=22.0.0", "yarn": "^4.0.0" }, "volta": { "node": "22.18.0", "yarn": "4.9.4" }, "packageManager": "yarn@4.9.4", "scripts": { "dev": "electron-vite dev", "build": "electron-vite build", "package": "electron-vite build && electron-builder", "analyze": "cross-env ANALYZE=true electron-vite build && yarn dlx open-cli dist/stats.html", "format": "prettier --write . --ignore-path .gitignore", "lint": "eslint .", "lint:fix": "eslint . --fix", "compile": "tsc --noEmit", "check-all": "yarn lint && yarn compile", "release": "yarn dlx tsx scripts/release.ts", "prepare": "husky" }, "lint-staged": { "*.{js,jsx,ts,tsx}": [ "eslint --fix", "prettier --write --ignore-path .gitignore" ], "*.{json,css,md}": [ "prettier --write --ignore-path .gitignore" ] }, "keywords": [ "llm", "ai", "local-ai", "language-model", "koboldcpp", "electron", "privacy", "offline" ], "author": { "name": "lone-cloud", "email": "hoboman313@proton.me" }, "license": "AGPL-3.0-or-later", "devDependencies": { "@eslint/js": "^9.34.0", "@types/node": "^24.3.0", "@types/react": "^19.1.12", "@types/react-dom": "^19.1.9", "@typescript-eslint/eslint-plugin": "^8.41.0", "@typescript-eslint/parser": "^8.41.0", "@vitejs/plugin-react": "^5.0.2", "cross-env": "^10.0.0", "electron": "^37.4.0", "electron-builder": "^26.0.12", "electron-vite": "^4.0.0", "eslint": "^9.34.0", "eslint-plugin-import": "^2.32.0", "eslint-plugin-no-comments": "^1.1.10", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.20", "eslint-plugin-sonarjs": "^3.0.5", "globals": "^16.3.0", "husky": "^9.1.7", "jiti": "^2.5.1", "lint-staged": "^16.1.5", "prettier": "^3.6.2", "rollup-plugin-visualizer": "^6.0.3", "typescript": "^5.9.2", "vite": "^7.1.3" }, "dependencies": { "@mantine/core": "^8.2.7", "@mantine/hooks": "^8.2.7", "axios": "^1.11.0", "execa": "^9.6.0", "lucide-react": "^0.542.0", "react": "^19.1.1", "react-dom": "^19.1.1", "systeminformation": "^5.27.8", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0", "zustand": "^5.0.8" }, "build": { "appId": "com.gerbil.app", "productName": "Gerbil", "compression": "normal", "icon": "src/assets/icon.png", "publish": null, "electronLanguages": [ "en-US" ], "directories": { "output": "release" }, "files": [ "out/**/*", "dist/**/*" ], "extraFiles": [ { "from": "assets/gerbil.desktop", "to": "assets/gerbil.desktop", "filter": [ "**/*" ] } ], "extraResources": [ { "from": "src/main/templates", "to": "templates", "filter": [ "**/*" ] } ], "mac": { "compression": "maximum", "category": "public.app-category.productivity", "hardenedRuntime": true, "gatekeeperAssess": false, "entitlements": "assets/entitlements.mac.plist", "entitlementsInherit": "assets/entitlements.mac.plist", "extraFiles": [ { "from": "assets/entitlements.mac.plist", "to": "assets/entitlements.mac.plist" } ], "target": [ { "target": "dmg", "arch": [ "arm64" ] } ] }, "win": { "compression": "normal", "target": [ { "target": "nsis", "arch": [ "x64" ] }, { "target": "portable", "arch": [ "x64" ] } ] }, "nsis": { "artifactName": "${productName}-Setup-${version}.${ext}", "oneClick": false, "allowToChangeInstallationDirectory": true, "createDesktopShortcut": true, "createStartMenuShortcut": true, "shortcutName": "Gerbil" }, "portable": { "artifactName": "${productName}-Portable-${version}.${ext}" }, "linux": { "compression": "store", "category": "Utility", "desktop": { "entry": { "Name": "Gerbil", "Comment": "Run Large Language Models locally", "Categories": "Utility;", "StartupWMClass": "Gerbil" } }, "target": [ { "target": "AppImage", "arch": [ "x64" ] } ] } } }