{"_id":"@cloud-atlas-ai/bottle","_rev":"9-85984d0f5adff5998c576282654a4a2a","name":"@cloud-atlas-ai/bottle","dist-tags":{"latest":"0.2.6"},"versions":{"0.1.0":{"name":"@cloud-atlas-ai/bottle","version":"0.1.0","keywords":["opencode","opencode-plugin","ai","task-tracking","working-memory","metacognition"],"author":{"name":"Cloud Atlas AI","email":"hello@cloudatlas.ai"},"license":"MIT","_id":"@cloud-atlas-ai/bottle@0.1.0","maintainers":[{"name":"muness217","email":"muness@gmail.com"},{"name":"mellowninja","email":"drazen@urch.eu"}],"homepage":"https://github.com/cloud-atlas-ai/bottle#readme","bugs":{"url":"https://github.com/cloud-atlas-ai/bottle/issues"},"dist":{"shasum":"7f7411bfefc28e9f19175f751b2ec350bcf6d192","tarball":"https://registry.npmjs.org/@cloud-atlas-ai/bottle/-/bottle-0.1.0.tgz","fileCount":7,"integrity":"sha512-a336pmbvlZmgW2j/RpkGUVC6trNA9ohO8hRYgXhXeOe8TIoQBVN9F8rCAyc5EMDkbj1D2KMoSHNwXAlm5GGSZg==","signatures":[{"sig":"MEYCIQDkEJyith7lImGld6rIPJ25xqsVy9whUzz7xOiauB729QIhANlpedNpXe3lBeAaFBmnOvNgYfRDElKrHwQrHHhX+CmQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1367175},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e7f118b682aade0e5e410d9bcd200244eddcf305","scripts":{"build":"bun build src/index.ts --outdir dist --target bun","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muness217","email":"muness@gmail.com"},"repository":{"url":"git+https://github.com/cloud-atlas-ai/bottle.git","type":"git"},"_npmVersion":"11.3.0","description":"Cloud Atlas AI core stack for OpenCode - ba, wm, and superego in one package","directories":{},"_nodeVersion":"24.2.0","dependencies":{"ba-opencode":"*","wm-opencode":"*","superego-opencode":"*"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.4","typescript":"^5.7.0","@opencode-ai/plugin":"^1.0.61"},"peerDependencies":{"bun":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bottle_0.1.0_1767834701873_0.8014052757739669","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@cloud-atlas-ai/bottle","version":"0.1.1","keywords":["opencode","opencode-plugin","ai","task-tracking","working-memory","metacognition"],"author":{"name":"Cloud Atlas AI","email":"hello@cloudatlas.ai"},"license":"MIT","_id":"@cloud-atlas-ai/bottle@0.1.1","maintainers":[{"name":"muness217","email":"muness@gmail.com"},{"name":"mellowninja","email":"drazen@urch.eu"}],"homepage":"https://github.com/cloud-atlas-ai/bottle#readme","bugs":{"url":"https://github.com/cloud-atlas-ai/bottle/issues"},"dist":{"shasum":"969ae62571ddc6709400c2a0eb43fd98273c1cfd","tarball":"https://registry.npmjs.org/@cloud-atlas-ai/bottle/-/bottle-0.1.1.tgz","fileCount":5,"integrity":"sha512-nBCboLzJ08kFCwMgb0c2VzF++32GwWRsljgb2OU/ElzM18byUxwrkzMSuH/hKqt+Ha6rpHj6fpEw3PeqUV/UQw==","signatures":[{"sig":"MEUCIQCTFgLyKK5v58ReEo0Bm6GC3tDAIZFLjLI4o3t7PgrvsgIgNPKTq4lj5LSJEoACT8sQTue/WyrP3Yh8QKPvGQu+UGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1366005},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e7f118b682aade0e5e410d9bcd200244eddcf305","scripts":{"build":"bun build src/index.ts --outdir dist --target bun","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muness217","email":"muness@gmail.com"},"repository":{"url":"git+https://github.com/cloud-atlas-ai/bottle.git","type":"git"},"_npmVersion":"11.6.3","description":"Cloud Atlas AI core stack for OpenCode - ba, wm, and superego in one package","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ba-opencode":"*","wm-opencode":"*","superego-opencode":"*"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.4","typescript":"^5.7.0","@opencode-ai/plugin":"^1.0.61"},"peerDependencies":{"bun":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bottle_0.1.1_1767834755409_0.33710271243712886","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@cloud-atlas-ai/bottle","version":"0.2.0","keywords":["opencode","opencode-plugin","ai","task-tracking","working-memory","metacognition"],"author":{"name":"Cloud Atlas AI","email":"hello@cloudatlas.ai"},"license":"MIT","_id":"@cloud-atlas-ai/bottle@0.2.0","maintainers":[{"name":"muness217","email":"muness@gmail.com"},{"name":"mellowninja","email":"drazen@urch.eu"}],"homepage":"https://github.com/cloud-atlas-ai/bottle#readme","bugs":{"url":"https://github.com/cloud-atlas-ai/bottle/issues"},"dist":{"shasum":"4982db20c98fc9882c2a4da17dc7d120608eb228","tarball":"https://registry.npmjs.org/@cloud-atlas-ai/bottle/-/bottle-0.2.0.tgz","fileCount":5,"integrity":"sha512-cuqeJuIYGSSvZCcJ+9Ywb38KNhcthUhHOLibJtGGq5gwt/t/Y/Wylsp/M0enbAFYbZ5wgpGA5SVRQ5UF6mjxKg==","signatures":[{"sig":"MEUCIQC7Gk7vRcOM+deJYoGUHqNvNI0DQBu35d5UwjqZsOdkjAIgZATFAXmCKnn8+AezpnLBipvK9iDZcf2KiJaFJIzl9vg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1838540},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"94e0ab185dc4914a3ebe206a2b211791e13c7ab6","scripts":{"build":"bun build src/index.ts --outdir dist --target bun","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muness217","email":"muness@gmail.com"},"repository":{"url":"git+https://github.com/cloud-atlas-ai/bottle.git","type":"git"},"_npmVersion":"11.3.0","description":"Cloud Atlas AI core stack for OpenCode - ba, wm, and superego in one package","directories":{},"_nodeVersion":"24.2.0","dependencies":{"ba-opencode":"*","wm-opencode":"*","superego-opencode":"*"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.4","typescript":"^5.7.0","@opencode-ai/plugin":"^1.0.61"},"peerDependencies":{"bun":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bottle_0.2.0_1767902133764_0.8578999504726688","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cloud-atlas-ai/bottle","version":"0.2.1","keywords":["opencode","opencode-plugin","ai","task-tracking","working-memory","metacognition"],"author":{"name":"Cloud Atlas AI","email":"hello@cloudatlas.ai"},"license":"MIT","_id":"@cloud-atlas-ai/bottle@0.2.1","maintainers":[{"name":"muness217","email":"muness@gmail.com"},{"name":"mellowninja","email":"drazen@urch.eu"}],"homepage":"https://github.com/cloud-atlas-ai/bottle#readme","bugs":{"url":"https://github.com/cloud-atlas-ai/bottle/issues"},"dist":{"shasum":"6b4b9be46e66c23d1f1a470106d8bfb8666dd2ed","tarball":"https://registry.npmjs.org/@cloud-atlas-ai/bottle/-/bottle-0.2.1.tgz","fileCount":5,"integrity":"sha512-Vm77ODzw2Zwq7nYZv67nHjHeZFCPHv/+9BKA1SymBob4ZazPC2OfRfulv3zKsK282R+LKwkFAqtRELBjIwoXeA==","signatures":[{"sig":"MEUCIBw9+ZECMp5WMbD9uAaC/Bv2QBjik8rqVMJg1GUkQ+hlAiEAsjitnkcHXJ7KLeynM8nlXPfjfK6YNDduRCfdB4/HTyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1838540},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"94e0ab185dc4914a3ebe206a2b211791e13c7ab6","scripts":{"build":"bun build src/index.ts --outdir dist --target bun","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muness217","email":"muness@gmail.com"},"repository":{"url":"git+https://github.com/cloud-atlas-ai/bottle.git","type":"git"},"_npmVersion":"11.6.3","description":"Cloud Atlas AI core stack for OpenCode - ba, wm, and superego in one package","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ba-opencode":"*","wm-opencode":"*","superego-opencode":"*"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.4","typescript":"^5.7.0","@opencode-ai/plugin":"^1.0.61"},"peerDependencies":{"bun":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bottle_0.2.1_1767902353849_0.16692754587514647","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@cloud-atlas-ai/bottle","version":"0.2.2","keywords":["opencode","opencode-plugin","ai","task-tracking","working-memory","metacognition"],"author":{"name":"Cloud Atlas AI","email":"hello@cloudatlas.ai"},"license":"MIT","_id":"@cloud-atlas-ai/bottle@0.2.2","maintainers":[{"name":"muness217","email":"muness@gmail.com"},{"name":"mellowninja","email":"drazen@urch.eu"}],"homepage":"https://github.com/cloud-atlas-ai/bottle#readme","bugs":{"url":"https://github.com/cloud-atlas-ai/bottle/issues"},"dist":{"shasum":"b951074a92ebd40fd284f1a56cc25fe630705165","tarball":"https://registry.npmjs.org/@cloud-atlas-ai/bottle/-/bottle-0.2.2.tgz","fileCount":5,"integrity":"sha512-JZAOUt9dP1QHdkAUs3hbZUSYzv4XNzvrk5PL9ILVZAHlkMME3OeOy7M5g740cpioYk6D8svlFWC7dU9aC4YEWg==","signatures":[{"sig":"MEYCIQDVEtPERj0C44iPBtknnDoFzpLFpB+VsWjnXyceRH2kPAIhAPqXCjhO0inDObMB3XYP9rlEHVn2DPuAgZC7VTQEX+08","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473642},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"b0cd8f57aa331a62224236ae1ba7418feb2a579c","scripts":{"build":"bun build src/index.ts --outdir dist --target bun --external ba-opencode --external wm-opencode --external superego-opencode","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muness217","email":"muness@gmail.com"},"repository":{"url":"git+https://github.com/cloud-atlas-ai/bottle.git","type":"git"},"_npmVersion":"11.3.0","description":"Cloud Atlas AI core stack for OpenCode - ba, wm, and superego in one package","directories":{},"_nodeVersion":"24.2.0","dependencies":{"ba-opencode":"*","wm-opencode":"*","superego-opencode":"*"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.4","typescript":"^5.7.0","@opencode-ai/plugin":"^1.0.61"},"peerDependencies":{"bun":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bottle_0.2.2_1767915798964_0.5002049543863414","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@cloud-atlas-ai/bottle","version":"0.2.3","keywords":["opencode","opencode-plugin","ai","task-tracking","working-memory","metacognition"],"author":{"name":"Cloud Atlas AI","email":"hello@cloudatlas.ai"},"license":"MIT","_id":"@cloud-atlas-ai/bottle@0.2.3","maintainers":[{"name":"muness217","email":"muness@gmail.com"},{"name":"mellowninja","email":"drazen@urch.eu"}],"homepage":"https://github.com/cloud-atlas-ai/bottle#readme","bugs":{"url":"https://github.com/cloud-atlas-ai/bottle/issues"},"dist":{"shasum":"29e0be0e6999e8cb081ae832f96681d0c3fa4057","tarball":"https://registry.npmjs.org/@cloud-atlas-ai/bottle/-/bottle-0.2.3.tgz","fileCount":5,"integrity":"sha512-VI1ylPjNNvrAD+Tc6xdSYMCmofsxZHBFT9bqAZmB4QznNzIkJh3XNbQQnI8qUA/ddubVYOfUZD6z22h4WW42rg==","signatures":[{"sig":"MEYCIQD/QYDGBJJ+cV5VV2c+F5tGUSgegfWHb1oqRD4aM32lUAIhAJM4taBEiEFqE2wACPl8LN+cZ8q/OyLmuLfihnONT5U2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":470525},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0fe2b98bbdb502fa734939255acd5270a41b2180","scripts":{"build":"bun build src/index.ts --outdir dist --target bun --external ba-opencode --external wm-opencode --external superego-opencode","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muness217","email":"muness@gmail.com"},"repository":{"url":"git+https://github.com/cloud-atlas-ai/bottle.git","type":"git"},"_npmVersion":"11.3.0","description":"Cloud Atlas AI core stack for OpenCode - ba, wm, and superego in one package","directories":{},"_nodeVersion":"24.2.0","dependencies":{"ba-opencode":"*","wm-opencode":"*","superego-opencode":"*"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.4","typescript":"^5.7.0","@opencode-ai/plugin":"^1.0.61"},"peerDependencies":{"bun":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bottle_0.2.3_1767919214224_0.39306753886107093","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@cloud-atlas-ai/bottle","version":"0.2.4","keywords":["opencode","opencode-plugin","ai","task-tracking","working-memory","metacognition"],"author":{"name":"Cloud Atlas AI","email":"hello@cloudatlas.ai"},"license":"MIT","_id":"@cloud-atlas-ai/bottle@0.2.4","maintainers":[{"name":"muness217","email":"muness@gmail.com"},{"name":"mellowninja","email":"drazen@urch.eu"}],"homepage":"https://github.com/cloud-atlas-ai/bottle#readme","bugs":{"url":"https://github.com/cloud-atlas-ai/bottle/issues"},"dist":{"shasum":"bfb81cb7b0c7842074328df06f8741d38c212339","tarball":"https://registry.npmjs.org/@cloud-atlas-ai/bottle/-/bottle-0.2.4.tgz","fileCount":5,"integrity":"sha512-LtDUyl4rzU016cHZWnpnA8AMtx7dqSx2pnsLnNLNOsE+5NuzDcQx7QHJIywASae78cUKdJc4q9DVIpp2RJq0OA==","signatures":[{"sig":"MEUCIQCTErA/rO+n9Jl08h+dE8txllxHZisqJPV1/oqKnraLiQIgbq4iZNcyGQVKTpVMTk24mwr2U8ZvCTqsufT/UBQdWZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":472710},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0fe2b98bbdb502fa734939255acd5270a41b2180","scripts":{"build":"bun build src/index.ts --outdir dist --target bun --external ba-opencode --external wm-opencode --external superego-opencode","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muness217","email":"muness@gmail.com"},"repository":{"url":"git+https://github.com/cloud-atlas-ai/bottle.git","type":"git"},"_npmVersion":"11.3.0","description":"Cloud Atlas AI core stack for OpenCode - ba, wm, and superego in one package","directories":{},"_nodeVersion":"24.2.0","dependencies":{"ba-opencode":"*","wm-opencode":"*","superego-opencode":"*"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.4","typescript":"^5.7.0","@opencode-ai/plugin":"^1.0.61"},"peerDependencies":{"bun":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bottle_0.2.4_1767921432133_0.015830177196494155","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@cloud-atlas-ai/bottle","version":"0.2.5","keywords":["opencode","opencode-plugin","ai","task-tracking","working-memory","metacognition"],"author":{"name":"Cloud Atlas AI","email":"hello@cloudatlas.ai"},"license":"MIT","_id":"@cloud-atlas-ai/bottle@0.2.5","maintainers":[{"name":"muness217","email":"muness@gmail.com"},{"name":"mellowninja","email":"drazen@urch.eu"}],"homepage":"https://github.com/cloud-atlas-ai/bottle#readme","bugs":{"url":"https://github.com/cloud-atlas-ai/bottle/issues"},"dist":{"shasum":"ed68a7521de231f57e65f20b8edeb43794c19eae","tarball":"https://registry.npmjs.org/@cloud-atlas-ai/bottle/-/bottle-0.2.5.tgz","fileCount":5,"integrity":"sha512-puf0DzUkhKwbcK4P7MQg09VoK6/wFVoG283nUfIkDEWRGj7M6LR6s7vP3lezzKoNg2PDRyGicgXZsjvcg38LZw==","signatures":[{"sig":"MEUCIQDNS1zN0SGA70B6dr93/y9KNGGtyHQPZM6NxkuNDgeoRwIgUi5FTq5MG/Sy0OejG5FzuuOXbDRBxPOQ4m5xMgXnS+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":472247},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0fe2b98bbdb502fa734939255acd5270a41b2180","scripts":{"build":"bun build src/index.ts --outdir dist --target bun --external ba-opencode --external wm-opencode --external superego-opencode","typecheck":"tsc --noEmit"},"_npmUser":{"name":"muness217","email":"muness@gmail.com"},"repository":{"url":"git+https://github.com/cloud-atlas-ai/bottle.git","type":"git"},"_npmVersion":"11.3.0","description":"Cloud Atlas AI core stack for OpenCode - ba, wm, and superego in one package","directories":{},"_nodeVersion":"24.2.0","dependencies":{"ba-opencode":"*","wm-opencode":"*","superego-opencode":"*"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.4","typescript":"^5.7.0","@opencode-ai/plugin":"^1.0.61"},"peerDependencies":{"bun":">=1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/bottle_0.2.5_1767922054750_0.26852400505894547","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@cloud-atlas-ai/bottle","version":"0.2.6","description":"Cloud Atlas AI core stack for OpenCode - ba, wm, and superego in one package","type":"module","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"bun build src/index.ts --outdir dist --target bun --external ba-opencode --external wm-opencode --external superego-opencode","typecheck":"tsc --noEmit"},"keywords":["opencode","opencode-plugin","ai","task-tracking","working-memory","metacognition"],"author":{"name":"Cloud Atlas AI","email":"hello@cloudatlas.ai"},"repository":{"type":"git","url":"git+https://github.com/cloud-atlas-ai/bottle.git"},"license":"MIT","dependencies":{"ba-opencode":"*","wm-opencode":"*","superego-opencode":"*"},"devDependencies":{"@opencode-ai/plugin":"^1.0.61","@types/bun":"^1.2.4","typescript":"^5.7.0"},"peerDependencies":{"bun":">=1.0.0"},"_id":"@cloud-atlas-ai/bottle@0.2.6","gitHead":"4e38741cf71830f4176795608dfcad80e6e7adb1","bugs":{"url":"https://github.com/cloud-atlas-ai/bottle/issues"},"homepage":"https://github.com/cloud-atlas-ai/bottle#readme","_nodeVersion":"24.2.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-I+JN46iceQZiaUt+REF5KwTaf/1rA/QIxc1NjpBopd76/u8sj0OGdaU4PpC3WBIA6m0uzeKwe7kImMIMmoK5Sw==","shasum":"64b6fd1b66d29f5924143617b6495cbe857c75f2","tarball":"https://registry.npmjs.org/@cloud-atlas-ai/bottle/-/bottle-0.2.6.tgz","fileCount":5,"unpackedSize":476939,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD57JV17+0Mi6Ur7lhrPTzjJzk6MUnw7WbWo8lGHyuImAIgf35xEG4R9ISS/Dw26EGu1+VGA2SS6hNZSBJKXyScsMw="}]},"_npmUser":{"name":"muness217","email":"muness@gmail.com"},"directories":{},"maintainers":[{"name":"muness217","email":"muness@gmail.com"},{"name":"mellowninja","email":"drazen@urch.eu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bottle_0.2.6_1767928739626_0.2953843644952674"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-08T01:11:41.740Z","modified":"2026-01-09T03:18:59.978Z","0.1.0":"2026-01-08T01:11:42.096Z","0.1.1":"2026-01-08T01:12:35.637Z","0.2.0":"2026-01-08T19:55:33.948Z","0.2.1":"2026-01-08T19:59:14.054Z","0.2.2":"2026-01-08T23:43:19.100Z","0.2.3":"2026-01-09T00:40:14.421Z","0.2.4":"2026-01-09T01:17:12.309Z","0.2.5":"2026-01-09T01:27:34.901Z","0.2.6":"2026-01-09T03:18:59.772Z"},"bugs":{"url":"https://github.com/cloud-atlas-ai/bottle/issues"},"author":{"name":"Cloud Atlas AI","email":"hello@cloudatlas.ai"},"license":"MIT","homepage":"https://github.com/cloud-atlas-ai/bottle#readme","keywords":["opencode","opencode-plugin","ai","task-tracking","working-memory","metacognition"],"repository":{"type":"git","url":"git+https://github.com/cloud-atlas-ai/bottle.git"},"description":"Cloud Atlas AI core stack for OpenCode - ba, wm, and superego in one package","maintainers":[{"name":"muness217","email":"muness@gmail.com"},{"name":"mellowninja","email":"drazen@urch.eu"}],"readme":"# Bottle - Cloud Atlas AI for OpenCode\n\n**One package, full stack:** ba (task tracking), wm (working memory), and superego (metacognition) for OpenCode.\n\n## Installation\n\n```bash\nnpm install @cloud-atlas-ai/bottle\n```\n\nAdd to your `opencode.json`:\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"plugin\": [\"@cloud-atlas-ai/bottle\"]\n}\n```\n\n## What You Get\n\n### ba - Task Tracking\nSimple ownership-based task tracking for multi-agent workflows.\n\n**Tools:**\n- `ba-init` - Initialize ba for a project\n- `ba-status` - Show current tasks and counts\n- `ba-quickstart` - Quick reference guide\n\n**Requires:** `ba` binary ([install instructions](https://github.com/cloud-atlas-ai/ba))\n\n### wm - Working Memory\nAccumulates tacit knowledge across sessions. Model-driven: the LLM calls wm when it needs context.\n\n**Tools:**\n- `wm init` - Initialize working memory\n- `wm show state` - View accumulated knowledge\n- `wm compile` - Get relevant context for current task\n- `wm distill` - Extract knowledge from recent work\n\n**Requires:** `wm` binary ([install instructions](https://github.com/cloud-atlas-ai/wm))\n\n**How it works:** A soft hint in the system prompt tells the LLM about wm. When the model needs context, it calls the `wm` tool. Similar to superego's \"pull mode.\"\n\n### superego - Metacognition\nReviews your work before finishing. Provides feedback on approach, risks, and missed considerations.\n\n**Tools:**\n- `superego init` - Initialize superego\n- `superego status` - Check if enabled\n- `superego disable/enable` - Toggle evaluation\n- `superego remove` - Remove from project\n\n**How it works:** Evaluates sessions when idle. If concerns found, injects feedback into the conversation.\n\n## Quick Start\n\n1. **Install bottle:**\n   ```bash\n   npm install @cloud-atlas-ai/bottle\n   ```\n\n2. **Add to opencode.json:**\n   ```json\n   {\n     \"plugin\": [\"@cloud-atlas-ai/bottle\"]\n   }\n   ```\n\n3. **Install binaries (ba and wm require them):**\n   ```bash\n   # ba\n   brew install cloud-atlas-ai/ba/ba\n   # or: cargo install ba\n\n   # wm\n   brew install cloud-atlas-ai/wm/wm\n   # or: cargo install wm\n   ```\n\n4. **Initialize in your project:**\n   Ask OpenCode to initialize each tool:\n   - \"use ba-init to set up task tracking\"\n   - \"use wm init to set up working memory\"\n   - \"use superego init to set up metacognition\"\n\n## Differences from Claude Code\n\n### ba\n✅ Same functionality - tools wrap the CLI\n\n### wm\n⚠️ **Model-driven instead of automatic:**\n- **Claude Code:** Automatically injects relevant context before every user prompt\n- **OpenCode:** Model decides when to call `wm compile` (no per-prompt hooks available)\n- **Why:** OpenCode doesn't have an equivalent to Claude Code's `UserPromptSubmit` hook\n- **Benefit:** Preserves relevance filtering, avoids token bloat\n\n### superego\n✅ Same \"pull mode\" behavior - evaluates on session idle\n\n## Individual Plugins\n\nIf you only want one tool, install from their respective repos:\n- [ba-opencode](https://github.com/cloud-atlas-ai/ba/tree/main/opencode-plugin)\n- [wm-opencode](https://github.com/cloud-atlas-ai/wm/tree/main/opencode-plugin)\n- [superego-opencode](https://github.com/cloud-atlas-ai/superego/tree/main/opencode-plugin)\n\n## Architecture\n\nBottle is a meta-package that depends on the individually published plugins:\n- `ba-opencode` - Task tracking plugin\n- `wm-opencode` - Working memory plugin\n- `superego-opencode` - Metacognition plugin\n\nEach plugin can be published and versioned independently. Bottle simply re-exports them for convenience.\n\nEach plugin:\n- Provides OpenCode tools\n- Injects soft hints via `experimental.chat.system.transform`\n- Registers event hooks where needed (superego uses `session.idle`)\n\n## License\n\nMIT\n\n## Links\n\n- [bottle (Claude Code marketplace)](https://github.com/cloud-atlas-ai/bottle)\n- [ba](https://github.com/cloud-atlas-ai/ba)\n- [wm](https://github.com/cloud-atlas-ai/wm)\n- [superego](https://github.com/cloud-atlas-ai/superego)\n","readmeFilename":"README.md"}