{
  "name": "tower-studio",
  "version": "0.2.45",
  "description": "AI Task Orchestration Platform — Kanban + Terminal + Code Editor + MCP",
  "bin": {
    "tower": "bin/tower.mjs"
  },
  "files": [
    "bin/",
    ".next/standalone/",
    "prisma/schema.prisma",
    "prisma/init-fts.ts",
    "prisma/pre-migration.sql",
    "scripts/init-db.ts",
    "scripts/generate-prisma-client.js",
    "scripts/link-prisma.js",
    "scripts/fix-native-permissions.js",
    "scripts/post-install-banner.js",
    "scripts/prune-standalone-natives.js",
    "scripts/migrate-data.ts",
    "scripts/run-migrations.ts",
    "scripts/migrations/",
    "scripts/tower-post-tool-hook.js",
    "scripts/tower-session-start-hook.js",
    "scripts/tower-stop-hook.js",
    "dist/mcp-server.cjs",
    "skills/",
    "next.config.ts",
    "tsconfig.json"
  ],
  "scripts": {
    "predev": "TOWER_DATA_DIR=\"$HOME/.tower-dev\" DATABASE_URL=\"file:$HOME/.tower-dev/database/tower.db\" node scripts/ensure-dev-db.js && pnpm db:migrate && pnpm mcp:build",
    "dev": "NEXT_DISTDIR=.next-dev TOWER_DATA_DIR=\"$HOME/.tower-dev\" DATABASE_URL=\"file:$HOME/.tower-dev/database/tower.db\" env -u TURBOPACK next dev --webpack -p 9022",
    "build": "pnpm mcp:build && rm -rf .next && next build && find .next -name '*.map' -delete && cp -R .next/static .next/standalone/.next/ && cp -R public .next/standalone/ && node scripts/prune-standalone-natives.js",
    "release": "pnpm build && npm pack",
    "release:smoke": "node scripts/release-smoke.js",
    "release:publish": "pnpm build && npm publish",
    "release:ship": "bash scripts/release.sh",
    "start": "node bin/tower.mjs",
    "lint": "eslint",
    "db:generate": "prisma generate",
    "db:push": "DATABASE_URL=\"file:$HOME/.tower-dev/database/tower.db\" prisma db push",
    "db:seed": "DATABASE_URL=\"file:$HOME/.tower-dev/database/tower.db\" tsx prisma/seed.ts",
    "db:studio": "DATABASE_URL=\"file:$HOME/.tower-dev/database/tower.db\" prisma studio",
    "db:init": "TOWER_DATA_DIR=\"$HOME/.tower-dev\" DATABASE_URL=\"file:$HOME/.tower-dev/database/tower.db\" tsx scripts/init-db.ts",
    "db:init-fts": "DATABASE_URL=\"file:$HOME/.tower-dev/database/tower.db\" tsx prisma/init-fts.ts",
    "db:migrate": "TOWER_DATA_DIR=\"$HOME/.tower-dev\" DATABASE_URL=\"file:$HOME/.tower-dev/database/tower.db\" tsx scripts/run-migrations.ts",
    "test": "vitest",
    "test:run": "vitest run",
    "test:e2e": "NO_PROXY=localhost,127.0.0.1 no_proxy=localhost,127.0.0.1 playwright test",
    "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
    "mcp": "node dist/mcp-server.cjs",
    "mcp:build": "esbuild src/mcp/index.ts --bundle --platform=node --target=node18 --format=cjs --outfile=dist/mcp-server.cjs --external:@prisma/client --external:@modelcontextprotocol/sdk --external:@opentelemetry/api --alias:@=./src",
    "mcp:dev": "tsx src/mcp/index.ts",
    "postinstall": "node scripts/generate-prisma-client.js && node scripts/link-prisma.js && node scripts/fix-native-permissions.js && node scripts/post-install-banner.js"
  },
  "pnpm": {
    "onlyBuiltDependencies": [
      "@prisma/engines",
      "esbuild",
      "node-pty",
      "prisma"
    ]
  },
  "dependencies": {
    "@modelcontextprotocol/sdk": "^1.28.0",
    "@prisma/client": "^6.19.2",
    "@vscode/ripgrep": "1.18.0",
    "node-pty": "^1.1.0",
    "prisma": "^6.19.2",
    "tinykeys": "^4.0.0",
    "tsx": "^4.21.0",
    "ws": "^8.20.0"
  },
  "devDependencies": {
    "@anthropic-ai/claude-agent-sdk": "^0.2.114",
    "@base-ui/react": "^1.3.0",
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/sortable": "^10.0.0",
    "@dnd-kit/utilities": "^3.2.2",
    "@iconify/react": "^6.0.2",
    "@monaco-editor/react": "4.8.0-rc.3",
    "@playwright/test": "^1.58.2",
    "@tailwindcss/postcss": "^4",
    "@tailwindcss/typography": "^0.5.19",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^16.3.2",
    "@testing-library/user-event": "^14.6.1",
    "@types/node": "^20",
    "@types/react": "^19",
    "@types/react-dom": "^19",
    "@types/shell-quote": "^1.7.5",
    "@types/tar": "^7.0.87",
    "@types/ws": "^8.18.1",
    "@uiw/react-md-editor": "^4.0.11",
    "@vitejs/plugin-react": "^6.0.1",
    "@xterm/addon-attach": "^0.12.0",
    "@xterm/addon-fit": "^0.11.0",
    "@xterm/addon-web-links": "^0.12.0",
    "@xterm/addon-webgl": "^0.19.0",
    "@xterm/xterm": "^6.0.0",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "cmdk": "^1.1.1",
    "conventional-changelog-cli": "^5.0.0",
    "eslint": "^9",
    "eslint-config-next": "16.2.1",
    "fuse.js": "^7.3.0",
    "ignore": "^7.0.5",
    "jsdom": "^29.0.1",
    "lucide-react": "^1.6.0",
    "monaco-editor": "^0.55.1",
    "next": "16.2.1",
    "next-themes": "^0.4.6",
    "parse-diff": "^0.12.0",
    "react": "19.2.4",
    "react-dom": "19.2.4",
    "react-resizable-panels": "^2.1.9",
    "react-reverse-portal": "^2.3.0",
    "shadcn": "^4.1.0",
    "shell-quote": "^1.8.3",
    "simple-git": "^3.36.0",
    "sonner": "^2.0.7",
    "streamdown": "^2.5.0",
    "tailwind-merge": "^3.5.0",
    "tailwindcss": "^4",
    "tar": "^7.5.13",
    "tw-animate-css": "^1.4.0",
    "typescript": "^5",
    "vitest": "^4.1.1",
    "zod": "^4.3.6",
    "zustand": "^5.0.12"
  }
}
