lightsoutAlpha

banned-folder-name

a folder named for the kind of code it holds (`helpers/`, `utils/` outside `common/`) instead of the domain it serves

Deterministic checkadvisory by defaultbasecode

The argument

Some folder names are junk drawers. A folder called helpers/, lib/, core/, misc/ or shared/ says nothing about what lives inside it — it is where code lands when nobody decided where it belongs, and every agent that follows dumps the next orphan there too. These five are banned at every level, common/ included.

Kind-buckets have one sanctioned home. utils/, types/ and constants/ are the mandated skeleton inside common/; the same names anywhere else mean files sorted by what they are instead of what they are for. Banned outside common/.

Framework vocabulary is not banned. components/, hooks/, services/, controllers/ and models/ are how React and NestJS projects are actually organised — they name real framework roles, not junk drawers, and they are legal everywhere without declaring a framework. The only privileged folder name at any level is common/.

The remedy: name the folder for the domain it serves (billing/, formatting/), or fold its files into the module that owns them.

The proof

failsrc/billing/helpers/formatAmount.ts
export const formatAmount = () => 1;
pass
export interface Invoice {
	id: string;
}

Turn it down

Both lines go in your lightsout.config.json.

"standards-checks": { "banned-folder-name": "advisory" }
"standards-checks": { "banned-folder-name": "off" }