When you build an AI agent that touches more than one data source S3, Slack, a local database,
your filesystem you end up managing three or four different SDKs, auth flows, and API shapes
before writing a single line of actual agent logic.
Then you give your LLM a list of 12 tools and hope it picks the right one.
Fold takes a different approach.
It's a virtual filesystem. You mount any backend under a path prefix:
/notes → your local Documents folder
/db → a SQLite database
/s3 → an S3 bucket
/slack → Slack channels as directories
/model → a locally running Ollama model
Your agent gets one tool: bash. cat, ls, grep, wc, head, pipe across all of them.
LLMs were trained on bash. They know it cold. Fold exploits that instead of fighting it.
Three things I built that Mirage (the main prior art) doesn't have:
Local-first. SQLite, local files, and Ollama are first-class resources.
Everything can run on-device with zero data egress and zero API keys.
Reactive. ws.watch() lets any resource push events when data changes. Your agent triggers automatically no polling, no cron.
Rich listings. ls -c returns metadata alongside filenames row counts, schemas, member counts, last activity. The agent understands the environment in one call instead of five.
It also ships as an MCP server out of the box. One file and it's available in Claude, Cursor, or any MCP client.
Built this alongside Aura. The two are related Fold is the abstraction that lets Aura's
local agent work across your data without sending anything to the cloud.
If you're building agents and hitting the multi-SDK problem, try it.
I shipped an open-source package called Fold.
Here's the problem it solves:
When you build an AI agent that touches more than one data source S3, Slack, a lo...