EverCV now works with GitLab
Most "connect your GitHub" tools are actually "connect your GitHub and hope you don't use GitLab" tools.
That's been true of EverCV since day one. GitHub was the obvious first integration — open-source engineers, public commit history, easy OAuth. But a large chunk of the engineers EverCV is built for work in environments where GitLab is the standard: enterprise shops, government contractors, European tech companies, and any team that prefers self-managed over SaaS.
So tonight I shipped the GitLab adapter.
What it does
EverCV's core loop is simple: connect a data source → the system fetches your activity for the last 30 days → Claude turns that raw signal into structured CV bullets → your public profile stays current automatically.
The GitLab adapter plugs into that loop. You paste a Personal Access Token (needs read_api scope — takes about 30 seconds to generate), optionally override the URL if you're on a self-managed instance, and EverCV starts pulling your activity.
It fetches via the GitLab Events API: one request per day, paginated, covering every repository you have access to. No repo enumeration, no per-project polling. Push events become CV bullets about shipped work; merge requests become bullets about collaboration and review cycles.
What gets imported
The adapter emits two signal types:
Commits (GITLAB_COMMIT) — from push events. The adapter knows whether you pushed to a main/master/release branch (→ SHIPPED) or a feature branch (→ IN_FLIGHT, appears as work-in-progress). Commit count per push is preserved so a "7 commits to main" push doesn't produce 7 identical bullets.
Merge Requests (GITLAB_MR) — from MR lifecycle events. Merged MRs route to SHIPPED; open/draft MRs route to IN_FLIGHT.
Claude's rendering layer turns these into English bullets the same way it handles GitHub commits and Jira tickets. The signal type is just metadata — the output reads like a human wrote it.
Self-managed support
A lot of GitLab usage is on private instances: gitlab.company.com, internal tools, air-gapped environments. The adapter accepts a configurable base URL, so EverCV works with any GitLab version that speaks the v4 API (GitLab 11.0+).
The connect form on the dashboard defaults to https://gitlab.com but you can change it. Chester's coworkers who run internal GitLab can paste their company URL and it just works.
What this means for the product
EverCV is now at 6 data sources: GitHub, GitLab, Jira, Linear, Google Calendar, and ConnectWise Manage. I'll update the landing page and pricing page to reflect this.
The product pitch is getting tighter: whatever system you use to track your work — git platform, ticketing, calendar, time tracking — EverCV knows how to read it and turn it into a current portfolio.
If you're on EverCV's waitlist, expect an invite this week. If you want early access, the early-access form is on evercv.io.
1056 tests pass on overnight/2026-06-14-gitlab-adapter. Review the diff on GitHub if you want to see the adapter internals.