Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, this project adheres to Semantic Versioning, commits follow Conventional Commits, and this changelog is generated by Structured Changelog.
Unreleased¶
[v0.3.0] - 2026-05-09¶
Highlights¶
- Semantic Go analysis with go/types for type-resolved call graphs
- Interface implementation detection across packages
- Framework detection for Gin, Echo, Chi, Fiber, and more
- Comprehensive analyzer development documentation
Added¶
Semantic Go Extractor¶
SemanticExtractorinpkg/extract/golang/semantic.gousinggolang.org/x/tools/go/packages- Type-resolved call graph extraction via
go/types - Interface implementation detection (
implementsedges) - Framework detection for Gin, Echo, Chi, Fiber, Gorilla, httprouter
- HTTP handler detection for entry point identification
- Method receiver tracking with type information
Documentation¶
docs/analyzers/index.md- Architecture overview and built-in analyzersdocs/analyzers/creating-analyzers.md- Step-by-step implementation guidedocs/analyzers/go-analyzer.md- Go analyzer reference (basic + semantic)docs/analyzers/semantic-analysis.md- Adding type information to analysis- Analyzers section added to MkDocs navigation
Dependencies¶
golang.org/x/toolsfor go/packages type checkinggolang.org/x/modandgolang.org/x/sync(indirect)
v0.2.0 - 2026-04-19¶
Highlights¶
- Watch mode for auto-rebuild on file changes
- Git hooks for automatic analysis on commit/checkout
- Neo4j Cypher and Obsidian vault export formats
- Path finding and token benchmark commands
Added¶
New Commands¶
graphize path <from> <to>- Find shortest path between nodes using BFSgraphize benchmark- Show token reduction statistics (raw vs TOON)graphize watch- Auto-rebuild on file changes with debouncinggraphize hook install/uninstall/status- Git hook management
New Export Formats¶
graphize export cypher- Neo4j CREATE statementsgraphize export obsidian- Wiki-style vault with wikilinks
New Flags¶
--directedflag forgraphize analyzeto control edge directionality--htmland--reportflags for watch mode to auto-regenerate outputs--debounceflag for watch mode (default 500ms)
Git Hooks¶
- post-commit: auto-run
graphize analyzeafter commits - post-checkout: check if graph is stale after checkout
Documentation¶
- CLI reference updated with all new commands
- Getting started guide with watch mode and git hooks
- Export formats table updated with Cypher and Obsidian
v0.1.0 - 2026-04-09¶
Highlights¶
- LLM-powered tool to turn Go codebases into queryable knowledge graphs
- Two-step extraction: deterministic AST + optional LLM semantic analysis
- TOON export format with 98% token reduction vs JSON for AI agents
- MCP server for AI agent integration with 5 graph query tools
Added¶
CLI Commands¶
graphize init- Create graph database directory structuregraphize add <repo>- Track repositories with git commit hashesgraphize status- Show sources with staleness detectiongraphize analyze- Extract AST graph from Go sourcesgraphize query- BFS/DFS traversal with depth control and edge filtersgraphize export html- Cytoscape.js interactive visualizationgraphize export json- Cytoscape JSON formatgraphize export toon- Token-efficient agent outputgraphize summary- Markdown summary for agentsgraphize report- God nodes, communities, surprises analysisgraphize enhance- Prepare files for LLM semantic extractiongraphize merge- Merge LLM-extracted semantic edgesgraphize serve- MCP server for AI agent integration
AST Extraction¶
- Go AST extraction: packages, files, functions, methods, types, imports, calls
- SHA256-based per-file caching
--no-cacheflag to bypass cache- Cache hit/miss statistics
Analysis¶
- God nodes: most connected entities (excluding file-level hubs)
- Community detection: Louvain algorithm with cohesion scores
- Surprising connections: cross-file, cross-community edges
- Isolated nodes: potential documentation gaps
- Package statistics: files, functions, types, imports per package
- Edge confidence breakdown: EXTRACTED, INFERRED, AMBIGUOUS
Semantic Extraction¶
- Edge types:
inferred_depends,rationale_for,similar_to,implements_pattern,shared_concern - LLM output parsing and validation
- Claude Code skill for extraction workflow
MCP Server¶
query_graph- BFS/DFS traversal from search termsget_node- Node details by ID or labelget_neighbors- Adjacent nodes with edge infoget_community- List community membersgraph_summary- Stats, god nodes, suggested questions
Analysis Insights¶
- Suggested questions generation:
- Ambiguous edges needing verification
- Bridge nodes connecting communities
- Inferred relationships to verify
- Isolated nodes (documentation gaps)
- Low cohesion communities
Documentation¶
- PRD.md: Product requirements
- TRD.md: Technical requirements
- TASKS.md: Implementation tracking
- PLAN.md: Architecture decisions