Video yükleniyor...
Video Yüklenemedi
Checkout devvm - near instant VMs for every project folder. - Detect toolchains from your project's files - Agents run inside the vm - Only your project folder mounted - Network allowlist - Secrets stay on your machine - Built on lima-vm.io
61,967 görüntüleme • 5 gün önce •via X (Twitter)
46 Yorum

Watch the full walkthrough:

@TheLimaProject Hey CJ - this looks cool! have you seen ?

@TheLimaProject Yeah! It launched while I was working on this. It inverts the problem though. boxery lets agents spin up and work in vms via MCP calls that run read / write on a remote machine. With devvm the agents are _inside_ the vm, no way to control vms over MCP right now.

@TheLimaProject Ah ok - I thought it was frowned upon to add agents like claude into VMs with their auth tokens. Also if you have multiple clis doing refresh tokens - would one of them not invalidate the access token when long running?

@TheLimaProject The VM gets a placeholder token. devvm's proxy on the host swaps in the real one per request. Refresh only happens on the host, under lock. If two VMs need a refresh at once, the second waits and picks up the already-refreshed token, so a refresh token is never used twice.

@TheLimaProject Thanks CJ!

@TheLimaProject I was literally thinking about building this last night hahahahaha. this is awesome!

@TheLimaProject The network allowlist is the bit I’d want to see in action. How does it handle a project that needs to pull dependencies from several registries?

@TheLimaProject You can set up the allowlist globally, as a layer or per vm. The allowlist is a policy file with 1 rule on each line. I'd expect teams to come up with an allowlist they share for each project.

@TheLimaProject How is this different than docker sandbox?

@TheLimaProject It's similar but devvm is fully free and open source and doesn't require a login. I also tried to make the CLI args simpler and easier to remember compared to sbx.

@TheLimaProject awesome. will give it a spin

@TheLimaProject I haven't looked at the video, with Conductor closing, I'm thinking about VMs all the time, your approach seems great. I'm still too noob to understand how you protect the API keys, I hope I'll learn that in the full video

@TheLimaProject I read that and instantly thought you typoed Devin

@TheLimaProject I work-shopped so many names and went with the most unoriginal thing 😂

@TheLimaProject Network allowlist plus only the project folder mounted is exactly how agents should run. Is it Mac only for now or does it work on Linux too?

@TheLimaProject Works on Linux! Tested on Debian and Fedora.

@TheLimaProject Is this for throwaway VMS, or what?

@TheLimaProject Yeah. Spin up a VM, do some work, then remove it.

@TheLimaProject awesome sauce 🙌

@TheLimaProject I’m so excited to see this! I tried to convince VS Code folks to make a VM play (I thought it would bridge nicely into GitHub Codespaces, which I also love) but they were basically like, “our harness has great command safety checks”.

@TheLimaProject Neat! I’ve been using Claude cloud agents a lot for a similar reason. What advantages does this have over setting up a Claude cloud environment and using that?

@TheLimaProject May or may not be an advantage to some, but devvm runs locally on your machine or on servers you own. Can also be used with any agent or no agent.

@TheLimaProject Makes sense thanks!

@TheLimaProject Cool, I like devvm (great name BTW).

I have a question. this seems interesting. I watched the full video on youtube. the question is, do we have an instant way to switch on/off port forwarding from vm to host? the use case is, when i am working on multiple projects, which might have conflicting ports, i want to keep running the local servers inside the vms, but quickly switch on/off port forwarding for specific machine to access the dev server on that machine. btw great work 🙌 @CodingGarden

@TheLimaProject Yes run: devvm ports none To turn it off for a VM And: devvm ports all To turn it back on. You can also only forward specific ports instead of all.

@TheLimaProject Nice. Have you thought about a workflow for working on multiple tasks in the same project (same vm probably) via worktrees? Could devvm solve the problem of conflicting ports, env vars, dbs?

@TheLimaProject I think an allow list in devvms would not make much sense. It should be a deny list and support globs. I usually want my agent to fetch data from a variety of sources and do its work. But for prod I dont want anything other than my own + a few.

@TheLimaProject It has both! Tiers are per VM: - internet: everything public except your denies (a deny list) - allowlist: only what you allow (the default) Rules take globs (*.example.com, **) and ! denies, per VM or global.

@TheLimaProject Brillant !

@TheLimaProject Ok, well.. Thank you, i was contemplating building my own, but now I don't need to.

@TheLimaProject Will need to play around with this and make it work with varlock 🤔

@TheLimaProject are claude subs ok with this being that there’s a proxy involved?

devvm doesn't call Claude itself. The official Claude Code CLI runs in the VM, with your own login from Claude Code's own login flow, for your own use. The proxy on your machine just swaps a placeholder for your real token on the way out, so the VM never sees the real one. I'd avoid trying to use it to share a claude sub with multiple people, or using its tokens outside Claude Code CLI. It follows a similar design to what docker sbx uses (closed source, big company).

@TheLimaProject what about security, is it isolated 100% ?

@TheLimaProject The docs are honest about what a VM with policy can and can't do.

@TheLimaProject how do dev servers inside the vms show up on the host? if two projects both want 3000, does devvm hand them different ports

@TheLimaProject First VM gets the port. Second VM shows a warning and doesn't get it. Second VM would need to map to an open host port.

makes sense. that's the wall i hit with agents on parallel worktrees of the same repo, all of them wanting 3000. ended up building isola so each worktree gets its own ports. any plans for devvm to pick a free host port on its own?

@TheLimaProject As someone who doesn't have a lot of experience with the cursor/codex cloud agent stuff yet. How does this compare to those? Why would I prefer using devvm?

@TheLimaProject Do you think a 16 year old laptop (i7 1st gen, 8GB ram) will handle it?

@TheLimaProject Cool did exactly the same with microvm.nix

@TheLimaProject know a dev infra engineer building isolated sandboxes for coding agents who'd stress test devvm. couldn't get a dm through so tap below

@TheLimaProject Clicked t’for the pristine moustache

@TheLimaProject interesting i also landed on putting everything inside the vm,



