Skip to content

File name quality

Filenames containing spaces or invisible characters break every shell pipeline that forgot to quote $f.

Gate ID
filename_quality
Severity
info
Scope
Tracked files (git ls-files)
Tags
git-hygienequality

What it checks

Surfaces tracked filenames containing spaces, control chars, or non-ASCII characters — these break unquoted shell pipelines and CI scripts.

Reported categories:

CategoryWhat it means
spacesThe name contains a space or tab
control charsC0/C1 control characters, or DEL
bidi override charsUnicode bidirectional overrides — the Trojan Source class
zero-width charsZero-width and other invisible code points

Bidi and zero-width characters are worth more than a style note: a filename can render as something other than what it is.

What a finding says

text
docs/my report.md has spaces. Tools and shell pipelines that don't quote argv or use IFS=$'\n' break on these. Rename if you can.

Turning it off

Silence the gate for the whole project in .l0git.json:

json
{
  "ignore": ["filename_quality"]
}

Or keep it running at a lower severity:

json
{
  "severity": { "filename_quality": "info" }
}

Released under the MIT License. · Privacy & legal