internal/

directory
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2025 License: MIT

README

internal

⬆️ Parent Directory

Overview

The internal directory contains all internal implementation packages for structurelint. These packages are not intended for external import and implement the core functionality of the linter.

Package Architecture

This directory follows Go's internal package convention - code here is only importable by packages within the structurelint project.

Subdirectories

Directory Purpose
config/ Configuration loading and merging
graph/ Import graph analysis and layer validation
linter/ Main linter orchestration
parser/ Source code parsing for imports/exports
rules/ Rule implementations
walker/ Filesystem traversal and analysis

Design Principles

  • Separation of Concerns: Each package has a single, well-defined responsibility
  • Testability: All packages are designed with testability in mind
  • No Circular Dependencies: Package dependencies flow in one direction (walker → parser → graph → rules → linter)

Directories

Path Synopsis
Package autofix provides automatic fixing capabilities for structurelint violations
Package autofix provides automatic fixing capabilities for structurelint violations
clones
analysis
Package analysis provides graph analysis utilities
Package analysis provides graph analysis utilities
export
Package export provides graph visualization and export functionality
Package export provides graph visualization and export functionality
Package init provides auto-configuration functionality for structurelint.
Package init provides auto-configuration functionality for structurelint.
Package metrics provides evidence-based software quality metrics based on systematic literature reviews and empirical studies.
Package metrics provides evidence-based software quality metrics based on systematic literature reviews and empirical studies.
@structurelint:ignore test-adjacency Output formatters are integration-tested through CLI
@structurelint:ignore test-adjacency Output formatters are integration-tested through CLI
Package parser provides functionality for parsing source code exports.
Package parser provides functionality for parsing source code exports.
treesitter
Package treesitter provides tree-sitter based parsing for multiple languages
Package treesitter provides tree-sitter based parsing for multiple languages
Package plugin provides interfaces and clients for optional plugins
Package plugin provides interfaces and clients for optional plugins
Package rules provides rule implementations for structurelint.
Package rules provides rule implementations for structurelint.
predicate
Package predicate provides a DSL for composing rule predicates
Package predicate provides a DSL for composing rule predicates

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL