Hey HN,<p>As most of you (I think?), I cannot learn something without having a project, on the side, to implement what I’ve just learned.<p>Recode is the project that I've used to learn Go. It lets you create a development environment in your cloud provider account easily.<p>You can think of it as a desktop version of Gitpod / Coder / GitHub Codespaces less polished and with less features but 100% free and open-source.<p>At the time of writing, it only works with Visual Studio Code and AWS.<p>In order to let you configure your development environments easily, I’ve chosen to use Docker with some Dockerfiles:<p><pre><code> - One for your user configuration.
- One for your project.
</code></pre>
The user configuration corresponds to the tools / settings that you use in all your projects like your timezone / locale, your preferred shell or your dotfiles.<p>The project configuration corresponds to the tools / settings that you use in a specific project like Go >= 1.18 and Node.js >= 14.<p>As you may have guessed, the project configuration inherits from the user one.<p>This project is 100% community-driven, meaning that except for bug fixes no more features will be added.<p>The only features that will be added are the ones that will be posted as an issue and that will receive a significant amount of upvotes (>= 10 currently).