Tools
gh-action-badge: generate SVG badges hosted in your repo's wiki
A pair of GitHub Actions that produce coverage and fixed-color SVG badges, stored in the repository wiki — no third-party badge service required.
Every README I write ends up sprouting badges. Build status, lint status, version, coverage. Most of those are easy because they come for free from a service — Shields.io, Codecov, the GitHub Actions badge endpoint. The annoying one is always coverage, because it requires either a third-party service or a separate pipeline that publishes the number somewhere. So I built gh-action-badge to host the badge SVGs in the one place I always have available: the repo’s own wiki.
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.
gitlab-mcp: drive GitLab from Claude Code without leaving the terminal
An MCP server that exposes GitLab issues, labels, epics, and CI/CD pipelines as tools Claude Code can call directly
I spend a lot of time in Claude Code, and a lot of time in GitLab. The constant tab-switching between the two — copy an issue ID, paste it into a prompt, jump back to read a job log, paste that too — got tiresome. So I wrote gitlab-mcp, a Model Context Protocol server that lets Claude Code talk to GitLab directly.
gitlab-token-expiration: stop getting surprised by expiring GitLab tokens
A CLI that lists every expirable token across your GitLab projects, groups, and personal account so you can plan rotations
GitLab access tokens expire. Project tokens, group tokens, personal access tokens — all of them. The trouble is that the expiration dates live in different corners of the UI, and you usually find out one expired the morning a CI pipeline mysteriously starts failing.
gitlab-token-expiration is the small tool I wrote to never have that morning again.
gobadger: SVG badges for private GitLab repositories
A small Go CLI that generates SVG badges as artifacts, designed for private GitLab projects where shields.io can't reach
You know the colourful little badges on the top of every README — coverage, build status, version, all of that? Most of them come from shields.io, which works beautifully when your repo is public. The moment your project is private and lives on a self-hosted GitLab, those services can’t reach in. gobadger is the tool I wrote to solve that.