{
  "name": "netcatty",
  "description": "Netcatty is a modern SSH manager and terminal app with host grouping, SFTP, keychain, port forwarding, and a rich UI.",
  "homepage": "https://github.com/binaricat/Netcatty",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "author": "binaricat <support@netcatty.com>",
  "license": "GPL-3.0-or-later",
  "main": "electron/main.cjs",
  "bin": {
    "netcatty-tool-cli": "./electron/cli/netcatty-tool-cli.cjs"
  },
  "scripts": {
    "dev": "npm run fetch:mosh:dev && npm run fetch:et:dev && npm run lint && concurrently -k \"vite --strictPort\" \"npm:dev:electron\"",
    "dev:electron": "wait-on http-get://localhost:5173 && cross-env VITE_DEV_SERVER_URL=http://localhost:5173 node electron/launch.cjs",
    "prebuild": "node scripts/copy-monaco.cjs",
    "fetch:mosh": "node scripts/fetch-mosh-binaries.cjs",
    "fetch:mosh:dev": "node scripts/fetch-mosh-binaries.cjs --host --resolve-release",
    "fetch:et": "node scripts/fetch-et-binaries.cjs",
    "fetch:et:dev": "node scripts/fetch-et-binaries.cjs --host --resolve-release",
    "build": "vite build",
    "preview": "vite preview",
    "start": "node electron/launch.cjs",
    "pack": "npm run build && cross-env NODE_OPTIONS=--disable-warning=DEP0190 electron-builder --config electron-builder.config.cjs --publish=never",
    "pack:dir": "npm run build && cross-env NODE_OPTIONS=--disable-warning=DEP0190 electron-builder --config electron-builder.config.cjs --dir --publish=never",
    "pack:win": "npm run build && cross-env npm_config_arch=x64 NODE_OPTIONS=--disable-warning=DEP0190 electron-builder --config electron-builder.config.cjs --win --x64 --publish=never && cross-env npm_config_arch=arm64 NODE_OPTIONS=--disable-warning=DEP0190 electron-builder --config electron-builder.config.cjs --win --arm64 --publish=never",
    "pack:win-x64": "npm run build && cross-env npm_config_arch=x64 NODE_OPTIONS=--disable-warning=DEP0190 electron-builder --config electron-builder.config.cjs --win --x64 --publish=never",
    "pack:mac": "npm run build && cross-env NODE_OPTIONS=--disable-warning=DEP0190 electron-builder --config electron-builder.config.cjs --mac --publish=never",
    "pack:linux": "npm run build && cross-env NODE_OPTIONS=--disable-warning=DEP0190 electron-builder --config electron-builder.config.cjs --linux --publish=never",
    "pack:linux-x64": "npm run build && cross-env npm_config_arch=x64 NODE_OPTIONS=--disable-warning=DEP0190 electron-builder --config electron-builder.config.cjs --linux --x64 --publish=never",
    "pack:linux-arm64": "npm run build && cross-env npm_config_arch=arm64 NODE_OPTIONS=--disable-warning=DEP0190 electron-builder --config electron-builder.config.cjs --linux --arm64 --publish=never",
    "postinstall": "electron-builder install-app-deps && patch-package && node scripts/patch-xterm-webgl-atlas.cjs",
    "rebuild": "electron-builder install-app-deps",
    "tool:cli": "node electron/cli/netcatty-tool-cli.cjs",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "test": "node --test --import tsx electron/bridges/*.test.cjs electron/bridges/*/*.test.cjs electron/bridges/aiBridge/sdk/*.test.cjs scripts/*.test.cjs application/*.test.ts application/app/*.test.ts application/state/*.test.ts application/state/*/*.test.ts components/*.test.ts components/*.test.tsx components/editor/*.test.ts components/editor/*.test.tsx components/terminalLayer/*.test.ts components/settings/*.test.tsx components/settings/tabs/ai/*.test.ts components/ai/*.test.ts components/ai-elements/*.test.tsx components/sftp/*.test.ts components/terminal/*.test.ts components/terminal/runtime/*.test.ts domain/*.test.ts infrastructure/ai/*.test.ts infrastructure/config/*.test.ts infrastructure/services/*/*.test.ts lib/*.test.ts"
  },
  "dependencies": {
    "@ai-sdk/anthropic": "^3.0.58",
    "@ai-sdk/google": "^3.0.43",
    "@ai-sdk/openai": "^3.0.41",
    "@aws-sdk/client-s3": "^3.956.0",
    "@fontsource/jetbrains-mono": "^5.2.8",
    "@fontsource/space-grotesk": "^5.2.10",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "@monaco-editor/react": "^4.7.0",
    "@openai/codex-sdk": "^0.136.0",
    "@radix-ui/react-collapsible": "1.1.12",
    "@radix-ui/react-context-menu": "2.2.16",
    "@radix-ui/react-dialog": "1.1.15",
    "@radix-ui/react-hover-card": "^1.1.15",
    "@radix-ui/react-popover": "1.1.15",
    "@radix-ui/react-scroll-area": "1.2.10",
    "@radix-ui/react-select": "2.2.6",
    "@radix-ui/react-tabs": "1.1.13",
    "@radix-ui/react-tooltip": "^1.2.8",
    "@streamdown/cjk": "^1.0.2",
    "@streamdown/code": "^1.1.0",
    "@withfig/autocomplete": "^2.692.3",
    "@xterm/addon-fit": "^0.11.0",
    "@xterm/addon-search": "^0.16.0",
    "@xterm/addon-serialize": "^0.14.0",
    "@xterm/addon-unicode-graphemes": "^0.4.0",
    "@xterm/addon-web-links": "^0.12.0",
    "@xterm/addon-webgl": "^0.19.0",
    "@xterm/xterm": "^6.0.0",
    "ai": "^6.0.116",
    "clsx": "2.1.1",
    "electron-updater": "^6.8.3",
    "iconv-lite": "^0.6.3",
    "lucide-react": "0.560.0",
    "monaco-editor": "^0.55.1",
    "node-pty": "1.1.0",
    "react": "^19.2.1",
    "react-dom": "^19.2.1",
    "serialport": "^13.0.0",
    "ssh2-sftp-client": "^12.0.1",
    "streamdown": "^2.4.0",
    "tailwind-merge": "3.4.0",
    "use-stick-to-bottom": "^1.1.3",
    "uuid": "^13.0.0",
    "webdav": "^5.8.0",
    "zmodem.js": "^0.1.10",
    "zod": "^4.3.6"
  },
  "devDependencies": {
    "@eslint/js": "^9.39.1",
    "@tailwindcss/postcss": "^4.1.17",
    "@tailwindcss/vite": "^4.1.17",
    "@types/node": "^25.0.0",
    "@typescript-eslint/eslint-plugin": "^8.49.0",
    "@typescript-eslint/parser": "^8.49.0",
    "@vitejs/plugin-react": "^5.1.2",
    "concurrently": "^9.2.1",
    "cross-env": "^10.1.0",
    "electron": "^42.3.3",
    "electron-builder": "^26.15.2",
    "eslint": "^9.39.1",
    "eslint-plugin-react-hooks": "^7.0.1",
    "eslint-plugin-unused-imports": "^4.3.0",
    "patch-package": "^8.0.0",
    "simple-icons": "^16.23.0",
    "tailwindcss": "^4.1.17",
    "tsx": "^4.21.0",
    "typescript": "~5.9.3",
    "vite": "^7.3.2",
    "wait-on": "^9.0.3"
  },
  "optionalDependencies": {
    "@anthropic-ai/claude-agent-sdk": "^0.3.161",
    "@cursor/sdk": "^1.0.18",
    "@github/copilot-sdk": "1.0.0",
    "@tencent-ai/agent-sdk": "^0.3.173",
    "@vscode/windows-process-tree": "^0.7.0"
  },
  "overrides": {
    "cpu-features": "npm:empty-npm-package@1.0.0",
    "axios": "1.13.5",
    "node-abi": "4.31.0",
    "@electron/asar": "4.2.0"
  }
}
