@stackmemoryai/stackmemory
Version:
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, a
218 lines (217 loc) • 7.53 kB
JSON
{
"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"
}
}