{
  "name": "claude-agent-teams-ui",
  "type": "module",
  "version": "0.1.0",
  "description": "Desktop app that visualizes Claude Code session execution — explore conversations, track context usage, and analyze tool calls",
  "license": "AGPL-3.0",
  "author": {
    "name": "Илия (777genius)",
    "email": "quantjumppro@gmail.com"
  },
  "homepage": "https://github.com/777genius/claude_agent_teams_ui",
  "repository": {
    "type": "git",
    "url": "https://github.com/777genius/claude_agent_teams_ui.git"
  },
  "bugs": {
    "url": "https://github.com/777genius/claude_agent_teams_ui/issues"
  },
  "main": "dist-electron/main/index.cjs",
  "scripts": {
    "dev": "electron-vite dev",
    "dev:kill": "node bin/kill-dev.js",
    "prebuild": "tsx scripts/fetch-pricing-data.ts",
    "build": "electron-vite build",
    "dist": "electron-builder --mac --win --linux",
    "dist:mac": "electron-builder --mac",
    "dist:mac:arm64": "electron-builder --mac --arm64",
    "dist:mac:x64": "electron-builder --mac --x64",
    "dist:win": "electron-builder --win",
    "dist:linux": "electron-builder --linux",
    "preview": "electron-vite preview",
    "typecheck": "tsc --noEmit",
    "lint": "eslint src/ --cache --cache-location .eslintcache --cache-strategy content",
    "lint:fix": "eslint src/ --fix --cache --cache-location .eslintcache --cache-strategy content",
    "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css}\"",
    "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json,css}\"",
    "check": "pnpm typecheck && pnpm lint && pnpm test && pnpm build",
    "fix": "pnpm lint:fix && pnpm format",
    "quality": "pnpm check && pnpm format:check && npx knip",
    "test:chunks": "tsx test/test-chunk-building.ts",
    "test:semantic": "tsx test/test-semantic-steps.ts",
    "test:noise": "tsx test/test-noise-filtering.ts",
    "test:task-filtering": "tsx test/test-task-filtering.ts",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:coverage": "vitest run --coverage",
    "test:coverage:critical": "vitest run --coverage --config vitest.critical.config.ts",
    "standalone": "tsx src/main/standalone.ts",
    "standalone:build": "electron-vite build && vite build --config docker/vite.standalone.config.ts",
    "standalone:start": "node dist-standalone/index.cjs",
    "prepare": "husky",
    "postinstall": "electron-rebuild -f -o node-pty || echo 'node-pty rebuild failed (terminal will be disabled)'"
  },
  "lint-staged": {
    "src/**/*.{ts,tsx,js,jsx}": [
      "prettier --write"
    ],
    "src/**/*.{json,css}": [
      "prettier --write"
    ]
  },
  "dependencies": {
    "@codemirror/autocomplete": "^6.20.0",
    "@codemirror/commands": "^6.10.2",
    "@codemirror/lang-cpp": "^6.0.3",
    "@codemirror/lang-css": "^6.3.1",
    "@codemirror/lang-go": "^6.0.1",
    "@codemirror/lang-html": "^6.4.11",
    "@codemirror/lang-java": "^6.0.2",
    "@codemirror/lang-javascript": "^6.2.4",
    "@codemirror/lang-json": "^6.0.2",
    "@codemirror/lang-less": "^6.0.2",
    "@codemirror/lang-markdown": "^6.5.0",
    "@codemirror/lang-php": "^6.0.2",
    "@codemirror/lang-python": "^6.2.1",
    "@codemirror/lang-rust": "^6.0.2",
    "@codemirror/lang-sass": "^6.0.2",
    "@codemirror/lang-sql": "^6.10.0",
    "@codemirror/lang-xml": "^6.1.0",
    "@codemirror/lang-yaml": "^6.1.2",
    "@codemirror/language": "^6.12.1",
    "@codemirror/language-data": "^6.5.2",
    "@codemirror/merge": "^6.12.0",
    "@codemirror/search": "^6.6.0",
    "@codemirror/state": "^6.5.4",
    "@codemirror/theme-one-dark": "^6.1.3",
    "@codemirror/view": "^6.39.15",
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/sortable": "^10.0.0",
    "@dnd-kit/utilities": "^3.2.2",
    "@fastify/cors": "^11.2.0",
    "@fastify/static": "^9.0.0",
    "@radix-ui/react-checkbox": "^1.3.3",
    "@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-label": "^2.1.8",
    "@radix-ui/react-popover": "^1.1.15",
    "@radix-ui/react-select": "^2.2.6",
    "@radix-ui/react-slot": "^1.2.4",
    "@radix-ui/react-tabs": "^1.1.13",
    "@radix-ui/react-tooltip": "^1.2.8",
    "@tanstack/react-virtual": "^3.10.8",
    "@xterm/addon-fit": "^0.11.0",
    "@xterm/addon-web-links": "^0.12.0",
    "@xterm/xterm": "^6.0.0",
    "chokidar": "^4.0.3",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "cmdk": "1.0.4",
    "date-fns": "^3.6.0",
    "diff": "^8.0.3",
    "dompurify": "^3.3.1",
    "electron-updater": "^6.7.3",
    "fastify": "^5.7.4",
    "highlight.js": "^11.11.1",
    "idb-keyval": "^6.2.2",
    "isbinaryfile": "^6.0.0",
    "lucide-react": "^0.562.0",
    "mdast-util-to-hast": "^13.2.1",
    "mermaid": "^11.12.3",
    "node-diff3": "^3.2.0",
    "node-pty": "^1.1.0",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-markdown": "^10.1.0",
    "rehype-highlight": "^7.0.2",
    "rehype-raw": "^7.0.0",
    "remark-gfm": "^4.0.1",
    "remark-parse": "^11.0.0",
    "simple-git": "^3.32.3",
    "ssh-config": "^5.0.4",
    "ssh2": "^1.17.0",
    "tailwind-merge": "^3.5.0",
    "tailwindcss-animate": "^1.0.7",
    "unified": "^11.0.5",
    "zustand": "^4.5.0"
  },
  "devDependencies": {
    "@electron/rebuild": "^4.0.3",
    "@eslint-community/eslint-plugin-eslint-comments": "^4.6.0",
    "@eslint/js": "^9.39.2",
    "@tailwindcss/typography": "^0.5.19",
    "@types/hast": "^3.0.4",
    "@types/mdast": "^4.0.4",
    "@types/node": "^25.0.7",
    "@types/react": "^18.3.3",
    "@types/react-dom": "^18.3.0",
    "@types/ssh2": "^1.15.5",
    "@vitejs/plugin-react": "^4.3.1",
    "@vitest/coverage-v8": "^3.1.4",
    "autoprefixer": "^10.4.17",
    "electron": "^40.3.0",
    "electron-builder": "^25.1.8",
    "electron-vite": "^2.3.0",
    "eslint": "^9.39.2",
    "eslint-config-prettier": "^10.1.8",
    "eslint-import-resolver-typescript": "^4.4.4",
    "eslint-plugin-boundaries": "^5.3.1",
    "eslint-plugin-import": "^2.32.0",
    "eslint-plugin-jsx-a11y": "^6.10.2",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-hooks": "^7.0.1",
    "eslint-plugin-react-refresh": "^0.4.26",
    "eslint-plugin-security": "^3.0.1",
    "eslint-plugin-simple-import-sort": "^12.1.1",
    "eslint-plugin-sonarjs": "^3.0.6",
    "eslint-plugin-tailwindcss": "^3.18.2",
    "globals": "^17.2.0",
    "happy-dom": "^20.0.2",
    "husky": "^9.1.7",
    "knip": "^5.82.1",
    "lint-staged": "^16.2.7",
    "postcss": "^8.4.35",
    "prettier": "^3.8.1",
    "prettier-plugin-tailwindcss": "^0.7.2",
    "tailwindcss": "^3.4.1",
    "tsx": "^4.21.0",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.54.0",
    "vite": "^5.4.2",
    "vitest": "^3.1.4"
  },
  "build": {
    "appId": "com.claudecode.context",
    "productName": "Claude Agent Teams UI",
    "directories": {
      "output": "release"
    },
    "files": [
      "out/renderer/**",
      "dist-electron/**",
      "package.json"
    ],
    "asar": true,
    "asarUnpack": [
      "out/renderer/**",
      "**/node_modules/node-pty/**"
    ],
    "extraResources": [
      {
        "from": "resources/pricing.json",
        "to": "pricing.json"
      }
    ],
    "npmRebuild": false,
    "extraMetadata": {
      "main": "dist-electron/main/index.cjs"
    },
    "mac": {
      "category": "public.app-category.developer-tools",
      "target": [
        "dmg",
        "zip"
      ],
      "hardenedRuntime": true,
      "gatekeeperAssess": false,
      "notarize": true,
      "entitlements": "resources/entitlements.mac.plist",
      "entitlementsInherit": "resources/entitlements.mac.inherit.plist",
      "icon": "resources/icons/mac/icon.icns"
    },
    "dmg": {
      "sign": false
    },
    "win": {
      "target": [
        "nsis"
      ],
      "icon": "resources/icons/win/icon.ico"
    },
    "linux": {
      "target": [
        "AppImage",
        "deb",
        "rpm",
        "pacman"
      ],
      "icon": "resources/icons/png",
      "category": "Development"
    },
    "deb": {
      "afterInstall": "resources/afterInstall.sh"
    },
    "nsis": {
      "oneClick": false,
      "perMachine": false,
      "allowToChangeInstallationDirectory": true
    },
    "publish": [
      {
        "provider": "github",
        "releaseType": "release"
      }
    ]
  },
  "packageManager": "pnpm@10.25.0+sha512.5e82639027af37cf832061bcc6d639c219634488e0f2baebe785028a793de7b525ffcd3f7ff574f5e9860654e098fe852ba8ac5dd5cefe1767d23a020a92f501",
  "pnpm": {
    "onlyBuiltDependencies": [
      "electron",
      "node-pty"
    ]
  },
  "knip": {
    "entry": [
      "src/main/index.ts",
      "src/main/standalone.ts",
      "src/preload/index.ts",
      "src/renderer/main.tsx",
      "electron.vite.config.ts",
      "docker/vite.standalone.config.ts"
    ],
    "project": [
      "src/**/*.{ts,tsx}!"
    ],
    "ignore": [
      "tsconfig*.json"
    ],
    "paths": {
      "@main/*": [
        "./src/main/*"
      ],
      "@renderer/*": [
        "./src/renderer/*"
      ],
      "@preload/*": [
        "./src/preload/*"
      ],
      "@shared/*": [
        "./src/shared/*"
      ]
    },
    "ignoreBinaries": [
      "pkg"
    ]
  }
}
