mixed-frontend-backend
Frontend and backend code should be clearly separated
Applies to: Project-level
Why this matters
Mixing frontend and backend code in the same directories makes it harder to understand, test, and deploy your application. Clear separation enables: independent scaling, different deployment strategies, easier onboarding, and cleaner dependency management. Consider organizing into client/server or frontend/backend directories.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, STRUCT010 includedstablestack explain STRUCT010STRUCT010 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: STRUCT010
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.
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.