Expand description
no_submodules — flag the presence of a .gitmodules file at
the repo root.
Submodules introduce a second source of truth (the submodule’s
commit pointer) that drifts silently, complicates CI, and
surprises users who git clone without --recurse-submodules.
Many projects have adopted vendoring or package managers and
want to keep submodules banned forever.
This rule is intentionally not configurable by paths —
.gitmodules at the repo root is what actually enables git
submodules, and letting users override that would invite
footguns. For more general “file X must not exist” checks,
use file_absent instead.
Fixable via file_remove, which deletes .gitmodules. Note
this is the surface-level fix — the user still needs to run
git submodule deinit and clean up .git/modules/ themselves.