ProjectsSystems, network & algorithms
SpinUp
A web stack in one commandongoing
- Period
- Oct 2025 – present
- Context
- personal
- Team
- solo
- Go
- Vue.js
- Docker
- DevOps
- System administration
- CLI
- Web
A command-line tool that sets up a complete web project in a single command: it reads a configuration, fetches the chosen front-end and back-end templates, and installs them side by side.
spin create does: read the configuration, resolve the templates, then clone them in parallel.Usage
Three commands: spin init creates the default configuration in ~/.config/spinup/, spin create my-app creates the project, and spin reset resets the configuration. The configuration is a YAML file that lists template repositories and the defaults (front-end, back-end, project name).
Under the hood
A template’s address is built from the remote repository and the framework name. Values can come from environment variables, with a default (${GITHUB_TOKEN:…}), which also allows private repositories.
The front-end and back-end are cloned in parallel, thanks to Go’s goroutines. Commands are built on the Cobra library.
Why
I started it to learn Go, on a real need: I was wasting time rebuilding the same base for every new project.
What I took away
- Go makes concurrency easy to write, and therefore easy to misuse: you still have to wait properly.
- A good CLI tool fits in a few well-named commands.