Show HN: brig – a devcontainer CLI in Go

Hi, HN.

Elevator pitch: brig is a CLI for spinning up containers based on the devcontainers spec that validates configuration against said spec and aims to be an almost drop-in replacement for the official CLI tool.

The validation bit is really important to me personally; I want to keep on using the same devcontainer.json files my team is using, and I want any enhancements I can make to them still be usable in their VSCode environments.

---

I really like the idea behind devcontainers[1], and have pushed for my team to adopt them on pretty much all of our codebases. I also really like how they're nominally not married to VSCode (they're just containers with a few convenience features). For years I just relied on a simple shell script[2] to spin up a container based on the Containerfile/Dockerfile of the project.

It wasn't until recently that I began diving into the spec; when I did, I found pretty nifty features (e.g., lifecycle scripts) that would be kinda nice to have without having to add kludges to my little start-dev-container.sh script.

As an aside, it's been years since I've written anything more than shell and Python scripts (and even longer since I contributed anything to FLOSS). Since Go is pretty widely used in the tools I use (OpenTofu, Podman, Docker), I figured that's not a bad excuse to learn Go.

I put my interest in devcontainers and learning Go together, and here's the result.

While I wrote this for my own needs, I hope someone else would find utility in it.

[1]: https://containers.dev

[2]: https://github.com/nlsantos/brig/blob/38d4ae10557422c37af349...

URL: github.com
0 comments