Gitlab

auto-mr: one command from feature branch to merged PR

A Go CLI that pushes your branch, opens an MR/PR, waits for CI, and merges — works on both GitLab and GitHub

I push a feature branch a dozen times a week. Every single time, the dance is the same: git push, switch to the browser, click the “Create MR” button, set assignee, set reviewer, add labels, wait for CI, click merge, switch back to terminal, git checkout main, git pull, git branch -d feature/.... It’s not hard. It’s just tedious — and the kind of friction that adds up over a week.

I had a shell script glued together with glab, gh, jq, yq, and gum doing this for years. It worked, but it broke whenever any of those tools updated and was a pain to ship to a fresh laptop. So I rewrote the whole thing in Go and called it auto-mr. One binary, no external CLIs, works on both GitLab and GitHub.

Tools golang gitlab github

cartographer-mcp: give Claude Code a map of your GitLab architecture

An MCP server that crawls GitLab groups to build a service catalog with dependency graphs, queryable from Claude Code

Every Claude Code session that involves more than one repo starts with the same monologue: “we have a payment service that calls user-service via REST, which publishes events that notification-service consumes, and oh by the way the platform team owns auth-service…” By the time I’ve finished the briefing, I’ve burned tokens and patience.

cartographer-mcp is my attempt at fixing that. It crawls your GitLab organization, builds a service catalog with a dependency graph, and exposes it as MCP tools so Claude Code already knows the shape of your architecture.

Tools AI gitlab mcp claude-code

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.

Tools AI gitlab mcp claude-code

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.

Tools gitlab security cli

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.

Tools golang gitlab ci