{
  "name": "mulmoterminal",
  "version": "0.6.2",
  "description": "MulmoTerminal — browser terminal + GUI panel for Claude Code. One command to start.",
  "type": "module",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/receptron/mulmoterminal.git"
  },
  "keywords": [
    "claude",
    "claude-code",
    "terminal",
    "gui",
    "ai",
    "agent",
    "mulmoterminal"
  ],
  "bin": {
    "mulmoterminal": "bin/mulmoterminal.js"
  },
  "files": [
    "bin/",
    "dist/",
    "server/",
    "plugins/"
  ],
  "engines": {
    "node": ">=22.9"
  },
  "scripts": {
    "dev": "concurrently -n server,vite -c blue,green \"node --watch --import tsx --env-file-if-exists=.env server/index.ts\" \"vite\"",
    "dev:server": "node --watch --import tsx --env-file-if-exists=.env server/index.ts",
    "dev:client": "vite",
    "build": "vue-tsc -b && vite build",
    "typecheck": "vue-tsc -b",
    "typecheck:server": "tsc -p tsconfig.server.json",
    "lint": "eslint .",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "preview": "vite preview",
    "server": "node --import tsx --env-file-if-exists=.env server/index.ts",
    "test": "vitest run",
    "prepack": "vue-tsc -b && vite build",
    "postinstall": "node server/fix-pty-perms.js"
  },
  "dependencies": {
    "@codemirror/lang-javascript": "^6.2.5",
    "@codemirror/lang-json": "^6.0.2",
    "@codemirror/lang-markdown": "^6.5.0",
    "@codemirror/state": "^6.7.0",
    "@codemirror/theme-one-dark": "^6.1.3",
    "@google/genai": "^2.10.0",
    "@marp-team/marp-core": "^4.3.0",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "@mulmochat-plugin/generate-image": "^0.5.0",
    "@mulmochat-plugin/ui-image": "^0.4.0",
    "@mulmoclaude/accounting-plugin": "^0.3.1",
    "@mulmoclaude/chart-plugin": "^0.1.3",
    "@mulmoclaude/collection-plugin": "^0.7.0",
    "@mulmoclaude/core": "^0.8.1",
    "@mulmoclaude/form-plugin": "^0.1.4",
    "@mulmoclaude/html-plugin": "^0.2.5",
    "@mulmoclaude/markdown-plugin": "^0.1.10",
    "@mulmoclaude/x-plugin": "^0.1.2",
    "@receptron/task-scheduler": "^0.1.0",
    "@xterm/addon-attach": "^0.12.0",
    "@xterm/addon-fit": "^0.11.0",
    "@xterm/addon-web-links": "^0.12.0",
    "@xterm/xterm": "^6.0.0",
    "codemirror": "^6.0.2",
    "dompurify": "^3.4.11",
    "echarts": "^6.0.0",
    "express": "^5.2.1",
    "gui-chat-protocol": "^0.4.0",
    "marked": "^18.0.5",
    "material-symbols": "^0.45.5",
    "node-pty": "^1.1.0",
    "puppeteer": "^25.3.0",
    "socket.io": "^4.8.3",
    "socket.io-client": "^4.8.3",
    "tsx": "^4.23.0",
    "vue": "^3.5.39",
    "vue-i18n": "^11.4.4",
    "vue-router": "^5.1.0",
    "ws": "^8.21.0"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@tailwindcss/vite": "^4.3.2",
    "@types/express": "^5.0.6",
    "@types/node": "^26.1.0",
    "@types/ws": "^8.18.1",
    "@vitejs/plugin-vue": "^6.0.6",
    "@vue/test-utils": "^2.4.11",
    "@vue/tsconfig": "^0.9.1",
    "concurrently": "^10.0.3",
    "eslint": "^10.6.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-prettier": "^5.5.6",
    "eslint-plugin-security": "^4.0.1",
    "eslint-plugin-sonarjs": "^4.1.0",
    "eslint-plugin-vue": "^10.9.2",
    "globals": "^17.7.0",
    "jsdom": "^29.1.1",
    "prettier": "^3.9.4",
    "tailwindcss": "^4.3.2",
    "typescript": "~6.0.2",
    "typescript-eslint": "^8.62.1",
    "vite": "^8.0.12",
    "vitest": "^4.1.9",
    "vue-eslint-parser": "^10.4.1",
    "vue-tsc": "^3.3.6"
  }
}
