Skip to content

Authored 300+ go‑task automation targets spanning native, Docker and HTTPS dev modes, linting, testing, database and deployment.

DevOps Engineer

Situation. NextMariner is a polyglot monorepo — Go, TypeScript, SQL, Python, shell — and every one of those brings its own way to build, test, lint and run. Left alone, that means everyone carrying a mental cheat‑sheet of tool‑specific commands, and newcomers spending their first day just working out how to make things go.

Task. Give the whole project one front door: a single, consistent way to run anything, whatever language it happens to be written in.

Action. That’s built out with go‑task — a Taskfile layer that’s grown to somewhere north of 340 named targets across fifteen or so namespaces. There are the development modes (native, Docker, an HTTPS variant for testing PWA and mobile), the code‑quality side (lint, format, test, fix across all the languages), database management, and the environment‑specific build and deploy tasks. There’s even a low‑memory mode for machines that can’t spare the RAM to build the frontend the usual way. The point was never to have a lot of tasks; it was that you never have to know the underlying command.

Result. Anyone can run task –list and see the whole toolchain laid out, and run any part of it the same way regardless of what’s under the hood. Onboarding got shorter, and the small, stupid mistakes — wrong flag, wrong directory, half‑remembered command — mostly went away. One memorable entry point instead of a dozen.