Clab

Self-hosted GitLab MR Reviewer: deterministisches Linting plus Inline-Kommentare

von mberneti · mberneti/clab

Funktioniert mit Setup ★ 8.0/10

Clab — Self-hosted GitLab MR Reviewer: deterministisches Linting plus Inline-Kommentare

Was es kann

Ein Claude Code Befehlspaar, das von Go-Binärdateien unterstützt wird und selbst gehostete GitLab Merge Requests überprüft: Es ruft den MR diff ab, führt regex lint rules (secrets, dead code, TODOs, oversized files) aus, fügt einen semantic pass hinzu und postet inline comments. Ein zweiter Befehl extrahiert vergangene MRs, um projektspezifische review rules zu synthetisieren. Wird bei Anfragen zur Überprüfung eines GitLab MR oder zur Generierung von review rules aus MR history ausgelöst.

Testbericht

Die Go-Lint-Binärdatei wurde aus dem Quellcode erstellt und auf einem speziell angefertigten diff ausgeführt: Sie erkannte korrekt einen hartcodierten sk_live_ API key (critical), einen 5-zeiligen commented-out block (major, dead-code) und ein ticketless TODO (minor), alles als structured JSON. Dieser deterministic pre-pass funktioniert, aber der end-to-end value kann hier nicht gemessen werden: fetch-diff und post-comments benötigen einen live self-hosted GitLab host plus ein glpat token, und der semantic-review step ist lediglich Claude, der den diff ohne special harness liest. Binärdateien erfordern auch eine curl-pipe-bash install (release v1.1.0 exists); die command docs stimmen genau mit dem binary behavior überein und warnen ehrlich davor, die token env file niemals zu committen.

Getestet am: 2026-07-24 · Claude Code 2.x (agent harness)

Installation

git clone https://github.com/mberneti/clab
mkdir -p ~/.claude/skills/clab
cd clab && cp SKILL.md ~/.claude/skills/clab/ && cp -r commands ~/.claude/skills/clab/

Befehle & Beispiel-Prompts

  • /clabSelf-hosted GitLab MR Reviewer: deterministisches Linting plus Inline-Kommentare

Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):

  • Review this GitLab merge request and post inline comments
  • Run the lint pass on our self-hosted GitLab MR for secrets
  • Mine past MRs to generate project-specific review rules