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.
[2]: https://github.com/nlsantos/brig/blob/38d4ae10557422c37af349...