I built a CLI to use devcontainers without VS Code
I built a CLI to use devcontainers without VS Code
Hey HN, author here. I built Container-Make (cm) because I was tired of maintaining both a Makefile (for terminal users) and a .devcontainer folder (for VS Code users) in my projects. I wanted devcontainer.json to be the single source of truth, but I didn't want to be forced to use VS Code. The Problem: Running dev containers from the CLI manually is painful. You have to handle docker run flags, volume mounts, port forwarding, and worst of all—file permissions on Linux. How cm solves it: It parses your standard devcontainer.json and spins up ephemeral containers to run commands. It acts like make, but everything runs inside the container defined by your config. Technical Details (for the curious): Language: Written in Go (1.25+) using the official Docker SDK. Permission Handling: This was the hardest part. I implemented a dynamic entrypoint script that checks the uid/gid of your workspace and creates a matching user inside the container on-the-fly using adduser/su-exec. This solves the "files owned by root" issue on Linux host mounts. TTY & Signals: It puts the terminal in raw mode and forwards signals (SIGINT/SIGTERM) correctly, so interactive tools like htop or vim work seamlessly. Performance: It leverages Docker BuildKit for caching. Current Status: It supports image, build.dockerfile, forwardPorts, postCreateCommand hooks, and environment variables. "Features" support is currently being worked on. Repo: https://github.com/UPwith-me/Container-Maker.git I’d love to hear your feedback on the implementation, specifically around the signal handling logic!
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
Use VS Code to Check in with Yourself
I made a VS Code extension where you can use Mixtral 8x7B for free
Build your own Vim emulation for VS Code
Seconds to in-cluster microservices mocks in VS Code
Sourcegraph Code Search for VS Code
I am fixing VS Code search
Verilog HDL support for VS Code
Visual Debugging in VS Code
Your VS Code workspace
Typewriter, my first VS Code extension