Namespace ProjGraph.Lib.Core.Abstractions
Classes
- DiagramOptions
Represents options for rendering a diagram.
- ErdOwnedModeParser
Parses the
--owned-mode(CLI) /ownedMode(MCP) string option into an ErdOwnedMode. Both surfaces call this single helper so the recognized values and their mapping cannot drift apart — the CLI validates and converts through it, and the MCP tool must too, rather than silently defaulting any unrecognized string to MirrorEf, which gives an LLM caller a plausible-but-wrong result with no signal that its input was never applied.
- FilePathGuard
Provides common file path validation methods.
- MermaidFenceHelper
Shared helper for wrapping Mermaid diagram output in a Markdown code fence and rendering the optional YAML front-matter title block.
- NullOutputConsole
A no-op implementation of IOutputConsole that discards all output. Useful in contexts where console output is not needed, such as MCP servers (where stdout is reserved for JSON-RPC transport) or unit tests.
Interfaces
- ICompilationFactory
Defines a contract for creating Roslyn compilations.
- IDiagramRenderer<TModel>
Defines a contract for rendering models into a diagram string.
- IFileSystem
Provides an abstraction for file system operations to improve testability.
- IOutputConsole
Provides an abstraction for console output to improve testability and decouple from Spectre.Console.
- IProjectDiscoveryService
Service responsible for discovering projects and resolving paths within a solution.
- IProjectParser
Defines a contract for parsing project files and extracting project details and references.
- ISlnParser
Specific interface for .sln solution parser.
- ISlnxParser
Specific interface for .slnx solution parser.
- ISolutionParser
Defines a contract for parsing solution files and extracting project paths.
Enums
- ErdOwnedMode
Controls how EF Core owned types (
OwnsOne/OwnsMany) appear in a rendered ERD.