Golang

Bootstrap Go Projects with gonew

Use the official gonew tool to scaffold new Go projects from a template repository — and a real-world example with template-api

Every Go service I start tends to need the same plumbing: a cmd/ entry point, a Dockerfile, a Taskfile, golangci-lint config, CI workflows, a release pipeline. Copy-pasting from the previous project works, but it gets stale fast. gonew — the official Go scaffolding tool — turns any module into a reusable starting point.

Golang golang tooling scaffolding

bullets: a colorful, goreleaser-style logger for Go CLIs

A small Go logging library focused on beautiful terminal output — bullets, spinners, progress, and updatable lines — without dragging in a heavy framework.

I love how goreleaser looks when it runs. Tidy bullets, indented sub-steps, the right amount of color, occasional spinners. Every time I write a Go CLI of my own, I want that aesthetic — and I don’t want to pull in a 100-dependency logging framework to get it. So I wrote bullets.

Tools golang cli logging

calcdate: date arithmetic that doesn't make you cry

A Go CLI for date math, range generation, and timezone conversion with a readable expression syntax

Every shell scripter has, at some point, googled “date subtract day mac” or “GNU date macOS BSD difference” and wished they hadn’t. The date command is one of the most platform-fragmented tools in any Unix toolbox: GNU date and BSD date disagree on basically every flag that matters. And once you’ve worked out the syntax for “yesterday,” you still need to do something useful with it — like generate a range of timestamps for a backfill, or compute end-of-month, or skip weekends.

I got tired of this. So I wrote calcdate. Same binary on Linux, macOS, anywhere. One expression syntax. Version 2 just landed and the syntax is now genuinely pleasant to use.

Tools golang cli shell

claude-plugins: a personal Claude Code marketplace for DevOps and Go

A curated set of Claude Code plugins — agents, commands, and skills — covering DevOps, software engineering, and modern Go development.

Once you start using Claude Code seriously, you accumulate prompts. A snippet that always produces the right golangci.yml. A spell that turns “I need a GitLab CI pipeline” into a working .gitlab-ci.yml. A code-review checklist you keep pasting in. After enough copy-paste, the obvious move is to package those into proper Claude Code plugins. That’s what claude-plugins is.

Tools AI claude-code ai devops

gini: a no-fuss CLI for editing INI files

A small Go utility to read, write and delete keys in INI files from shell scripts

INI files refuse to die. Samba, PHP, Git, MySQL, half of /etc — they’re everywhere, and editing them from a shell script is annoying enough that people reach for sed, regret it, and then write a much worse bug. gini is the tiny tool I wrote so I could stop doing that.

Tools golang ini cli