multiple-classes-per-file
Multiple classes defined in a single file.
Applies to: Python
Why this matters
Having multiple classes in one file makes code harder to find and maintain. Each class should live in its own file, named after the class. This makes imports clearer and helps AI assistants understand your codebase structure.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, STRUCT001 includedstablestack explain STRUCT001False positive in your codebase? Suppress a single line with # noqa: STRUCT001
More Code Structure checks
imports-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.
STRUCT012naked-functions
Too many loose functions - consider grouping into a class or service.