Package org.egothor.methodatlas.command
Each class in this package encapsulates one logical CLI mode and implements
the Command interface. The thin
routing layer in MethodAtlasApp.run(java.lang.String[], java.io.PrintWriter) selects
the appropriate command based on the parsed command-line flags and delegates
to it via Command.execute(java.io.PrintWriter).
Command handlers
DiffCommand—-diffScanCommand— CSV / plain-text output (default mode)SarifCommand—-sarifGitHubAnnotationsCommand—-github-annotationsApplyTagsCommand—-apply-tagsApplyTagsFromCsvCommand—-apply-tags-from-csvManualPrepareCommand—-manual-prepare
Shared infrastructure
The shared infrastructure that the commands compose is decomposed into a small set of focused collaborators:
PluginLoader— resolvesTestDiscoveryandSourcePatcherproviders viaServiceLoaderand validates plugin-ID uniqueness.OverrideLoader— loads classification override YAML files intoClassificationOverrideinstances.ContentHasher— produces SHA-256 class fingerprints and forward-slashed scan-root file prefixes; pure static helpers.AiRuntimeBuilder— builds the per-run AI engine, the result cache, and resolves taxonomy metadata.ScanOrchestrator— owns the scan-and-emit loop and the apply-tags helpers (collectMethodsByFile,gatherAiSuggestionsForFile,filterSink). Constructed once per CLI run with an injectedPluginLoader.
Access conventions
All classes in this package are declared public so that the routing
layer in MethodAtlasApp can instantiate
them. They are nonetheless considered internal implementation details:
callers outside this package should not depend on specific command classes;
they should interact only with the
Command interface.
-
ClassDescriptionBundle of AI infrastructure that is constant for the duration of a scan run.Constructs the per-run AI infrastructure: the suggestion engine, the result cache, and the human-readable taxonomy descriptor.CLI command handler for the
-apply-tagsmode.CLI command handler for the-apply-tags-from-csvmode.A self-contained CLI command handler.Pure utility helpers for content fingerprints and scan-root path prefixes.CLI command handler for the-diffmode.CLI command handler for the-github-annotationsoutput mode.CLI command handler for the-jsonoutput mode.CLI command handler for the-manual-preparemode.Loads classification override files intoClassificationOverrideinstances.Resolves and configures discovery plugins viaServiceLoader.CLI command handler for the-sarifoutput mode.CLI command handler for the default CSV and-plainoutput modes.Orchestrates the scan-and-emit loop that every command mode is built around.