no_illegal_windows_names
Reject path components Windows can’t represent:
- Reserved device names (
CON,PRN,AUX,NUL,COM1–COM9,LPT1–LPT9) — case-insensitive, regardless of extension.con.txtfails;COM10andconfusedcorrectly pass. - Trailing dots (
foo.) or trailing spaces (foo) — Windows silently strips these on checkout. - Reserved chars:
<,>,:,",|,?,*.
- id: portable-names kind: no_illegal_windows_names paths: "**" level: warning