Show HN: Rocky Surf – Open-source control plane for coding-agent cloud VMs

www.rockysurf.com

3 points by jbdamask 1 week ago

Rocky Surf started late last year after Claude Code crashed my laptop.

The alpha version was designed as a commercial product, but I ditched the idea because it would have required significant capital. Basically, the business would have been a cloud reseller with a bit of software on top.

I built the core for my own projects - simple stuff like bash commands to create, stop, start, and terminate EC2s. Added features along the way, like other clouds and making tool bundles so I could spin up a VM and automatically install Pi, OpenCode, etc, etc.

Finally decided to turn it into an open source platform. It's pretty cool because a) it's easy to use; b) there's an MCP so servers can be managed outside of the UI; c) it's modular and the repo comes with skills to create new tool bundles or add other cloud providers.

Claude Code, Codex, Cursor, etc all offer their own cloud-based infrastructure but they have to be controlled somewhere. This makes it so my controlling agent doesn't have to live on my laptop.

sergey_v 1 week ago

'docker compose up --build' gave me this error on Windows 11:

16.04 packages/core build: node:fs:1073 16.04 packages/core build: binding.rename( 16.04 packages/core build: ^ 16.04 packages/core build: Error: EXDEV: cross-device link not permitted, rename '/app/packages/core/packs' -> '/app/packages/core/packs.prev' 16.04 packages/core build: at renameSync (node:fs:1073:11) 16.04 packages/core build: at file:///app/scripts/sync-packs-bundle.mjs:62:25 16.04 packages/core build: at ModuleJob.run (node:internal/modules/esm/module_job:561:25) 16.04 packages/core build: at async node:internal/modules/esm/loader:647:26 16.04 packages/core build: at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5) { 16.04 packages/core build: errno: -18, 16.04 packages/core build: code: 'EXDEV', 16.04 packages/core build: syscall: 'rename', 16.04 packages/core build: path: '/app/packages/core/packs', 16.05 packages/core build: dest: '/app/packages/core/packs.prev' 16.05 packages/core build: }

Nice idea, but over engineered by AI agents IMO. Self-hosting is a 40-page document - not user friendly at all.

  • jbdamask 1 week ago

    Appreciate you trying it and commenting. And I'm sorry that you hit this bug on first contact. My goal is to have a dead-simple UX, not waste your time trying to get it working. Heck, the whole point of Rocky Surf is convenience.

    I've filed this as a bug.

    Per your comment about the documentation - I agree that the docs aren't great for humans. In fact, they're meant to be read by agents, not humans. But I don't make this clear anywhere.

    During this build, my development agents were instructed to be verbose with documentation. I find that this improves code quality and architectural consistency across multiple agent sessions - Rocky Surf was built over hundreds of agent sessions. The trade-off is that there's too much for humans to read.

    As I got closer to release, I read, edited, and pruned a considerable amount of verbiage, but stopped short of making concise docs a release requirement. But the fact that you noticed that a particular doc was 40 pages tells me that I didn't value your time as much as I should have. Duly noted.

    Development and new releases will continue since I use Rocky Surf all the time. In fact, I recently found that it pairs nicely with Herdr https://x.com/jbdamask/status/2099110104037494963?s=20

    Thanks again for trying it and commenting. You didn't have to give me feedback but you did, and that's really nice.