good_intentions library

Architectural validation and PlantUML diagram generation powered by the Dart analyzer.

Classes

AnalyzerAdapter
Wraps the Dart analyzer to discover annotated classes in a package.
AnnotationInfo
The result of extracting an intention annotation from a class element.
ArchitectureReport
The result of analyzing a package's architecture.
ArchitectureValidator
Orchestrates architecture analysis, validation, and diagram generation.
ClassCollector
Collects all annotated classes from a package and its dependencies.
CollectionResult
The result of collecting annotated classes from a package.
DependencyExtractionResult
The result of extracting dependencies from a class element.
Logger
Minimal logger with consistent prefixed output.
PackageFileResolver
Resolves package files and tracked file paths for build hook dependencies.
PumlWriter
Generates a PlantUML class diagram from a DependencyGraph.
ValidationReporter
Runs architectural validation on a DependencyGraph and reports results.

Functions

isGeneratedDartFile(String path) bool
Whether path looks like a code-generated Dart file.
reportResults(ArchitectureReport report, Logger logger) → void
Writes validation results and untagged warnings to logger.

Typedefs

BuildRunner = Future<void> Function(List<String> args, Future<void> builder(BuildInput input, BuildOutputBuilder output))
Signature matching the build function from package:hooks.