naked-functions
Too many loose functions - consider grouping into a class or service.
Applies to: JavaScript, TypeScript
Why this matters
Files with many standalone functions become hard to navigate and maintain. Related functions should be grouped into classes or services that provide: clear responsibility boundaries, shared state/configuration, easier testing, and better discoverability. A BookingService class is clearer than 10 loose booking functions scattered in a file.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, STRUCT012 includedstablestack explain STRUCT012STRUCT012 is part of the Pro rule set. See pricing — the free tier ships 24 checks with no signup.
False positive in your codebase? Suppress a single line with # noqa: STRUCT012
More Code Structure checks
multiple-classes-per-file
Multiple classes defined in a single file.
STRUCT003imports-in-function
Import statement inside a function instead of at module level.
STRUCT004sys-path-manipulation
Direct sys.path manipulation detected.
STRUCT005relative-imports
Relative import used instead of absolute import.
STRUCT006hasattr-getattr-pattern
Using hasattr/getattr for attribute access instead of proper typing.
STRUCT009class-filename-mismatch
Class name doesn't match filename convention.
STRUCT010mixed-frontend-backend
Frontend and backend code should be clearly separated
STRUCT011duplicate-modules
Duplicate files exist in multiple locations - likely from incomplete migration or copy-paste.