A public repo with a five-stage pipeline — lint, test, SAST, build, deploy — running against a minimal static site and shipping to GitLab Pages. I built it to learn the product properly, not from the docs, but from inside it.
A working GitLab CI/CD pipeline. Every commit to this repo triggers linting, tests, a security scan, and a deploy to GitLab Pages. The repo you can see in GitLab is the one that built the page you're reading now.
I wanted to get hands on with GitLab and really get inside the product. So I built something real with it and debugged it when it broke.
With Claude Code. I described what I wanted. Claude scaffolded the .gitlab-ci.yml. The first pipeline failed immediately. A unicode character in a YAML comment broke the whole config before a single stage ran.
There were 8 or 9 commits of debugging: the HTML linter got swapped twice before I found one that worked, the lint stage threw warnings for most of the build history, and a handful of fixes were for things I'd broken while fixing something else.
Being able to write this feels like the point — that I understood it well enough to fix it when it didn't work.
I'm not an engineer. But I can read a pipeline, spot where it's failing, and have a credible conversation with a customer about theirs. For GitLab that's a prerequisite. I won't pretend I have extensive depth I don't have, but I won't undersell what I do understand either.
Whether you're from GitLab or just curious — I'm easy to reach.