I've been learning Go since May of this year. I come from a “container-first” culture and mindset because I didn't want anything on my host. I wanted everything to run inside containers.
The problem was starting new projects… Dockerfiles, Compose, volumes. It got to the point where setting up that structure took longer than the idea I actually wanted to test.
I thought, “Why isn’t there something like Laravel Sail, but for Go?” So I decided to create it myself :P
Say hello to Keim: a CLI that sets up a reproducible and isolated Go development environment in Docker. It generates a fully dockerized environment ready to run, with Go version detection, cache management in Docker volumes, support for Dev Containers if you use them, and non-destructive validation to ensure nothing is overwritten if files already exist in the directory.
The irony of the project is that Keim compiles and develops itself using its own Docker-generated environment. Ultimately, it’s a tool I built for my own daily workflow, but if it helps anyone else experiment with Go without messing up their operating system or if they simply prefer to work 100% in containers I’d be thrilled.
https://github.com/Petox03/Keim
GitHubGitHub - Petox03/Keim: lightweight and idiomatic CLI that creates projects container-first in Golanglightweight and idiomatic CLI that creates projects container-first in Golang - Petox03/Keim
commit 4a981b2
That's super cool!
I definitely believe that we should aim to do as much as possible in containers. It's just cleaner, safer, more predictible and portable. I don't do much with Go just yet, but starred it, in case I need it in the future :)
Inspired by @Petox03's post, a couple months ago, I built @madinco/smith. It's a small CLI helper, greatly inspired by laravel/artisan, but this time on JS-land.
The idea behind it is to be able to build small commands in JS projects (or directly on your machine) to encapsulate…
GitHubGitHub - madincohq/smithContribute to madincohq/smith development by creating an account on GitHub.