@@ -81,6 +81,7 @@ Each hook falls into one of four implementation categories:
8181| ` cargo-machete ` | Detect unused Rust dependencies | Toolchain wrapper (pinned) |
8282| ` cargo-deny ` | Check Rust dependency advisories and licenses | Toolchain wrapper (pinned) |
8383| ` rustdoc-lint ` | Check Rust documentation completeness (v1.1.0+) | Toolchain wrapper |
84+ | ` rust-max-lines ` | Fail when a Rust file exceeds a line-count ceiling (default 1000) | Built-in |
8485
8586### Python
8687
@@ -130,7 +131,7 @@ Each hook falls into one of four implementation categories:
130131| ` steep ` | Type-check Ruby projects | Toolchain wrapper |
131132| ` yard-coverage ` | Check Ruby YARD documentation coverage (v1.1.0+) | Toolchain wrapper |
132133
133- ### C#
134+ ### C\ #
134135
135136| Hook | Purpose | Category |
136137| ---| ---| ---|
@@ -276,12 +277,14 @@ All doc hooks are opt-in — they complement linting/formatting hooks but are mo
276277Use this table to copy-paste a language block into your ` .pre-commit-config.yaml ` :
277278
278279** Shell:**
280+
279281``` yaml
280282- id : shfmt
281283- id : shellcheck
282284` ` `
283285
284286**Rust:**
287+
285288` ` ` yaml
286289- id : cargo-fmt
287290- id : cargo-check
@@ -290,15 +293,18 @@ Use this table to copy-paste a language block into your `.pre-commit-config.yaml
290293- id : cargo-machete
291294- id : cargo-deny
292295- id : rustdoc-lint
296+ - id : rust-max-lines
293297` ` `
294298
295299**Python:**
300+
296301` ` ` yaml
297302- id : mypy
298303- id : pydocstyle
299304` ` `
300305
301306**Go:**
307+
302308` ` ` yaml
303309- id : go-fmt
304310- id : golangci-lint
@@ -307,18 +313,21 @@ Use this table to copy-paste a language block into your `.pre-commit-config.yaml
307313` ` `
308314
309315**TypeScript:**
316+
310317` ` ` yaml
311318- id : tsc-typecheck
312319- id : tsdoc-lint
313320` ` `
314321
315322**JavaScript/TypeScript (formatting):**
323+
316324` ` ` yaml
317325- id : oxlint
318326- id : oxfmt
319327` ` `
320328
321329**Java:**
330+
322331` ` ` yaml
323332- id : palantir-java-format
324333- id : checkstyle
@@ -328,6 +337,7 @@ Use this table to copy-paste a language block into your `.pre-commit-config.yaml
328337` ` `
329338
330339**Kotlin:**
340+
331341` ` ` yaml
332342- id : ktfmt
333343- id : detekt
@@ -336,6 +346,7 @@ Use this table to copy-paste a language block into your `.pre-commit-config.yaml
336346` ` `
337347
338348**Ruby:**
349+
339350` ` ` yaml
340351- id : rubocop
341352- id : rubocop-lint
@@ -344,27 +355,31 @@ Use this table to copy-paste a language block into your `.pre-commit-config.yaml
344355` ` `
345356
346357**C#:**
358+
347359` ` ` yaml
348360- id : dotnet-format
349361- id : dotnet-format-check
350362- id : cs-xmldoc-lint
351363` ` `
352364
353365**PHP:**
366+
354367` ` ` yaml
355368- id : php-cs-fixer
356369- id : phpstan
357370- id : phpdoc-lint
358371` ` `
359372
360373**Elixir:**
374+
361375` ` ` yaml
362376- id : mix-format
363377- id : mix-credo
364378- id : ex-doc-coverage
365379` ` `
366380
367381**R:**
382+
368383` ` ` yaml
369384- id : air-format
370385- id : air-check
@@ -373,58 +388,67 @@ Use this table to copy-paste a language block into your `.pre-commit-config.yaml
373388` ` `
374389
375390**Swift:**
391+
376392` ` ` yaml
377393- id : swift-format
378394- id : swiftlint
379395- id : swift-doc-coverage
380396` ` `
381397
382398**Dart:**
399+
383400` ` ` yaml
384401- id : dart-format
385402- id : dart-analyze
386403- id : dart-doc-lint
387404` ` `
388405
389406**Zig:**
407+
390408` ` ` yaml
391409- id : zig-fmt
392410- id : zig-build-check
393411- id : zig-doc-lint
394412` ` `
395413
396414**Gleam:**
415+
397416` ` ` yaml
398417- id : gleam-format
399418- id : gleam-check
400419` ` `
401420
402421**C/C++:**
422+
403423` ` ` yaml
404424- id : clang-format
405425- id : clang-tidy
406426- id : cppcheck
407427` ` `
408428
409429**Docker:**
430+
410431` ` ` yaml
411432- id : hadolint
412433` ` `
413434
414435**Helm/Kubernetes:**
436+
415437` ` ` yaml
416438- id : helm-lint
417439- id : kubeconform
418440` ` `
419441
420442**Markdown:**
443+
421444` ` ` yaml
422445- id : rumdl-fmt
423446- id : markdownlint-rumdl-strict
424447- id : textlint
425448` ` `
426449
427450**Polyglot (Alef):**
451+
428452` ` ` yaml
429453- id : alef-docs-fresh
430454` ` `
@@ -454,7 +478,7 @@ CI tests against `ubuntu-latest`, `macos-latest`, `windows-latest` × Python 3.1
454478
455479# # Cache layout
456480
457- ```
481+ ` ` ` text
458482${KREUZBERG_HOOKS_CACHE:-$HOME/.cache/kreuzberg-pre-commit-hooks}/<tool>/<version>/<arch>/
459483` ` `
460484
0 commit comments