My current power move in the age of AI: do nothing.
I had an idea like this and thought I could vibe code it, but then I figured someone else would care more and do it first. I was right!
This looks like a great app and I'm excited to try it out.
Free idea: I would like to be able to "jail" an agent inside a VM and send instructions to the harness from outside the VM to agent(s) installed inside. Ideally there is no Codex/Claude/etc. installed on the host.
More awesome: let me provision multiple user accounts inside the VM and restrict filesystem / network policy by user. Then I can have a dev agent, QA agent, etc. each with its own view of the work. That would be a powerful base layer for further automation.
Of course I should be able to provision various resources "attached" to the VM that agents can use on a permissioned basis; e.g., DB, queue, external volume, and so forth.
I have been thinking about this too. Is it not as simple as installing Claude in the VM and connecting via an SSH terminal, or if you want a GUI use VSCode with the Remote SSH extension, which will give you the file browser UI etc. Presumably you can extensions in the VSCode Claude/whatever chat extensions in the VM too.
This looks like a really solid app. I like that it's 17 MB and uses the ContainerAPIClient library directly.
28 commits in 3 days, 5,015 lines of Swift, every commit "Co-Authored-By: Claude Fable 5".
Also neat that it's signed/notarized. I installed it and it downloaded the necessary container platform stuff on first launch.
Suggestion: add a getting started tutorial to the site which suggests an image to try out and has screenshots (or a silent video) showing you how to get that image up and running and what you can do with it.
The create image dialog suggests "nginx:latest" but that's not a great starting demo.
Coding yes, copywriting, design, identity, no. Using AI doesn't mean giving up on quality, unless you don't care about quality. Most of these issues come from folks who don't really care about quality and ship the first slop that comes out.
A tutorial with a slightly more realistic example would help a lot here. nginx:latest shows the plumbing works, but it doesn’t really show where Apple Containers feels different from Docker Desktop or OrbStack.
Something like a tiny app with a volume, port mapping, and a simple rebuild loop would make the value much easier to see.
Really nice. Worked perfectly downloading the runtime and running nginx:latest.
It's getting to the point that scrolling down on Github and seeing Claude as a contributor is a signal the app will be good (Native feeling, no Electron, etc)
How does this compare to OrbStack? Do Apple Containers offer anything in the dev experience that I would notice? OrbStack’s implementation already feels lightning fast for my usage.
This is focused on builds, so running either buildkitd or dockerd in an Apple containerization container.
No port forwarding or host volume stuff (really its focused on running buildkit on mac) BUT complete integration with docker CLI and buildx.
Unrelated. I noticed that the settings window (Cmd-,) text inputs all type from the right instead of the left like older macOS inputs (or web inputs[0])
Is that a thing macOS is moving to? I'm sure I've seen Apple use these too.
Kinda interestingly: it zips to 17MB, but the binary looks to be 56MB (davit.app/contents/macos/davit). That seems like a surprising amount of compression for a binary - embedded assets maybe? Possibly this is normal for mac apps though?
A lot of Mac apps compress like this. Not so long ago, it was pretty common to download a 3-400mb dmg file that decompresses to a 1.5gb app package, for example.
A lot of the time that happened, when I checked it was because a lot of the assets were relatively uncompressed, so DMG-compression shrank them considerably. I haven't noticed the binaries themselves being this compressible.
But that's just "noticed", I definitely haven't paid much attention. And don't have a mac nowadays, so I can't go check my hard drive now.
I'd lean the same way as you (just a hypothesis from me too). A .app on MacOS is just a special kind of directory, so the compression covers the normal file types inside of it.
Localization files compress well, compiled code compresses well, repeating assets (@1x, 2x, 3x) and the pair of binaries in a universal app (x86_64 + arm64) do too, etc.
Ah, and dmg compression is just LZFSE, zlib or bzip2, so pretty standard stuff as far as I understand it.
Hmm… how does one even pick between multiple vibe coded options?
I like to vet my options before committing to new software but who knows if the authors are gonna support these in a month? I don’t want to waste Fable tokens to fix bugs myself when they crop up.
Docker desktop on mac does not work well (uses lots of resources) and my current alternative is OrbStack (very slick, uses far less resources, but freemium).
With nothing running, the platform's background services idle at roughly 25 MB. Docker desktop starts a single VM to host all containers and will reserve memory to do so. Davit itself is about 25mb and then each container will use the memory up to what you allocate for it.
It claims to be backed by (and require) apple/containers(1) which "consumes and produces OCI-compatible container images" so if all that is true .... yes!
I can’t speak about orbstack, but I’ve worked with docker desktop and podman desktop for years on macOS. Those programs start up a virtual machine that consistently eats ram regardless of whether or not you are running containers in it. Apple container looks lighter weight. In the age of ridiculous ram costs, you gotta save resources.
In addition to memory saver that another person replied about, Docker Desktop also has an MCP server functionality and marketplace (almost all free) and huge AI focus. You can hardly compare it to the others at this point.
I was doing the following at the same time on my MBP this week:
* running a bunch of containers + MCP servers for Claude and Codex on Docker Desktop
* heavily using Claude Code with Fable and packer to build cloud marketplace images
* having Codex write some tests and git flows and reviewing the work in vscode
* automating a character in a Wine-based 1st party RPG in the background running at full resolution
* watching anime on Plex in between Claude Code prompts
It's all about your machine. Docker Desktop is not my worry and if you're a Dev you should have a nice laptop with 32-64GB or more, Apple Silicon Max CPU, etc. This goes for Fusion or UTM also if you want to run a Linux Desktop.
I use docker CE with all container/tui interfaces on all of my Linux systems, but Docker Desktop is nice for macOS or Windows. I almost forgot about Docker Desktop's Gordon, and the AI assistant will do things like analyze your Dockerfile or compose.yml. Super handy.
Docker Desktop's memory saver shuts down VM when containers are not running.
Additionally, Docker/Podman/Orbstack start a single VM, where memory is shared between containers.
On the other hand, Apple Containers create a separate VM for each container, which results in higher memory usage due to Linux kernel overhead, as well as the fact that kernel will try to use most of the available memory for file caching.
OrbStack has its own virtualization layer designed to simulate Docker. Containerization has different primitives even though it supports the same OCI images
Docker Desktop/Obstack start a single VM that runs all your containers. This means that you'll have to scale it accordingly. Davit uses Apple Containers that runs a very thin VM for each container you spin up. Depending on your use case it's more, less or equivalently effcient.
I had an idea like this and thought I could vibe code it, but then I figured someone else would care more and do it first. I was right!
This looks like a great app and I'm excited to try it out.
Free idea: I would like to be able to "jail" an agent inside a VM and send instructions to the harness from outside the VM to agent(s) installed inside. Ideally there is no Codex/Claude/etc. installed on the host.
More awesome: let me provision multiple user accounts inside the VM and restrict filesystem / network policy by user. Then I can have a dev agent, QA agent, etc. each with its own view of the work. That would be a powerful base layer for further automation.
Of course I should be able to provision various resources "attached" to the VM that agents can use on a permissioned basis; e.g., DB, queue, external volume, and so forth.
I have been thinking about this too. Is it not as simple as installing Claude in the VM and connecting via an SSH terminal, or if you want a GUI use VSCode with the Remote SSH extension, which will give you the file browser UI etc. Presumably you can extensions in the VSCode Claude/whatever chat extensions in the VM too.
28 commits in 3 days, 5,015 lines of Swift, every commit "Co-Authored-By: Claude Fable 5".
Also neat that it's signed/notarized. I installed it and it downloaded the necessary container platform stuff on first launch.
Suggestion: add a getting started tutorial to the site which suggests an image to try out and has screenshots (or a silent video) showing you how to get that image up and running and what you can do with it.
The create image dialog suggests "nginx:latest" but that's not a great starting demo.
Look, I'm as anti-AI as the next guy but their homepage is good. They didn't compromise on quality.
Call a spade a spade.
Something like a tiny app with a volume, port mapping, and a simple rebuild loop would make the value much easier to see.
I like it! I would like it even more if we could choose which terminal app the containers open in. Is that doable?
I'll give this a try though.
It's getting to the point that scrolling down on Github and seeing Claude as a contributor is a signal the app will be good (Native feeling, no Electron, etc)
Sweet, regardless of the AI help.
If anything even more so, no excuses for lazy Electron, with AI helping hand.
Kudos.
https://github.com/cpuguy83/crucible
Is that a thing macOS is moving to? I'm sure I've seen Apple use these too.
[0] https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...
Looks like great work, will try it soon!
But that's just "noticed", I definitely haven't paid much attention. And don't have a mac nowadays, so I can't go check my hard drive now.
Localization files compress well, compiled code compresses well, repeating assets (@1x, 2x, 3x) and the pair of binaries in a universal app (x86_64 + arm64) do too, etc.
Ah, and dmg compression is just LZFSE, zlib or bzip2, so pretty standard stuff as far as I understand it.
- https://github.com/tdeverx/contained-app
- https://github.com/tofa84/berth
I like to vet my options before committing to new software but who knows if the authors are gonna support these in a month? I don’t want to waste Fable tokens to fix bugs myself when they crop up.
Vibes all the way down
Docker desktop on mac does not work well (uses lots of resources) and my current alternative is OrbStack (very slick, uses far less resources, but freemium).
Oh! Do you mean the issue is adding extra name resolution to a VM?
Have you tried this avahi alias trick?
https://gist.github.com/tomslominski/9d507acd4036952d65b2364...
Works like a charm, bit odd that you have a persistent avahi client process broadcasting per alias, but it's lightweight.
Good name for this app, BTW.
1) https://github.com/apple/container
I was doing the following at the same time on my MBP this week:
* running a bunch of containers + MCP servers for Claude and Codex on Docker Desktop
* heavily using Claude Code with Fable and packer to build cloud marketplace images
* having Codex write some tests and git flows and reviewing the work in vscode
* automating a character in a Wine-based 1st party RPG in the background running at full resolution
* watching anime on Plex in between Claude Code prompts
It's all about your machine. Docker Desktop is not my worry and if you're a Dev you should have a nice laptop with 32-64GB or more, Apple Silicon Max CPU, etc. This goes for Fusion or UTM also if you want to run a Linux Desktop.
I use docker CE with all container/tui interfaces on all of my Linux systems, but Docker Desktop is nice for macOS or Windows. I almost forgot about Docker Desktop's Gordon, and the AI assistant will do things like analyze your Dockerfile or compose.yml. Super handy.
Additionally, Docker/Podman/Orbstack start a single VM, where memory is shared between containers.
On the other hand, Apple Containers create a separate VM for each container, which results in higher memory usage due to Linux kernel overhead, as well as the fact that kernel will try to use most of the available memory for file caching.
Oh goodness what have we come to? I know we're comparing to electron monstrosities, but still
yes I know we went to the moon with a few kb but are we going to hang on to that for ever?
Anyway, I think we should want to build efficient things. Dismissing this doesn’t seem terribly productive.
Yes, yes we fucking are.