Table of Contents

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.