{
  "name": "@stackmemoryai/stackmemory",
  "version": "1.10.5",
  "description": "Lossless, project-scoped memory for AI coding tools. Durable context across sessions with 56 MCP tools, FTS5 search, conductor orchestrator, loop/watch monitoring, snapshot capture, pre-flight overlap checks, Claude/Codex/OpenCode wrappers, Linear sync, and automatic hooks.",
  "engines": {
    "node": ">=20.0.0",
    "npm": ">=10.0.0"
  },
  "type": "module",
  "main": "dist/index.js",
  "bin": {
    "stackmemory": "dist/src/cli/index.js",
    "codex-sm": "dist/src/cli/codex-sm.js",
    "codex-smd": "bin/codex-smd",
    "claude-sm": "bin/claude-sm",
    "claude-smd": "bin/claude-smd",
    "opencode-sm": "bin/opencode-sm",
    "gemini-sm": "bin/gemini-sm"
  },
  "files": [
    "bin",
    "dist/src",
    "scripts/git-hooks",
    "scripts/hooks",
    "scripts/setup",
    "scripts/setup.sh",
    "scripts/install.sh",
    "scripts/install-global.sh",
    "scripts/install-claude-hooks.sh",
    "scripts/install-auto-background-hook.sh",
    "scripts/install-sweep-hook.sh",
    "scripts/install-code-execution-hooks.sh",
    "scripts/install-claude-hooks-auto.js",
    "scripts/claude-worktree-manager.sh",
    "scripts/claude-worktree-setup.sh",
    "scripts/claude-worktree-monitor.sh",
    "scripts/claude-code-wrapper.sh",
    "scripts/claude-sm-setup.sh",
    "scripts/codex-wrapper.sh",
    "scripts/opencode-wrapper.sh",
    "scripts/stackmemory-daemon.sh",
    "scripts/ralph-loop-implementation.js",
    "scripts/setup-claude-integration.sh",
    "scripts/setup-claude-integration.js",
    "scripts/verify-dist.cjs",
    "scripts/smoke-init-db.sh",
    "templates",
    "README.md",
    "LICENSE"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/stackmemoryai/stackmemory.git"
  },
  "homepage": "https://stackmemoryai.github.io/stackmemory/",
  "bugs": {
    "url": "https://github.com/stackmemoryai/stackmemory/issues"
  },
  "author": "StackMemory AI",
  "license": "BUSL-1.1",
  "publishConfig": {
    "access": "public"
  },
  "keywords": [
    "ai",
    "ai-memory",
    "ai-coding",
    "memory",
    "context",
    "context-management",
    "llm",
    "mcp",
    "mcp-server",
    "mcp-tools",
    "model-context-protocol",
    "claude",
    "claude-code",
    "codex",
    "opencode",
    "coding-assistant",
    "persistence",
    "session-persistence",
    "fts5",
    "full-text-search",
    "sqlite",
    "skills",
    "hooks",
    "linear",
    "linear-integration",
    "task-runner",
    "agent-orchestration",
    "multi-agent",
    "developer-tools",
    "devtools"
  ],
  "scripts": {
    "start": "node dist/src/integrations/mcp/server.js",
    "start:full": "node dist/src/integrations/mcp/server.js",
    "setup": "npm install && npm run build && npm run init",
    "postinstall": "node scripts/install-claude-hooks-auto.js || true",
    "init": "node dist/scripts/initialize.js",
    "build": "rm -rf dist && node esbuild.config.js",
    "typecheck": "node --max-old-space-size=8192 ./node_modules/.bin/tsc --project tsconfig.check.json",
    "lint": "eslint 'src/**/*.ts' 'scripts/**/*.ts'",
    "lint:fix": "eslint 'src/**/*.ts' 'scripts/**/*.ts' --fix --max-warnings=-1",
    "lint:fast": "oxlint src scripts",
    "format": "prettier --write src/**/*.ts scripts/**/*.ts",
    "test": "vitest",
    "test:ui": "vitest --ui",
    "test:unit": "vitest run --project unit",
    "test:integration": "vitest run --project integration",
    "test:live": "vitest run --project live",
    "test:all": "vitest run",
    "test:run": "vitest run",
    "test:pre-publish": "./scripts/test-pre-publish-quick.sh",
    "test:pre-commit": "vitest related --run --reporter=dot --silent --bail=1",
    "prepublishOnly": "npm run build && npm run verify:dist && npm run test:pre-publish",
    "quality": "npm run lint && npm run test:run && npm run build",
    "dev": "tsx watch src/integrations/mcp/server.ts",
    "mcp:start": "node dist/src/integrations/mcp/server.js",
    "mcp:dev": "tsx src/integrations/mcp/server.ts",
    "status": "node dist/scripts/status.js",
    "linear:sync": "node scripts/sync-linear-graphql.js",
    "linear:mirror": "node scripts/sync-linear-graphql.js --mirror",
    "claude:setup": "node scripts/setup-claude-integration.js",
    "daemons:start": "node scripts/claude-sm-autostart.js",
    "daemons:status": "node scripts/claude-sm-autostart.js status",
    "daemons:stop": "node scripts/claude-sm-autostart.js stop",
    "daemon:session": "node dist/daemon/session-daemon.js",
    "daemon:session:start": "node dist/daemon/session-daemon.js --session-id",
    "diffmem:start": "PYTHONPATH=packages/diffmem/src packages/diffmem/.venv/bin/uvicorn diffmem.server:app --host 127.0.0.1 --port 8000",
    "diffmem:setup": "cd packages/diffmem && python3 -m venv .venv && .venv/bin/pip install -r requirements-server.txt -e .",
    "daemon:start": "node dist/daemon/unified-daemon.js",
    "daemon:stop": "node dist/cli/index.js daemon stop",
    "daemon:status": "node dist/cli/index.js daemon status",
    "sync:start": "node scripts/background-sync-manager.js",
    "sync:setup": "./scripts/setup-background-sync.sh",
    "eval:cord": "npx tsx scripts/evals/cord-vs-flat-eval.ts",
    "prepare": "echo 'Prepare step completed'",
    "verify:dist": "node scripts/verify-dist.cjs",
    "test:smoke-db": "bash scripts/smoke-init-db.sh",
    "rebuild:native": "npm rebuild better-sqlite3 || true",
    "deps:reset": "rm -rf node_modules package-lock.json && npm ci"
  },
  "dependencies": {
    "@anthropic-ai/sdk": "^0.71.2",
    "@anthropic-ai/tokenizer": "^0.0.4",
    "@aws-sdk/client-s3": "^3.958.0",
    "@browsermcp/mcp": "^0.1.3",
    "@google-cloud/storage": "^7.18.0",
    "@linear/sdk": "^68.1.0",
    "@modelcontextprotocol/sdk": "^1.25.3",
    "@stackmemoryai/stackmemory": "^0.3.19",
    "@types/blessed": "^0.1.27",
    "@types/inquirer": "^9.0.9",
    "@types/pg": "^8.16.0",
    "better-sqlite3": "^9.6.0",
    "chalk": "^5.3.0",
    "cli-table3": "^0.6.5",
    "commander": "^11.1.0",
    "compression": "^1.8.1",
    "cors": "^2.8.5",
    "dotenv": "^17.2.3",
    "esbuild": "^0.27.2",
    "express": "^4.22.1",
    "glob": "^13.0.0",
    "helmet": "^8.1.0",
    "ignore": "^7.0.5",
    "inquirer": "^9.3.8",
    "msgpackr": "^1.10.1",
    "node-pty": "^1.1.0",
    "open": "^11.0.0",
    "ora": "^9.0.0",
    "pg": "^8.17.1",
    "rate-limiter-flexible": "^9.0.1",
    "shell-escape": "^0.2.0",
    "socket.io": "^4.6.0",
    "socket.io-client": "^4.6.0",
    "tweetnacl": "^1.0.3",
    "typescript": "^5.3.3",
    "uuid": "^9.0.1",
    "ws": "^8.16.0",
    "zod": "^3.22.4"
  },
  "devDependencies": {
    "@types/better-sqlite3": "^7.6.8",
    "@types/express": "^4.17.25",
    "@types/js-yaml": "^4.0.9",
    "@types/node": "^22.0.0",
    "@types/uuid": "^10.0.0",
    "@types/ws": "^8.5.10",
    "@typescript-eslint/eslint-plugin": "^8.50.1",
    "@typescript-eslint/parser": "^8.50.1",
    "@vitest/coverage-v8": "^4.0.16",
    "@vitest/ui": "^4.0.16",
    "eslint": "^9.39.2",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-prettier": "^5.5.4",
    "husky": "^9.1.7",
    "lint-staged": "^16.2.7",
    "oxlint": "^1.36.0",
    "prettier": "^3.7.4",
    "tsx": "^4.7.0",
    "vitest": "^4.0.16"
  },
  "lint-staged": {
    "*.{ts,js}": [
      "prettier --write"
    ]
  },
  "optionalDependencies": {
    "@xenova/transformers": "^2.17.2",
    "blessed": "^0.1.81",
    "blessed-contrib": "^4.11.0",
    "chokidar": "^5.0.0"
  }
}
