Understand Desloppify Architecture and Layers
mainDesloppify is organized into a layered architecture where each layer can only import from lower-numbered layers. This prevents circular dependencies and maintains a clear separation between foundational infrastructure and language-specific logic.
- Layer 0:
base/: Foundational infrastructure (path resolution, config, enums, output). - Layer 1:
engine/detectors/: Generic analysis algorithms with zero language imports. - Layer 2:
languages/_framework/: Shared contracts and helpers for normalizing results into tiered findings. - Layer 3:
languages/<name>/: Language-specific configuration, phases, extractors, detectors, and fixers. - Layer 4:
app/: CLI commands serving as thin entry points.