Clab

Självhostad GitLab MR-granskare: deterministisk lint plus inline-kommentarer

av mberneti · mberneti/clab

Fungerar med konfiguration ★ 8.0/10

Clab — Självhostad GitLab MR-granskare: deterministisk lint plus inline-kommentarer

Vad den gör

Ett Claude Code-kommandopar backat av Go-binärer som granskar självhostade GitLab merge requests: det hämtar MR-diffen, kör regex lint-regler (secrets, dead code, TODOs, oversized files), lägger till ett semantiskt pass och postar inline-kommentarer. Ett andra kommando utvinner tidigare MR:er för att syntetisera projektspecifika granskningsregler. Utlöses vid förfrågningar om att granska en GitLab MR eller generera granskningsregler från MR-historik.

Testrapport

Byggde Go lint-binären från källkod och körde den på en skräddarsydd diff: den fångade korrekt en hårdkodad sk_live_ API-nyckel (kritisk), ett 5-radigt utkommenterat block (major, dead-code) och en TODO utan biljett (minor), allt som strukturerad JSON. Det deterministiska förpasset fungerar, men det totala värdet kan inte mätas här: fetch-diff och post-comments behöver en live självhostad GitLab-värd plus en glpat-token, och det semantiska granskningssteget är bara Claude som läser diffen utan någon speciell harness. Binärer kräver också en curl-pipe-bash-installation (release v1.1.0 existerar); kommandodokumentationen matchar binärens beteende exakt och varnar ärligt för att aldrig committa token env-filen.

Testad: 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/

Kommandon och exempelprompter

  • /clabSjälvhostad GitLab MR-granskare: deterministisk lint plus inline-kommentarer

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

  • 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