graphify-dotnet
0.6.0
dotnet tool install --global graphify-dotnet --version 0.6.0
dotnet new tool-manifest
dotnet tool install --local graphify-dotnet --version 0.6.0
#tool dotnet:?package=graphify-dotnet&version=0.6.0
nuke :add-package graphify-dotnet --version 0.6.0
graphify-dotnet
🔍 Build AI-powered knowledge graphs from any codebase. Understand structure you didn't know was there.
💡 Origin story — This project traces back to Andrej Karpathy's tweet on using LLMs to build personal knowledge bases: ingesting raw sources, compiling them into structured Markdown wikis, and navigating knowledge through graph views instead of keyword search. That idea inspired graphify by @safishamsi, which was then showcased by @socialwithaayan — and that's what kicked off this .NET port.
graphify-dotnet reads your files (code, docs, images), extracts concepts and relationships through AST parsing and AI semantic analysis, builds a knowledge graph with community detection, and exports interactive visualizations. Navigate codebases by structure instead of keyword search.
Quick Start
1. Install
dotnet tool install -g graphify-dotnet
2. Configure
graphify config
This launches an interactive wizard with three options:
- 📋 View current configuration — see what's set
- 🔧 Set up AI provider — pick Azure OpenAI, Ollama, Copilot SDK, or None (AST-only)
- 📂 Set folder to analyze — set your default project folder and export formats
Pick your AI provider (or skip it — AST-only extraction works with zero config), then set the folder to analyze.
3. Run
graphify run
That's it. Open graphify-out/graph.html in your browser to explore the interactive graph.
📖 New here? See the Getting Started guide for a step-by-step walkthrough.
Supported Languages
graphify detects and extracts structure from these file types:
| Category | Languages |
|---|---|
| Code | C#, Python, TypeScript, JavaScript, Go, Rust, Java, C, C++, Ruby, Kotlin, Scala, PHP, Swift, R, Lua, Shell, PowerShell |
| Config | YAML, JSON, TOML, XML |
| Docs | Markdown, Plain Text, reStructuredText, AsciiDoc |
| Media | PDF, PNG, JPEG, WebP, GIF, SVG |
No AI provider? No problem. AST-only extraction works with zero config and produces structural graphs from code — classes, functions, imports, and their relationships. AI providers add semantic extraction (conceptual connections, inferred relationships) but are completely optional.
Build from Source
git clone https://github.com/elbruno/graphify-dotnet.git
cd graphify-dotnet
dotnet build graphify-dotnet.slnx
dotnet run --project src/Graphify.Cli -- run .
Documentation
| Topic | Link |
|---|---|
| Getting Started | docs/getting-started.md |
| Architecture | ARCHITECTURE.md |
| Configuration | docs/configuration.md |
| CLI Reference | docs/cli-reference.md |
| Worked Example | docs/worked-example.md |
| Troubleshooting | docs/troubleshooting.md |
| AI Providers | |
| Azure OpenAI | docs/setup-azure-openai.md |
| Ollama | docs/setup-ollama.md |
| Copilot SDK | docs/setup-copilot-sdk.md |
| Export Formats | docs/export-formats.md |
| HTML Interactive | docs/format-html.md |
| JSON | docs/format-json.md |
| SVG | docs/format-svg.md |
| Neo4j Cypher | docs/format-neo4j.md |
| Obsidian Vault | docs/format-obsidian.md |
| Wiki | docs/format-wiki.md |
| Report | docs/format-report.md |
| Other | |
| Watch Mode | docs/watch-mode.md |
| Global Tool Install | docs/dotnet-tool-install.md |
License
This project is licensed under the MIT License. See LICENSE file for details.
👋 About the Author
Made with ❤️ by Bruno Capuano (ElBruno)
- 📝 Blog: elbruno.com
- 📺 YouTube: youtube.com/elbruno
- 🔗 LinkedIn: linkedin.com/in/elbruno
- 𝕏 Twitter: twitter.com/elbruno
- 🎙️ Podcast: notienenombre.com
Acknowledgments
- Andrej Karpathy's tweet on LLM-powered personal knowledge bases — the original idea that started the chain.
- This tweet by @socialwithaayan showcasing graphify by @safishamsi — which directly inspired this .NET port.
This project is a .NET 10 port of safishamsi/graphify, reimagined with C# idioms, .NET 10 features, and the Microsoft.Extensions.AI abstraction layer.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.