@cloud-atlas-ai/bottle
v0.2.6
Published
Cloud Atlas AI core stack for OpenCode - ba, wm, and superego in one package
Readme
Bottle - Cloud Atlas AI for OpenCode
One package, full stack: ba (task tracking), wm (working memory), and superego (metacognition) for OpenCode.
Installation
npm install @cloud-atlas-ai/bottleAdd to your opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@cloud-atlas-ai/bottle"]
}What You Get
ba - Task Tracking
Simple ownership-based task tracking for multi-agent workflows.
Tools:
ba-init- Initialize ba for a projectba-status- Show current tasks and countsba-quickstart- Quick reference guide
Requires: ba binary (install instructions)
wm - Working Memory
Accumulates tacit knowledge across sessions. Model-driven: the LLM calls wm when it needs context.
Tools:
wm init- Initialize working memorywm show state- View accumulated knowledgewm compile- Get relevant context for current taskwm distill- Extract knowledge from recent work
Requires: wm binary (install instructions)
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."
superego - Metacognition
Reviews your work before finishing. Provides feedback on approach, risks, and missed considerations.
Tools:
superego init- Initialize superegosuperego status- Check if enabledsuperego disable/enable- Toggle evaluationsuperego remove- Remove from project
How it works: Evaluates sessions when idle. If concerns found, injects feedback into the conversation.
Quick Start
Install bottle:
npm install @cloud-atlas-ai/bottleAdd to opencode.json:
{ "plugin": ["@cloud-atlas-ai/bottle"] }Install binaries (ba and wm require them):
# ba brew install cloud-atlas-ai/ba/ba # or: cargo install ba # wm brew install cloud-atlas-ai/wm/wm # or: cargo install wmInitialize in your project: Ask OpenCode to initialize each tool:
- "use ba-init to set up task tracking"
- "use wm init to set up working memory"
- "use superego init to set up metacognition"
Differences from Claude Code
ba
✅ Same functionality - tools wrap the CLI
wm
⚠️ Model-driven instead of automatic:
- Claude Code: Automatically injects relevant context before every user prompt
- OpenCode: Model decides when to call
wm compile(no per-prompt hooks available) - Why: OpenCode doesn't have an equivalent to Claude Code's
UserPromptSubmithook - Benefit: Preserves relevance filtering, avoids token bloat
superego
✅ Same "pull mode" behavior - evaluates on session idle
Individual Plugins
If you only want one tool, install from their respective repos:
Architecture
Bottle is a meta-package that depends on the individually published plugins:
ba-opencode- Task tracking pluginwm-opencode- Working memory pluginsuperego-opencode- Metacognition plugin
Each plugin can be published and versioned independently. Bottle simply re-exports them for convenience.
Each plugin:
- Provides OpenCode tools
- Injects soft hints via
experimental.chat.system.transform - Registers event hooks where needed (superego uses
session.idle)
License
MIT
