You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
merge: viewer guides, worked examples, and all export formats
- Wire all 7 export formats into CLI (SVG, Neo4j, Obsidian, Wiki, Report)
- Create sample project with pre-generated worked examples
- 8 new format guide docs + export overview
- 17 new integration tests (454 total, 0 failures)
- Update README with export format table and worked examples
- Remove bin/obj artifacts from git tracking
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
-**Consistent structure:** Each format guide follows: title, quick-start, what it produces, how to use, features, best for, examples, customization, size/limitations, cross-references
195
+
-**Audience-specific:** HTML for visual explorers; JSON for developers; SVG for documentarians; Neo4j for analysts; Obsidian for knowledge workers; Wiki for teams; Report for everyone
# Decision: Export Format Architecture + Default Formats
2
+
3
+
**Author:** Trinity (Core Dev)
4
+
**Date:** 2026-04-07
5
+
**Status:** Proposed for team review
6
+
7
+
## Context
8
+
9
+
All exporters were implemented (JSON, HTML, SVG, Neo4j, Obsidian, Wiki) and ReportGenerator existed, but PipelineRunner only wired JSON and HTML. Users couldn't access the other formats from the CLI.
10
+
11
+
## Decision
12
+
13
+
### 1. Wired All Exporters into PipelineRunner
14
+
15
+
Extended the Stage 6 export switch statement to support all 7 export formats:
16
+
-`json` → graph.json (existing)
17
+
-`html` → graph.html with community labels (existing, enhanced)
18
+
-`svg` → graph.svg (NEW)
19
+
-`neo4j` → graph.cypher (NEW)
20
+
-`obsidian` → obsidian/ directory (NEW)
21
+
-`wiki` → wiki/ directory (NEW)
22
+
-`report` → GRAPH_REPORT.md (NEW)
23
+
24
+
### 2. Community Data Generation
25
+
26
+
Added helper methods to PipelineRunner for community analysis:
27
+
-`BuildCommunityLabels()`: Generates human-readable labels based on most common node type per community
28
+
-`CalculateCohesionScores()`: Computes internal edge density for each community
29
+
- Pattern follows existing Analyzer.cs and WikiExporter.cs implementations
30
+
31
+
### 3. Default Format Change
32
+
33
+
Changed default `--format` from `"json,html"` to `"json,html,report"`.
|**Obsidian**|`obsidian`|`obsidian/`| Markdown vault with wikilinks |[Guide](docs/format-obsidian.md)|
204
+
|**Wiki**|`wiki`|`wiki/`| Agent-crawlable wiki pages |[Guide](docs/format-wiki.md)|
205
+
206
+
**Default formats:**`json,html,report` — use `--format` to customize.
207
+
208
+
See [Export Formats Overview](docs/export-formats.md) for detailed comparison and usage.
209
+
210
+
## Worked Example
211
+
212
+
The `samples/mini-library/` directory contains a complete worked example — a small C# library demonstrating the repository pattern. Run the pipeline and see all 7 output formats:
213
+
214
+
```bash
215
+
# Generate all formats from the sample project
216
+
graphify run samples/mini-library --format json,html,svg,neo4j,obsidian,wiki,report
217
+
218
+
# Or build from source
219
+
dotnet run --project src/Graphify.Cli -- run samples/mini-library --format json,html,svg,neo4j,obsidian,wiki,report -v
220
+
```
221
+
222
+
**Pre-generated output** is available at [`samples/mini-library/graphify-out/`](samples/mini-library/graphify-out/):
0 commit comments