Clab

Revisore MR GitLab self-hosted: lint deterministico più commenti inline

di mberneti · mberneti/clab

Richiede configurazione ★ 8.0/10

Clab — Revisore MR GitLab self-hosted: lint deterministico più commenti inline

Cosa fa

Una coppia di comandi Claude Code supportata da binari Go che revisiona le merge request di GitLab self-hosted: recupera il diff della MR, esegue regole lint basate su regex (segreti, codice morto, TODO, file sovradimensionati), aggiunge un passaggio semantico e pubblica commenti inline. Un secondo comando estrae da MR passate per sintetizzare regole di revisione specifiche del progetto. Si attiva su richieste di revisionare una MR di GitLab o generare regole di revisione dalla cronologia delle MR.

Rapporto di test

Compilato il binario Go lint da sorgente e l'ho eseguito su un diff creato ad arte: ha correttamente rilevato una chiave API sk_live_ hardcoded (critica), un blocco di 5 righe commentato (maggiore, codice morto) e un TODO senza ticket (minore), tutto come JSON strutturato. Questo pre-pass deterministico funziona, ma il valore end-to-end non può essere misurato qui: fetch-diff e post-comments richiedono un host GitLab self-hosted attivo più un token glpat, e il passo di revisione semantica è solo Claude che legge il diff senza un harness speciale. I binari richiedono anche un'installazione curl-pipe-bash (la release v1.1.0 esiste); la documentazione dei comandi corrisponde esattamente al comportamento del binario e avverte onestamente di non commettere mai il file env del token.

Testato il: 2026-07-24 · Claude Code 2.x (agent harness)

Installazione

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/

Comandi e prompt di esempio

  • /clabRevisore MR GitLab self-hosted: lint deterministico più commenti inline

Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):

  • 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