ProjGraph
.NET tool ecosystem for visualizing project dependencies, database schemas, and class hierarchies.
ProjGraph is a .NET tool ecosystem for visualizing project dependencies, database schemas, and class hierarchies. It provides both a CLI for manual analysis and an MCP server for AI-assisted exploration of your codebase architecture.
🚀 Quick Start
CLI Tool
Install and use the command-line tool for immediate visualization:
# Install
dotnet tool install -g ProjGraph.Cli
# Visualize project dependencies
projgraph visualize ./MySolution.slnx
# Generate Entity Relationship Diagram (from DbContext or ModelSnapshot)
projgraph erd ./Data/MyDbContext.cs
# Generate Class Diagram for a class and its hierarchy
projgraph classdiagram ./Models/User.cs
# Compute key solution metrics (project counts, depth, hotspots)
projgraph stats ./MySolution.slnx
MCP Server
Configure your MCP client (e.g., GitHub Copilot, Claude) with the following settings:
Find the latest version number on NuGet
{
"servers": {
"ProjGraph.Mcp": {
"type": "stdio",
"command": "dnx",
"args": ["ProjGraph.Mcp@x.x.x", "--yes"]
}
}
}
✨ Key Features
- 📊 Multiple Output Formats: ASCII tree and Mermaid.js diagrams
- 🗄️ Entity Relationship Diagrams: Generate ERDs from EF Core
DbContextorModelSnapshotfiles - 🏗️ Class Hierarchies: Visualize class diagrams with inheritance and dependencies
- 📈 Solution Metrics: Project counts, type breakdown, dependency depth, and hotspot detection
- 📁 Modern .NET Support: Full support for
.slnx,.sln, and.csprojfiles - 🤖 AI Integration: MCP server for GitHub Copilot, Claude, and other AI assistants
- ⚡ Fast & Reliable: Efficient parsing and graph algorithms
🛠️ Development
Prerequisites
- .NET 10.0 SDK or later
Run Locally
# CLI
dotnet run --project src/ProjGraph.Cli -- visualize ./ProjGraph.slnx
# Stats
dotnet run --project src/ProjGraph.Cli -- stats ./ProjGraph.slnx
# MCP Server
dotnet run --project src/ProjGraph.Mcp
📝 Usage Examples
Analyze Project Dependencies
# Tree format (default)
projgraph visualize ./MySolution.sln
# Mermaid format for documentation
projgraph visualize ./MySolution.slnx --format mermaid --output docs/dependencies.mmd
Generate Database Diagrams
# Generate ERD from DbContext
projgraph erd ./Data/MyDbContext.cs
# Generate ERD from ModelSnapshot (leveraging migrations)
projgraph erd ./Migrations/MyDbContextModelSnapshot.cs
# Output to Markdown for documentation
projgraph erd ./Data/MyDbContext.cs --output docs/database-schema.md
Visualize Class Hierarchies
# Generate diagram for a class and its inheritance and dependencies
projgraph classdiagram ./Models/Admin.cs -i -d
# Control discovery depth (default: 1)
projgraph classdiagram ./Models/Admin.cs -i -d --depth 5
Analyze Solution Metrics
# Display project counts, depth stats, and hotspot projects
projgraph stats ./MySolution.slnx
# Show top 10 most-referenced projects
projgraph stats ./MySolution.slnx --top 10
With AI Assistants
Once the MCP server is configured:
You: "Analyze the dependencies in my solution"
AI: [Generate the architecture diagram]
You: "Generate a class diagram for the User class"
AI: [Generates the class hierarchy]
You: "Show me the entity relationships in my DbContext"
AI: [Generates the database schema]
You: "Give me a health summary of my solution"
AI: [Returns project counts, depth stats, and hotspot projects]
🔗 Links
- CLI Package: ProjGraph.Cli on NuGet
- MCP Package: ProjGraph.Mcp on NuGet
📚 Samples & Showcase
Explore live examples of ProjGraph's capabilities in the Samples Showcase. Available samples include:
- E-commerce ERD: Complex database model with inheritance and hierarchies.
- Design Patterns: Deep class diagrams showing pattern implementation.
- Modular Architecture: Project dependency visualization for modern solutions.
- Simple Hierarchy: Easy entry-level examples for new users.
- Solution Metrics: Architectural health summary with project counts, depth, and hotspots.
📚 Documentation
- Architecture Overview - Solution structure and design decisions
- Contributing Guide - How to contribute to the project
- Security Policy - Security reporting guidelines