Changed file extensions determine the requested targets.
| Changed files | Requested targets |
|---|---|
.py, .pyi, .ts, .tsx, .mts, .cts, .js, .jsx, .mjs, .cjs, .rs, .go, .c, .h, .cc, .cpp, .cxx, .hh, .hpp, .hxx, .java, .kt, .kts, .rb, .swift |
check-fmt, lint, typecheck |
.md, .mdx, .markdown |
markdownlint, nixie |
Table 1: File categories and requested quality targets.
Before running targets, the hook enumerates the selected driver's available targets:
- Make targets are parsed directly from the repository
Makefileby matching named targets with^[a-zA-Z0-9_-]+:. - Netsuke targets are parsed from
netsuke manifest -.
Requested targets that are absent from the selected driver are skipped. This allows small repositories to implement only the quality surface they actually support.
Code targets and Markdown targets are run as separate command groups. For example, Python and Markdown changes in a Make repository can run:
make --no-print-directory check-fmt lint typecheck
make --no-print-directory markdownlint nixie
With Netsuke selected, equivalent targets run through:
netsuke build check-fmt lint typecheck
netsuke build markdownlint nixie