Týž generátor s přepínačem --check: nic nezapíše, jen skončí nenulově, pokud katalog neodpovídá repozitáři nebo pokud by se commitnutý výstup lišil od toho, co z dat vzniká.
Kdy ho spustit
Před commitem a v buildu, kde běží PŘED generátorem — kdyby běžela za ním, porovnávala by výstup se sebou samým a nikdy by neselhala.
Co shodí běh
- G1 — npm skript v package.json (mimo npm lifecycle hooky) bez záznamu v data/tooling/, a záznam ukazující na skript, který v package.json není.
- G2 — adresář .claude/skills/
/ se souborem SKILL.md bez záznamu, a záznam ukazující na skill, který neexistuje. - G3 — recept v justfile bez záznamu, a záznam ukazující na recept, který v justfile není.
- G4 — identifier záznamu, který neodpovídá dvojici kind+name (slug ukazující na jiný příkaz, než jaký popisuje).
- G5 — deklarovaný sourceFile, který neexistuje, nebo který příkazová řádka npm skriptu vůbec nevolá.
- G6 — npm skript, který spouští soubor repozitáře jako svůj program, ale záznam sourceFile neuvádí.
- G7 — rozdíl mezi commitnutými stránkami / docs/TOOLING.md a tím, co by z dat vzniklo. Náprava:
npm run build:tooling-catalog.Co je potřeba vědět
- Gitignorovaný view model data/generated/tooling-catalog.json se do porovnání nezapočítává: v čerstvém klonu neexistuje a brána by hlásila zastaralost u souboru, který v repozitáři z principu nikdy neleží.
- Nový příkaz bez dokumentace shodí build. To je smysl brány — dokumentace toolingu nesmí zaostat za kódem.
Vstupy a výstupy
Čte
- data/tooling/*.json
- package.json
- justfile
- .claude/skills/*/SKILL.md
- content/dokumentace/prikazy/**
- docs/TOOLING.md
Popis vychází z hlavičkového komentáře zdrojového souboru. Volání, zařazení do pipeline i členství v pre-commit hooku se dopočítávají při každém buildu ze samotného repozitáře.