Zum Inhalt

Referenzen

Informationsorientierte Dokumentation. Nutze diesen Abschnitt, um den Vertrag jedes Hooks und die Portfolio-Konventionen des Repositories nachzuschlagen.

Hook-Referenzen

Eine Seite pro Hook unter hooks/. Jede Seite folgt demselben Schema (kurzes Intro, Voraussetzungen, Argumente, Verhalten, Beispiel, Fehlerbehebung).

  • guard-primary-checkout: blockiert Commits im primären Checkout, während dieser auf einem Feature-Branch sitzt.

Gemeinsamer Vertrag

Diese Regeln gelten für jeden Hook der Sammlung. Die Hook-Seiten wiederholen sie nicht, sondern verweisen auf diesen Abschnitt.

Remote eingebunden, per Tag gepinnt

Hooks werden über den Standard-repos:-Mechanismus von pre-commit eingebunden. Das rev-Feld ist der einzige Pin-Punkt:

repos:
  - repo: https://github.com/nolte/pre-commit-hooks
    rev: v1.0.0
    hooks:
      - id: guard-primary-checkout

Pinne auf einen released Tag für deterministisches Verhalten. Renovate hebt das rev in der Config des Konsumenten wie jede andere Abhängigkeit an.

Fail-open in der Automatisierung

Jeder Hook bricht mit erlauben ab, wenn die Umgebungsvariable CI gesetzt ist. CI checkt den Branch als detached HEAD in einem einfachen Clone aus, was von einem primären Checkout auf einem Feature-Branch nicht zu unterscheiden ist; die Hooks zielen auf den lokalen Commit einer Entwicklerin, nicht auf den CI-Lint-Job.

Primärer Checkout versus linked Worktree

Hooks, die das parallele Working-Copies-Modell erzwingen, greifen nur im primären Checkout — erkennbar daran, dass das pro-Worktree-git-dir gleich dem geteilten git-common-dir ist. In einem linked Worktree ist Feature-Branch-Arbeit korrekt, also bleiben die Hooks still.

Konfiguration über args:

Veränderbare Eingaben werden über pre-commit-args: mit einem sinnvollen Default bereitgestellt. Jede Hook-Seite listet ihre Argumente in der Argumente-Tabelle.

Repository-Governance

  • Governance und Specs: Portfolio-Konventionen, wiederverwendbare Workflows, Dependency-Governance, Vale-Stack, Probot-Settings.

Quellen

  • .pre-commit-hooks.yaml (kanonisches Hook-Manifest)
  • hooks/<id>.sh (kanonische Hook-Scripts)
  • CLAUDE.md