{"_id":"@agent-bus-connect/cli","_rev":"22-815df7520e345dccfd48fd7d8c9659ee","name":"@agent-bus-connect/cli","dist-tags":{"latest":"0.32.0"},"versions":{"0.4.0":{"name":"@agent-bus-connect/cli","version":"0.4.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.4.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"e6ede303f99c50f3860cedde185de8417b28382c","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.4.0.tgz","fileCount":66,"integrity":"sha512-ReBk4UqollkNrdk9Pr31SNwmHWvfZXwGiEj0L87E7z8inKEgW/cCkmgeVt1en5yZBVHtZr+XD3ByJegA5MBq8g==","signatures":[{"sig":"MEUCID/b2fC/F6MTn3NXxDMC6UncGVDFCWytCj/nxG1OrUG4AiEA9HeYu4+Vtp2C+iRc7KDuR528v5wTgFOY+b9G5aM4wvs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1871795},"type":"module","engines":{"node":">=20"},"gitHead":"9fb0242906ec313aa8d57fd4c01679ed0035ae12","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.4.0_1778782316805_0.8515462631495145","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@agent-bus-connect/cli","version":"0.5.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.5.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"bffe28c65eff1e41eae59359b5b38d796260f6d0","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.5.0.tgz","fileCount":74,"integrity":"sha512-bW/etxi6ao9Gzfj9DaxHpJ1GnpjmLYjrp4H5rog9is7mcOp+2a+Se+lRT972psNOkOXLXdwU3Xx3kj75Z5tYvw==","signatures":[{"sig":"MEQCICwo7V5lEQEff/NeJoPfAQw6gJHejMAsM+JjNGFdCVJUAiBYmP2s6eypDremPzVxCCOpvhkRTCs5krkmXn1HcLekGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3486759},"type":"module","engines":{"node":">=20"},"gitHead":"3350b59cd1a0315feaa85cc5a5adf749f574039e","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.5.0_1779292583442_0.1825535648792691","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@agent-bus-connect/cli","version":"0.6.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.6.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"14a0f2699b910f467fdf0768f72149b3ea86a5ed","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.6.0.tgz","fileCount":77,"integrity":"sha512-vC5qxs+lzBqNChQBxqDlp34tDsHORJTVLYmqCW12TRzNt5w7lzDoeRJWWNdTSVPXO+4TijpnNTjemoDAYIyhGA==","signatures":[{"sig":"MEUCIQCYP0TFiAt60pzGJxghuNXppoLe1EgYatDzlXgDZA+lNQIgAJCAHR6r72jfnPzLvOtVcFzPdqPZ6AGmSU3YrPNHwF8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3549720},"type":"module","engines":{"node":">=20"},"gitHead":"f17c4ddb90fdbeda5a8e61fd104405e163841666","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.6.0_1779298024510_0.36974321056167336","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@agent-bus-connect/cli","version":"0.7.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.7.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"633aa4ae2a158dca943679bb7d851abd12e245dd","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.7.0.tgz","fileCount":77,"integrity":"sha512-2ur1BeRzaWdOz3xokeoOlkcf4pIVvVvh+EP6ZIOdcUoBCSbxe05UB0iUp71fI2XCWvIsWTdE9mUoYvj/kYEk4w==","signatures":[{"sig":"MEQCIDIapYJwRTj38D7OBuMt5bKvtyhjUBA9iI0+8Ec+SL36AiApZruY4UwDZkj7FE1ZPdmEKeCize70KlnyD1llqtMY8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3624641},"type":"module","engines":{"node":">=20"},"gitHead":"be28766ae01e2198e9d03b295d6e00d0e4fe3937","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.7.0_1779453036927_0.5749332798575804","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@agent-bus-connect/cli","version":"0.8.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.8.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"d7fea1a025b8c44214270f99afdc72ebd6af3b88","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.8.0.tgz","fileCount":77,"integrity":"sha512-vh0jhXrfXy3mNiY2mM4WJMhPvrG6nFre91Y7KtNqunaIbVYcnvsn3zU9QTbfH5uTarQb8nd2ZlN2K//Yp8963w==","signatures":[{"sig":"MEYCIQDZGPlM1Z+Xtif6w4yeCQyVV5DkTHWG2D1Psje0+KscwwIhAKvDkTbvR4L5/cLffIdlVPGPaRj9xxz9TiReplrxUbgh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4048691},"type":"module","engines":{"node":">=20"},"gitHead":"dc1c2e28c9dd2d3b9c18844569337446d2236fdb","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.8.0_1779536438320_0.2787431216210796","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@agent-bus-connect/cli","version":"0.9.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.9.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"81cdcda7b174c7c17ecb2c93e7eb3a04c4cd71ba","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.9.0.tgz","fileCount":77,"integrity":"sha512-2X98cUHxpp+KlUj6fAueQ2HBHL9IvEg4xF4DR8S+0r4P/1gyC83kTOIVPke9OO36YbfmTJOA2o9JpYhFl8aTgA==","signatures":[{"sig":"MEYCIQCsn8PA1sisF5Cqq4VntcQu3gV7AkBkO/OPCrlUrz+3WgIhAP1BhWxKwhECp1HkcISgQM58cMh7FlPZY4J20njgko3E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4188610},"type":"module","engines":{"node":">=20"},"gitHead":"b58d92a47023aba98cdcf29900516251a10785df","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.9.0_1779626377718_0.5359527123478625","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@agent-bus-connect/cli","version":"0.10.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.10.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"9ccdbb83cac343126f30b5c75e96357c6513d4e2","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.10.0.tgz","fileCount":77,"integrity":"sha512-55GnmrHmtRIKIaf6M72DxmUlaK16l/NllUT5npiMNnvSMlgReeyLWo8jiBr/Ef1m/AUWILK/RSPNcGF2rLVjwg==","signatures":[{"sig":"MEUCIQDjboj6r8oZQ3TYvpQHiLhQgiu1y4wMJAvnc/pMdvyI7AIgOl9OL2fbUmEKVRfllWWJ1ZnjST3hWsG7T0kGyw/ALMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4191292},"type":"module","engines":{"node":">=20"},"gitHead":"e9e9c759599a499956b288c2542322070aaaafde","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.10.0_1779632007039_0.39529770873683256","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@agent-bus-connect/cli","version":"0.11.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.11.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"3ecaf7371796dc3594e131dfdefa1c0d68f585ed","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.11.0.tgz","fileCount":77,"integrity":"sha512-xRD7VxKvsf8ARqchuvUz6wWVYr0jFD4XER1Q9S1Vl4gslYDK/KkMmbB1vgSkxqbruC6KhnPWE1q119QeJWEIvA==","signatures":[{"sig":"MEUCIDIuQskqi4OvtQ4cbvOTHRHblp9ckxyAllB4Ujp4bzywAiEAzpSv5dzby1XdfUsOLdgmiRbt1fOeXIihYb124rDaMTo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4313767},"type":"module","engines":{"node":">=20"},"gitHead":"7652bad2eb0b143ae5602d74c3c6317b57b08500","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.11.0_1779705828759_0.1086394261703505","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@agent-bus-connect/cli","version":"0.12.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.12.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"05efbc390ea4cf0e5668b838402bf842aa145c48","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.12.0.tgz","fileCount":77,"integrity":"sha512-EOd9XpKH72YOGNUG5vBQ3BcbDrNdeud3nSgdC3P1OrOG63zx39O+zkx+BcAt7GqnjMUOhS8YqQ0wTh1UBuQdnw==","signatures":[{"sig":"MEYCIQDpcVj0wXEmz9/1Csxj83ap+xiiHmRINgu4344mH7voPQIhAIJkEQdNWiXzbQVZi7uVH+XnSFzGV3YyaXYkwsbMuv3r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4433611},"type":"module","engines":{"node":">=20"},"gitHead":"c40cab9a70bd4ce4aaad7c697546e98df7689f51","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.12.0_1779708574313_0.1846166846645847","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@agent-bus-connect/cli","version":"0.14.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.14.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"21f4551533277aaaa2060e0ad50041f4195ca183","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.14.0.tgz","fileCount":80,"integrity":"sha512-IuHj3YehkqZl1XZ97B2vgljBvWqYbSXDAonaO6HjIe0okeOPkKrJO1bmf1vs4V77XXI/Uk4Q6kXdQAQ4HdJEBw==","signatures":[{"sig":"MEQCICUoqRl3MzDQlmmoFPfkviBzUANFPXqZb4c+yjQNgyRtAiBks1D8T6y8ZQrowPAlqPrUzlmsaxZSFuU1JIWMoyZBqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4468399},"type":"module","engines":{"node":">=20"},"gitHead":"5e5b2c5a2305f375d114b4891f8dd5245e5e4ce5","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.14.0_1780058327298_0.9729959333964266","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@agent-bus-connect/cli","version":"0.16.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.16.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"cf19b4b0ea6ccb23044afe5553cdff137503f7a7","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.16.0.tgz","fileCount":80,"integrity":"sha512-W1P1OcJBf3K0BYV8lmSzneTO5ibtZ1KpeEomTXX4h/ONAyGgOFxdM1eI4y2UDAwQwzUwUFbeyQ3gYwm5LlhpIQ==","signatures":[{"sig":"MEQCIFXiF3LkJWTIU7V2SIOlWYAQ5AjwgpqMwVlydkVsDr4VAiBQGzz+D7WPCQrM3ehZFQzTBb8RhOD3XXztVgI3CdoYYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4526798},"type":"module","engines":{"node":">=20"},"gitHead":"0cf2e8361bea5b203258f85b5e8c88bf146ba9c2","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.16.0_1780062395873_0.8448983958520133","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@agent-bus-connect/cli","version":"0.18.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.18.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"695235d449b155ed58a12cb6345eb66eba3d7e9f","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.18.0.tgz","fileCount":86,"integrity":"sha512-FM5+v9nkfKpX+S5xeLBKp5TRyiKp6binK9/Eb8QbzQlnbMeaYJb3tM5z67u47D8eCOymgVQrWLbsjX3Mfg8LXg==","signatures":[{"sig":"MEQCIBRGT0F12ZaAlE/oROP4lwS+HX58kCV15VXdSnOBTGrpAiAtHsyMgPuqmddiiwo181/3C5pNTXrWCYAg6kiKGyljQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4634133},"type":"module","engines":{"node":">=20"},"gitHead":"82109143a996c8355d25d3a8ca6d1e388231c2b9","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.18.0_1780147664603_0.6499002912846747","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@agent-bus-connect/cli","version":"0.19.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.19.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"0ef876221720c4a67a18b713dd8d6209e750e06f","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.19.0.tgz","fileCount":86,"integrity":"sha512-wVOQ5o7285w9++dslNet0iGht3chTNSm9T13MF86fLskvybaEL041zzgTagA1g1d/ijN9rOTa0YrNWQgHu/GMg==","signatures":[{"sig":"MEUCIQCrEuhlCXRBua2I5oaEDyeWy5R+pnk/LM/yHVlFMh9HZQIgSOJVCUqCDD8ZvblEOSj9yxsSs/OO7rkyn62fu0goF2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4688291},"type":"module","engines":{"node":">=20"},"gitHead":"e9fbc57755f83fa13b6a63a0ab793cd7fd0a6933","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.19.0_1780226049521_0.6226088870571973","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@agent-bus-connect/cli","version":"0.20.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.20.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"7b1c614a8b44d812a8e29b9a3cf93d515c807904","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.20.0.tgz","fileCount":89,"integrity":"sha512-wHQw9vLKp9xjOsvDNSZrDeeSxl0VVgrHCccj5iwxglOzjEJv3cw2R9gpg/4IaQZD0V2V/wpQxx0LaW4qj9au7Q==","signatures":[{"sig":"MEQCIA4cEQClacYRZ0unAbEZbZe+jE3r7xC03vqunQVg6BdNAiANzcPEWXDw0j2E1nL5n7G7N0ypZn9ZPsNQNOykZt436g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4720244},"type":"module","engines":{"node":">=20"},"gitHead":"59c5f59d216c4bc9c7f2e577db04e99db68bb310","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.20.0_1780312649608_0.5083014623243893","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@agent-bus-connect/cli","version":"0.21.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.21.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"395b959d53d90af0fd189221e3b4985d429d8d74","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.21.0.tgz","fileCount":89,"integrity":"sha512-63XjSPTxecIkwS4Ps4NhXNtXacwUG5qbe0fkjm9klAmpSIUKDQXaopCJDo0hhcteAzyi0CfmJhxghzamyGJtTw==","signatures":[{"sig":"MEUCIQDxgUAZcOmXQ50Zk/Gx+aRiBBttKfJ2Sgd8/13amOOowAIgTcCLPZLU+qeaMWqsNc0HdNSMgg+opU8GTtGVZ2ZfJvE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4756724},"type":"module","engines":{"node":">=20"},"gitHead":"09c1e040df899d31dd318a053de0e812ff52428f","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.21.0_1780316404679_0.6644084483328299","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@agent-bus-connect/cli","version":"0.22.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.22.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"d60661d7af4a9e2549ecdd87d4379cb9a1027340","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.22.0.tgz","fileCount":89,"integrity":"sha512-r5cIzb1y+2dzIY63MqmOufTyj9pM/LjS992sGl1DjNM2l4qTZ67a//rMUepPm1CCfFF1tjPulPXKbbtJPG2Kzw==","signatures":[{"sig":"MEQCIGhQFjbEDRr05Mb9aPAWAlcZvQmpGT7lptRcDKAhiObcAiA9W28Uvzz/mS1IJuCiO36IB3o3Q5RnrZXwCOE3Oyqu1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4800211},"type":"module","engines":{"node":">=20"},"gitHead":"1a7212d54afb7e78348d092ddbf3af5d47f3be86","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.22.0_1780445663211_0.002703616398089359","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@agent-bus-connect/cli","version":"0.23.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.23.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"548beaa85188a703c8447c68a69a11737edfa982","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.23.0.tgz","fileCount":89,"integrity":"sha512-aqmlqxQ+Mp7TMgYsGlw8TmzVJKp/JRYIVJA1BGlFqE80y5bV0s/AVCN7mHucdSA+cthv23eeKgqTVKW+qL7y4g==","signatures":[{"sig":"MEUCIQCcpOTvxZgsVscX5CktX/nHJTH//YrRCBlHYE02W+ZIwQIgdZBz6CUo7p0kiibnErTfGxF/S673z5urKD1xyj4PXvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4801208},"type":"module","engines":{"node":">=20"},"gitHead":"061f8639274569b318720ae3565a9ef499a3549d","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.23.0_1780488223301_0.06354257468593683","host":"s3://npm-registry-packages-npm-production"}},"0.23.1":{"name":"@agent-bus-connect/cli","version":"0.23.1","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.23.1","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"0cb6f47bdbae37bd8e5ac251627874d4966346d2","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.23.1.tgz","fileCount":89,"integrity":"sha512-BO+/ZGFk/pXpd7KdjvqbL+H7Xc6O76DC65ssCzItqhog+blKzpr0hMlvHKBlP8n6OrEHiXJM1Bl3GueVq1nvAg==","signatures":[{"sig":"MEUCIQDtyEuk7RAYyQ+8x9QxgqWzrNB1E9JwUSz4PDiHMJk5pgIgaSfFkl/3BdbOj+oseth0IoBidi3guHwSvbcKDyk1iXI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4805186},"type":"module","engines":{"node":">=20"},"gitHead":"400581510515fe2617aa8ad876ba503ea00e1809","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.23.1_1780494782746_0.6305990946261515","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"@agent-bus-connect/cli","version":"0.25.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.25.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"41a7842186d1f8c713fb7f569e0826a2919ea1d3","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.25.0.tgz","fileCount":92,"integrity":"sha512-LP/6xLbJrdVzz2mhlq1GnbQy+2YbPw5/5GEaE/EWcqxJJ85BDkBblfmvm0ZIxHtAE4BZavNd/xfUviVhWV9BHA==","signatures":[{"sig":"MEUCIAk7U4zO/PiiTXi2LKcSpbvqMMeTdQ65G5+d8RoyBjuiAiEAp55BkvSVJpimopzUnBV9FyQl2mQR1ME6l5X9QXvR0Jw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7006227},"type":"module","engines":{"node":">=20"},"gitHead":"b5d96bae108b104f5d2df85150e7db24b86029a6","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.25.0_1780662340862_0.7134230311476761","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@agent-bus-connect/cli","version":"0.28.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.28.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"4f2f3d04136a7233056df6eba02d0798d5a69f61","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.28.0.tgz","fileCount":92,"integrity":"sha512-t3xV6o0BL0/abxq79nYXsaMHkmZIHqXePFt+KIGOEpM6DZ8fsiAFBD4MbFlaBA5/cchd7VD43DkMi+qluEc8Dw==","signatures":[{"sig":"MEYCIQDQdqB0aMvZK763YWWXgWhtmKc5Dumgf66O7PszbbICKAIhAKJxsN3z8tpHwkKgy4pPP4ffgGJ+VbUQD1Chq4Uwih7Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7083105},"type":"module","engines":{"node":">=20"},"gitHead":"2060699d827e9ef757ce5a387884ec01a577d2cd","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.28.0_1781004833649_0.8175285055363992","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"@agent-bus-connect/cli","version":"0.31.0","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"license":"MIT","_id":"@agent-bus-connect/cli@0.31.0","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"homepage":"https://github.com/MustaphaSteph/agent-bus","bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"dist":{"shasum":"cc253b5d0c8f661a79e9b46670fe5bbf98192090","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.31.0.tgz","fileCount":93,"integrity":"sha512-284YEjN8HIZC8Wj2vyx8f2Hpo2alXpLzcHmwGbuDLlE97c0oEpL6ABMi/+PCm82rqBsRn+X1h35pdWotbaN89A==","signatures":[{"sig":"MEQCICZOWPT2oIfucWSLuIGxdtKTnqcxDZBtjcv/YT6u+fuDAiA/1azV4fNSgEPDB3sbHSaKFKbV+Agf8RY1UkYcwBiJkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7209449},"type":"module","engines":{"node":">=20"},"gitHead":"69aebc888d24a02fafff9e8afb4ccba5346fb770","scripts":{"test":"tsx test/smoke.ts","build":"tsc -p tsconfig.json","dev:cli":"tsx src/cli/index.ts","dev:mcp":"tsx src/mcp/server.ts","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","typecheck":"tsc --noEmit","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","prepublishOnly":"npm run build"},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"repository":{"url":"git+https://github.com/MustaphaSteph/agent-bus.git","type":"git"},"_npmVersion":"10.9.2","description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","kleur":"^4.1.5","commander":"^12.1.0","better-sqlite3":"^11.3.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.11"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.31.0_1781263785110_0.2292372660235793","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"@agent-bus-connect/cli","version":"0.32.0","homepage":"https://github.com/MustaphaSteph/agent-bus","repository":{"type":"git","url":"git+https://github.com/MustaphaSteph/agent-bus.git"},"bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","type":"module","license":"MIT","bin":{"agent-bus":"dist/cli/index.js","agent-bus-mcp":"dist/mcp/server.js"},"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit","dev:mcp":"tsx src/mcp/server.ts","dev:cli":"tsx src/cli/index.ts","test":"tsx test/smoke.ts","docs:preview":"npx --yes @redocly/cli@latest preview-docs docs/openapi.yaml","docs:lint":"npx --yes @redocly/cli@latest lint docs/openapi.yaml","docs:build":"npx --yes @redocly/cli@latest build-docs docs/openapi.yaml -o docs/api-static.html","prepublishOnly":"npm run build"},"engines":{"node":">=20"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","better-sqlite3":"^11.3.0","commander":"^12.1.0","kleur":"^4.1.5","zod":"^3.23.8"},"devDependencies":{"@types/better-sqlite3":"^7.6.11","@types/node":"^22.0.0","tsx":"^4.19.0","typescript":"^5.6.0"},"_id":"@agent-bus-connect/cli@0.32.0","gitHead":"5a0d5185bfd79b02db5a626c3eca257cd1813687","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-eb4IyD/ILX1FLooszDiYYBznbFF35ZpxVR8KpDL+F7uQp2Vc0vz7qNvSTbwyYsltmb8JKpbH4uHDwLOl9hJ81w==","shasum":"79f4af729b5c1fe71c900096cee46dcb0191b124","tarball":"https://registry.npmjs.org/@agent-bus-connect/cli/-/cli-0.32.0.tgz","fileCount":95,"unpackedSize":7239511,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD6pB5KdJ8IE3rNQfBae0TnNCi1r/tz0/E80lY3yF0QDgIgPoLmY7ERiD+P3xDFfryK+rHjNzyCdm/BWd/QikzB73s="}]},"_npmUser":{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"},"directories":{},"maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.32.0_1781271542056_0.5060402399930393"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-14T18:11:56.654Z","modified":"2026-06-12T13:39:02.455Z","0.4.0":"2026-05-14T18:11:57.021Z","0.5.0":"2026-05-20T15:56:23.681Z","0.6.0":"2026-05-20T17:27:04.764Z","0.7.0":"2026-05-22T12:30:37.299Z","0.8.0":"2026-05-23T11:40:38.564Z","0.9.0":"2026-05-24T12:39:37.955Z","0.10.0":"2026-05-24T14:13:27.304Z","0.11.0":"2026-05-25T10:43:49.010Z","0.12.0":"2026-05-25T11:29:34.514Z","0.14.0":"2026-05-29T12:38:47.652Z","0.16.0":"2026-05-29T13:46:36.144Z","0.18.0":"2026-05-30T13:27:44.863Z","0.19.0":"2026-05-31T11:14:09.763Z","0.20.0":"2026-06-01T11:17:29.888Z","0.21.0":"2026-06-01T12:20:04.920Z","0.22.0":"2026-06-03T00:14:23.491Z","0.23.0":"2026-06-03T12:03:43.539Z","0.23.1":"2026-06-03T13:53:02.977Z","0.25.0":"2026-06-05T12:25:41.105Z","0.28.0":"2026-06-09T11:33:53.984Z","0.31.0":"2026-06-12T11:29:45.429Z","0.32.0":"2026-06-12T13:39:02.324Z"},"bugs":{"url":"https://github.com/MustaphaSteph/agent-bus/issues"},"license":"MIT","homepage":"https://github.com/MustaphaSteph/agent-bus","keywords":["mcp","model-context-protocol","claude-code","codex","agents","ai-agents","multi-agent","agent-orchestration","agent-to-agent","message-bus","sqlite","typescript","local-first"],"repository":{"type":"git","url":"git+https://github.com/MustaphaSteph/agent-bus.git"},"description":"Local message bus that lets Claude Code, Codex and other MCP agents talk to each other through one SQLite file.","maintainers":[{"name":"stephbouz","email":"mustapha.achtaou@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"docs/assets/banner.png\" alt=\"agent-bus — connect AI agent sessions locally\" />\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@agent-bus-connect/cli\"><img src=\"https://img.shields.io/npm/v/@agent-bus-connect/cli.svg?label=npm\" alt=\"npm version\" /></a>\n  <a href=\"https://github.com/MustaphaSteph/agent-bus/blob/main/LICENSE\"><img src=\"https://img.shields.io/npm/l/@agent-bus-connect/cli.svg\" alt=\"license\" /></a>\n  <a href=\"https://www.npmjs.com/package/@agent-bus-connect/cli\"><img src=\"https://img.shields.io/npm/dm/@agent-bus-connect/cli.svg\" alt=\"downloads\" /></a>\n  <a href=\"https://agentskills.io\"><img src=\"https://img.shields.io/badge/Agent_Skills-compatible-2563eb.svg\" alt=\"Agent Skills compatible\" /></a>\n  <a href=\"https://github.com/MustaphaSteph/agent-bus-plugins\"><img src=\"https://img.shields.io/badge/plugins-Claude_%2B_Codex-7c3aed.svg\" alt=\"Plugin marketplaces\" /></a>\n</p>\n\n<p align=\"center\">\n  <strong>Local · Private · Fast · Open source</strong>\n</p>\n\n<p align=\"center\">\n  Right now your AI agents are working blind — brilliant sessions in separate\n  terminals, none of them aware the others exist. <strong>agent-bus fixes that in one command.</strong>\n  <br/>Spin up two Claude and a Codex, a Cursor and three Claude — any mix that speaks MCP —\n  and watch them snap into a <strong>team</strong> that chats, debates, and hands off work on a\n  shared, <strong>Slack-style message bus</strong>.\n  <br/>And you're never locked out: watch every session live and jump into any conversation the\n  moment you want to. agent-bus just wires them together.\n  <br/><strong>Local · persistent · tool-agnostic · no cloud · no auth · no internet.</strong>\n</p>\n\n## Small use case: Codex PM + Claude UI designer\n\nHere Codex is acting as the project manager and talking through agent-bus to a\nClaude Code session registered as the UI designer. Codex asks for a polished\niOS plan, Claude receives the message in its listener loop, and the work stays\nvisible in the shared bus.\n\n![Codex PM asking a Claude Code UI designer through agent-bus](docs/assets/use-cases/codex-pm-claude-ui-designer.gif)\n\nThat's just one small use case. The same bus can coordinate reviewers,\ndevelopers, QA agents, researchers, docs writers, or full teams across Claude\nCode, Codex, Cursor, and any other MCP-capable session on your machine.\n\n## Quick start\n\nNo signup, no API key, no config file to babysit. **Two steps and you're live**\n(Node.js ≥ 20).\n\n**1. Install the CLI:**\n\n```bash\nnpm i -g @agent-bus-connect/cli@latest\n```\n\n> Install the CLI *first* — the plugin points at the `agent-bus-mcp` binary this\n> package provides. (Plugin before CLI = `ENOENT`.)\n\n**2. Install the plugin for your tool** — one step that wires the MCP server\n**and** drops in the skills, the `/main` + `/listen` slash commands, and the\nlistener hook:\n\n**Claude Code**\n\n<a href=\"https://github.com/MustaphaSteph/agent-bus-plugins\"><img src=\"docs/assets/install/claude-code.png\" alt=\"Claude Code\" width=\"80\" /></a>\n\nIn Claude Code:\n\n```\n/plugin\n> Marketplaces\n> Add MustaphaSteph/agent-bus-plugins\n> Install agent-bus\n```\n\n**Codex**\n\n<a href=\"https://github.com/MustaphaSteph/agent-bus-plugins\"><img src=\"docs/assets/install/codex.png\" alt=\"Codex\" width=\"80\" /></a>\n\nIn any terminal:\n\n```bash\ncodex plugin marketplace add \\\n  MustaphaSteph/agent-bus-plugins\n```\n\nThen install via Codex's plugin UI.\n\n**Cursor, Gemini CLI, Goose, OpenCode, Junie, Amp, Kiro**\n\n<a href=\"https://github.com/MustaphaSteph/agent-bus-plugins\"><img src=\"docs/assets/install/universal.png\" alt=\"Every other tool\" width=\"80\" /></a>\n\n```bash\ncurl -fsSL \\\n  https://raw.githubusercontent.com/MustaphaSteph/agent-bus-plugins/main/install.sh | sh\n```\n\nThen run `agent-bus ui` to open the cockpit. Verify anytime:\n\n```bash\nagent-bus --version                # 0.32.0\nclaude mcp list | grep agent-bus   # ✓ Connected   (Codex: codex mcp list)\n```\n\nFull walkthrough + troubleshooting in [`docs/install.md`](docs/install.md);\ncopy-paste agent prompts in [`docs/agent-prompts.md`](docs/agent-prompts.md).\n\nThat's the whole setup. One tiny SQLite file appears at `~/.agent-bus/bus.db`, no\ndaemon hums in the background, and nothing — *nothing* — leaves your machine. Open a\nsecond session, give it a name, and the two are instantly messaging, asking, and\ndelegating to each other. Add a third. Add a tenth. It scales as fast as you can open tabs.\n\n### See it in 10 seconds\n\nHere's three sessions on one team, hashing out an iOS app between themselves — a PM\nasking, a designer answering, a developer picking up the task. This is the *real*\ntranscript the cockpit streams live:\n\n```\nteam todo-ios\nonline  ui-designer    [listener]\nonline  ios-developer  [listener]\nonline  todo-pm        [pm]\n---\n14:52:01 #1 todo-pm → ui-designer  ASK\n  propose the first screen and interaction model\n14:52:10 #2 ui-designer → todo-pm  REPLY ↪#1\n  Use a single Today list, inline add, swipe complete/delete, and a compact filter.\n14:52:18 #3 todo-pm → ios-developer  TASK\n  task #1: implement the first screen using the approved design\n```\n\nAnd `agent-bus ui`? That's your mission control. We built a **Slack-style cockpit**\nso the whole show plays out in front of you in one window — watch your agents talk\nin real time, see exactly what each one is working on, and scroll back through\neverything that's already shipped. It's the most satisfying way to follow a project\nyou've ever had: threaded team chat, task messages, a live Kanban board, an activity\ntimeline, who's online right now, what needs *your* call next, and real metrics —\nacross every project and team on your machine. Read-only, local, and honestly kind\nof addictive to watch.\n\n![Agent Bus cockpit Kanban view](docs/assets/cockpit-kanban.png)\n\n![Agent Bus cockpit team chat view](docs/assets/cockpit-chat.png)\n\n---\n\n## Why this exists\n\nAI coding agents are ridiculously powerful — and completely oblivious to each\nother. Open two Claude Code sessions and they're total strangers on the same\nmachine, same project, same git branch. Drop a Codex session next to a Claude\nsession — still strangers. So the second you want one agent to sanity-check\nanother, hand a task to a specialist, or verify the thing that just shipped,\nyou're stuck playing human clipboard, ferrying text between terminals like it's\n1998. There's a smarter way.\n\nSure, Anthropic ships **Claude Code Teams** — but it's a walled garden. It only\nlives inside Claude, Codex can't join, the teammates vanish when the parent\nsession dies, and you pay per teammate. Community projects bolt two specific\ntools together through somebody's cloud. Nobody else gives you all three at once:\n*local, persistent, and tool-agnostic*.\n\n**That's the whole reason agent-bus exists.** One SQLite file at\n`~/.agent-bus/bus.db` plus an MCP server every agent already speaks fluently.\nEach session claims a name — and suddenly your agents can:\n\n- send fire-and-forget messages or broadcast to whole channels,\n- ask questions and block for answers,\n- delegate first-class tasks with strict state machine and at-least-once delivery,\n- route work by capability without knowing the receiver's name,\n- record durable decisions, handoffs, risks, todos, and session briefs,\n- and keep entire conversation threads addressable across restarts.\n\nAll of it, across Claude Code, Codex CLI, Codex Desktop, Cursor — anything that\nspeaks MCP. No daemon. No cloud. No auth. No internet. Just a file and a process,\nquietly turning a pile of lonely terminals into a crew.\n\n### What this unlocks\n\nThe fun part — here's what people actually do with it:\n\n- **Pair debugging.** Ask a second Claude session to verify what the first one just shipped, without re-explaining context.\n- **Specialist routing.** Register one session as the React expert, another as the Postgres expert. Use `ask_best(capability=…)` and the bus picks.\n- **Role-aware teams.** Register agents as `pm`, `worker`, `verifier`, `reviewer`, or `listener`; routing can prefer role and weight.\n- **Scoped workgroups.** Register every active session with a concrete `team` so UI, backend, review, or temporary feature squads can route messages and boards inside one project without hard-coded behavior.\n- **Worker pool.** Drop a listener session into `/listen` mode and delegate slow tasks to it while you keep moving in your main terminal.\n- **Cross-tool collaboration.** Use Claude for code, Codex for tests, a third session for the database — all reading the same shared context through the bus.\n- **Session memory and briefs.** Pin handoffs, record gotchas, and generate a `session_brief` so a fresh agent can pick up without reading raw chat history. `register` now returns a small scope teaser when handoffs, risks, open tasks, or recent decisions already exist.\n- **Native power discovery.** Agents can advertise real session powers with exact capability tags such as `tool:websearch`, `mcp:supabase`, `skill:flowdeck`, or `subagent:Review`, so PMs can route beyond generic roles.\n- **Backlog and milestones.** Park ideas as backlog tasks, label work by milestone, then promote only the items the team is ready to claim.\n- **Project and area isolation.** Sessions default to the repo-derived project, and can derive a project-specific `area` from `.agent-bus.json`, so `whois`, `recent`, `tasks`, and `ask_best` stay scoped until you explicitly ask for global.\n- **Roster cleanup.** Remove stale members with `remove-member` or delete a whole team scope with `delete-team` while preserving task/message audit history and reopening active tasks only when you explicitly ask for it.\n- **Manager workflow controls.** Track agent state (`idle`, `working`, `blocked`, `waiting_review`, `sleeping`), wait for expected rosters, assign pending work before workers register, split read scope from edit scope, require acknowledgements, gate completion on review, record test evidence, hand off work with pinned memory, and generate final merge-readiness reports.\n- **Human-in-the-loop relay.** `agent-bus watch` shows everything live; `agent-bus team-chat --team <name>` focuses one workgroup conversation; `agent-bus wait --agent <name> --team <name> --notify` can page a terminal/human when a message arrives; `agent-bus send --to <agent> --message \"...\"` lets you nudge any agent from the terminal.\n\n## How it works\n\n```\n┌──────────────────┐                  ┌──────────────────┐                  ┌──────────────────┐\n│ Claude Code A    │  send / inbox /  │ ~/.agent-bus/    │  send / inbox /  │ Codex Desktop B  │\n│ (any project)    │  ask / reply  ──▶│   bus.db         │ ◀─── ask / reply │ (any chat)       │\n│ MCP: agent-bus   │                  │  (SQLite WAL)    │                  │ MCP: agent-bus   │\n└──────────────────┘                  └────────┬─────────┘                  └──────────────────┘\n                                               │\n                                               │  reads/writes\n                                               ▼\n                                      ┌──────────────────┐\n                                      │ agent-bus watch  │  ← you, in a 3rd terminal\n                                      │ (live tail)      │\n                                      └──────────────────┘\n```\n\nEach session spawns its own MCP server process and reads/writes the same\nSQLite file in WAL mode. Names are addresses. MCP sessions derive a\nproject from the current repo and can derive an area from `.agent-bus.json`\nas the default read/routing scope. Delivery is durable; attention is\nseparate. A session is visibly `listening` only while it is inside a\nblocking inbox wait, a listener hook, a background `agent-bus wait`, or\nanother host automation that checks the bus.\n\n## Try it\n\nLet's build something. Pick **one team name** — that's it, no project or area\nflags to learn on day one. A team is just the room your agents chat, plan, and\nship in (and the room the cockpit shows you).\n\nOpen three Claude Code or Codex sessions in the same repo, paste one prompt into\neach to drop them into the same team (say, `todo-ios`), and they're off.\n\n**The magic trick — let one agent staff the whole team for you.** Start a single\nsession as the PM and ask it to write the prompts for everyone else:\n\n```text\nUse agent-bus.\nIf the agent-bus MCP/tools are not available, stop and tell me to install\nthe agent-bus CLI and plugin first.\n\nRegister yourself as project-pm in team todo-ios with replace: true.\nUse capabilities: planning, coordination, review.\n\nI want to build a small iOS todo app with multiple AI agent sessions.\nAct as the PM. Decide what helper agents I should open, what each one\nshould be responsible for, and give me one full copy-paste prompt for\neach other Claude/Codex session so they join team todo-ios directly.\n\nEach generated prompt must include:\n- the exact agent name\n- team todo-ios\n- capabilities\n- role instructions\n- whether the agent should edit files or only propose/review\n- instructions to keep listening to team todo-ios\n- use reply() for both asks and normal messages so replies stay threaded\n```\n\nThat PM can now generate a custom team such as `ui-designer`,\n`ios-developer`, `test-reviewer`, or anything else your project needs.\n\n<details>\n<summary><strong>Prefer ready-made prompts? Three sessions, copy-paste each one.</strong></summary>\n\n**Session A — UI designer. Paste:**\n\n```text\nUse agent-bus.\nIf the agent-bus MCP/tools are not available, stop and tell me to install\nthe agent-bus CLI and plugin first.\n\nRegister yourself as ui-designer in team todo-ios with replace: true.\nUse capabilities: ui, design, swiftui, ios.\n\nYou are the UI designer for a small iOS todo app. Your job is to propose\nthe first screen, interaction model, empty/loading states, and visual\ndirection. Do not edit files unless the PM assigns you an edit task.\n\nAfter registering, check your team inbox. Then keep listening to team\ntodo-ios with wait_s=110. When you receive an ask or normal message,\nanswer with reply() using the message id; it will answer asks and create\nthreaded replies for normal messages. Keep listening until I tell you to\nstop.\n```\n\n**Session B — iOS developer. Paste:**\n\n```text\nUse agent-bus.\nIf the agent-bus MCP/tools are not available, stop and tell me to install\nthe agent-bus CLI and plugin first.\n\nRegister yourself as ios-developer in team todo-ios with replace: true.\nUse capabilities: ios, swift, swiftui, implementation, tests.\n\nYou are the implementation developer for a small iOS todo app. Wait for\nthe PM to assign tracked work. Before editing files, make sure you have\nclaimed or acknowledged the task. Keep status/current work updated with\nnow() or task events while working. Record test/build evidence before\nmarking work done.\n\nAfter registering, check your team inbox. Then keep listening to team\ntodo-ios with wait_s=110. When you receive an ask or normal message,\nanswer with reply() using the message id; it will answer asks and create\nthreaded replies for normal messages. Keep listening until I tell you to\nstop.\n```\n\n**Session C — PM / coordinator. Paste:**\n\n```text\nUse agent-bus.\nIf the agent-bus MCP/tools are not available, stop and tell me to install\nthe agent-bus CLI and plugin first.\n\nRegister yourself as todo-pm in team todo-ios with replace: true.\nUse capabilities: planning, coordination, review.\n\nYou are the PM for a small iOS todo app. Coordinate only inside team\ntodo-ios unless I explicitly say otherwise.\n\nFirst call directory/team board so you know whether ui-designer and\nios-developer are present. Then:\n1. Ask ui-designer to propose the first screen and interaction model.\n2. Turn the chosen plan into a tracked implementation task.\n3. Assign/delegate that task to ios-developer.\n4. Keep the board honest: tasks should be created/claimed before edits,\n   status should change while work happens, and completed work should\n   move through review/done.\n5. If new ideas appear but are not ready to build, park them as backlog\n   tasks and promote them only when I approve.\n6. Report progress to me in plain English. Do not expose JSON unless I\n   ask for it.\n```\n\n</details>\n\nHit enter and watch it happen: the PM finds the other two agents, asks the\ndesigner for a direction, turns the answer into a tracked task, and hands it to\nthe developer — all on its own. Every message and every board move shows up live\nin the cockpit while you sip your coffee.\n\nThe plugin also gives you slash-command shortcuts\n(`/listen ui-designer`, `/listen ios-developer`, `/main todo-pm`), but full\nprompts are better for demos because the team and role are explicit from the\nfirst message.\n\n**Open the visual cockpit**:\n\n```bash\nagent-bus ui\n```\n\nBy default it opens:\n\n```text\nhttp://127.0.0.1:8787\n```\n\nThe cockpit is read-only and local-only. It shows every project and\nteam, team chat with threaded replies, task messages, Kanban, activity,\npeople, attention items, and real metrics. Switch projects and teams in\nthe browser without restarting anything.\n\nOptional initial view flags:\n\n```bash\nagent-bus ui --team todo-ios\nagent-bus ui --port 8790\nagent-bus ui --no-open\n```\n\n**Terminal D** (optional, if you prefer the terminal):\n\n```bash\nagent-bus team-chat --team todo-ios --watch\nagent-bus team-chat --team todo-ios --threads\nagent-bus wait --agent ui-designer --team todo-ios --notify\nagent-bus team-board --team todo-ios\nagent-bus kanban --team todo-ios --watch\n```\n\nMost human-facing commands default to the current repo-derived project.\nFor regular workflows, pass only `--team <name>` to focus one workgroup.\nUse `--project all --area all --team all` only when you intentionally\nwant a global view across every local project and team.\n\n### What you'll see\n\nWithin seconds it comes alive. The People view lights up with who's idle,\nworking, blocked, or waiting on review. Cards slide across the Kanban board as\nthe work actually happens:\n\n```\nTodo → Accepted → Doing → Review → Done\n```\n\nAnd the Activity view tells the whole story start to finish — every ask, reply,\ntask claim, progress note, test run, and completion.\n\nNow swap the todo app for whatever *you* need: \"review my last commit,\" \"run the\ntest suite,\" \"summarize this PR,\" \"design the onboarding screen.\" You just talk\nin plain English — agent-bus quietly picks the right call under the hood. That's\nthe whole pitch: you stay the human, your agents become a team.\n\n## Common next steps\n\nUse these commands when you want a little more visibility:\n\n```bash\nagent-bus team-board --team todo-ios\nagent-bus kanban --team todo-ios\nagent-bus activity --team todo-ios\nagent-bus brief --agent todo-pm\n```\n\nFor real project work, keep it simple:\n\n- Put every active session in a concrete team.\n- Use `send_team` for discussion and `delegate` / `delegate_team` for work that should appear on the board.\n- Keep the board honest: create or claim a task before tracked edits, update `now()` / status while working, and move finished work to review or done.\n- Treat memory as the loop's notebook: record decisions, current risks, done work, next actions, and handoff notes so tomorrow's agent does not rediscover today's context. Use event triggers: settled debate -> decision, reusable gotcha -> lesson memory, long-lived risk -> pinned risk, handoff/exit -> pinned handoff with `Next:`.\n- Treat \"done\" as a gate, not a feeling: implementation finished, test evidence recorded with optional `git_ref`/`cwd`, independent reviewer approved when required, and `final_report` / `review_gate` says the work is safe.\n- Use the web cockpit (`agent-bus ui`) when you want the big picture.\n\nDetailed CLI commands, task workflows, memory examples, separated-folder\nproject setup, and copy-paste agent prompts live in\n[`docs/cli.md`](docs/cli.md), [`docs/patterns.md`](docs/patterns.md),\n[`docs/agent-prompts.md`](docs/agent-prompts.md), and the client\nplaybooks in [`docs/clients/`](docs/clients/).\n\n## What you get\n\nEverything below ships in that one `npm install`. No add-ons, no tiers, no asterisks:\n\n- **65 MCP tools** — the full vocabulary: messaging, synchronous and async ask/reply, thread replies, capability and role routing, first-class tasks with at-least-once delivery, review gates, decisions, structured memory, test evidence, and session briefs. The complete list lives in [`docs/tools.md`](docs/tools.md).\n- **Truly cross-tool** — Claude Code, Codex CLI, Codex Desktop, and any MCP-speaking agent all share the same bus. Mix and match freely.\n- **Never forgets** — agents, messages, channels, threads, tasks, task events, decisions, test results, and memories all survive restarts via SQLite WAL. Close everything, reopen tomorrow, pick up right where you left off.\n- **Scoped by default, global when you ask** — sessions derive a local project from cwd and optional area from `.agent-bus.json`; go wide explicitly with `project: \"*\"`, `area: \"*\"`, `team: \"*\"`, or CLI `--global` / `--project all --area all --team all`.\n- **A cockpit you'll actually keep open** — `agent-bus ui` is a dense command center: project/team sidebar, Slack-style bubble chat with paged history, a full Kanban board, activity timeline, a People roster grouped by presence + status, an Attention view, and an ops rail with real time-series sparklines, an agent×status heatmap, throughput, and decisions. Every widget is real bus data, with guarded roster cleanup for stale members and teams.\n- **Zero infrastructure** — no daemon, no cloud, no auth, no bill. One file at `~/.agent-bus/bus.db`.\n- **Listeners you can see** — blocking MCP inbox waits and `agent-bus wait` stamp `listening_until`, so `whois`, directory reads, and the cockpit can distinguish online-but-idle from actively listening. Claude Code's Stop hook can keep helper sessions alive even when they'd otherwise fall out of the agent loop.\n\n## Documentation\n\n| | |\n|---|---|\n| [`docs/install.md`](docs/install.md) | Install for Claude Code, Codex CLI, Codex Desktop |\n| [`docs/agent-prompts.md`](docs/agent-prompts.md) | Copy-paste prompts for registering agents, listeners, and verifiers |\n| [`docs/concepts.md`](docs/concepts.md) | Mental model: agents, messages, threads, channels, claims, tasks, memories |\n| [`docs/tools.md`](docs/tools.md) | All MCP tools — signatures, errors, examples |\n| [`docs/cli.md`](docs/cli.md) | `agent-bus` CLI reference |\n| [`docs/patterns.md`](docs/patterns.md) | Listener mode, async chat, capability routing, broadcast, ack/retry, threading |\n| [`docs/loops.md`](docs/loops.md) | Loop engineering with memory, verifier gates, liveness, and cockpit attention |\n| [`docs/architecture.md`](docs/architecture.md) | Schema, internals, tuning, what it can and can't do |\n| [`docs/troubleshooting.md`](docs/troubleshooting.md) | Common errors and fixes |\n| [`docs/openapi.yaml`](docs/openapi.yaml) | Core synthetic OpenAPI 3.1 mapping; [`docs/tools.md`](docs/tools.md) is authoritative for the full MCP surface |\n| [`llms.txt`](llms.txt) | Single-file context to drop into an AI agent so it can use the bus |\n\n## License\n\n[MIT](LICENSE).\n","readmeFilename":"README.md"}