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.
v0.4.0 - 2026-06-13
- Full-text search using bleve with fuzzy matching and faceted results
- Code reuse tracking to identify refactoring opportunities
- Architectural pattern detection with anti-pattern warnings
graphize search <query>command for full-text search across node labels, docstrings, packages, and signatures (dc283f5)- Fuzzy matching with configurable edit distance (
--fuzzy 1-2) (dc283f5) - Type filtering for search results (
--type function,class,struct) (dc283f5) - Highlighted search fragments and faceted results by node type (
dc283f5) - Search index statistics and reindex capability (
--stats,--reindex) (dc283f5) graphize reusecommand to identify code reuse patterns and refactoring opportunities (4343efe)- Similar function signature detection for interface extraction candidates (
4343efe) - Duplicate name detection across packages (
4343efe) - Shared dependency analysis for service extraction candidates (
4343efe) graphize patternscommand for architectural pattern detection (106ce11)- Architectural patterns: factory, singleton, handler, repository, builder (
106ce11) - Structural patterns: hub nodes, layered architecture, clusters (
106ce11) - Anti-pattern detection: god objects, circular dependencies, dead code (
106ce11) - Health score calculation based on anti-pattern severity (
106ce11) pkg/search/package using bleve v2.6.0 for full-text indexing (dc283f5)pkg/reuse/package for code similarity analysis (4343efe)pkg/patterns/package for pattern detection algorithms (106ce11)
- TOON formatter now properly handles struct types via JSON marshaling (
dc283f5)
github.com/blevesearch/bleve/v2v2.6.0 for full-text search (dc283f5)golang.org/x/toolsbumped to v0.46.0 (d8480e2)golang.org/x/textbumped to v0.38.0 (3adbf80)github.com/grokify/mogobumped to v0.74.6 (0d6c88c)
v0.3.0 - 2026-05-09
- 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
SemanticExtractorinpkg/extract/golang/semantic.gousinggolang.org/x/tools/go/packages(0e47b0e)- Type-resolved call graph extraction via
go/types(0e47b0e) - Interface implementation detection (
implementsedges) (0e47b0e) - Framework detection for Gin, Echo, Chi, Fiber, Gorilla, httprouter (
0e47b0e) - HTTP handler detection for entry point identification (
0e47b0e) - Method receiver tracking with type information (
0e47b0e)
golang.org/x/toolsfor go/packages type checking (0e47b0e)golang.org/x/modandgolang.org/x/sync(indirect) (0e47b0e)
docs/analyzers/index.md: Architecture overview and built-in analyzers (ae40837)docs/analyzers/creating-analyzers.md: Step-by-step implementation guide (ae40837)docs/analyzers/go-analyzer.md: Go analyzer reference (basic + semantic) (ae40837)docs/analyzers/semantic-analysis.md: Adding type information to analysis (ae40837)- Analyzers section added to MkDocs navigation (
ae40837)
v0.2.0 - 2026-04-19
- Multi-language extraction: Go, Java, TypeScript, Swift
- External provider interface for adding language support
- Watch mode for auto-rebuild on file changes
- Git hooks for automatic analysis on commit/checkout
- Neo4j Cypher and Obsidian vault export formats
- Node explanation with community and centrality context
- Platform installers for Claude, Cursor, Copilot, Codex, Gemini, Aider
providerpackage withLanguageExtractorinterface for external language support (0485b04)- Priority-based provider registry (Default, Thick, Custom levels) (
0485b04) - Go language extractor using native
go/astparser (fc839bf) - Java language extractor with Spring framework detection (
fc839bf) - TypeScript/JavaScript extractor using tree-sitter (
fc839bf) - Swift extractor with protocol and extension support (
fc839bf) WithCustomExtractoroption for direct extractor injection (45afd67)graphize path <from> <to>command to find shortest path between nodes using BFS (bba6c5e)graphize benchmarkcommand showing token reduction statistics (raw vs TOON) (5fedf29)graphize watchcommand for auto-rebuild on file changes with debouncing (e54fda5)graphize hook install/uninstall/statuscommands for git hook management (655860a)graphize export cyphercommand for Neo4j CREATE statements (6c073e4)graphize export obsidiancommand for wiki-style vault with wikilinks (c5d180d)--directedflag forgraphize analyzeto control edge directionality (67b264d)--htmland--reportflags for watch mode to auto-regenerate outputs (e54fda5)--debounceflag for watch mode to configure delay (default 500ms) (e54fda5)- post-commit hook: auto-run
graphize analyzeafter commits (655860a) - post-checkout hook: check if graph is stale after checkout (
655860a) graphize explain <node>command with community membership, centrality scores, and neighbor details (fa54ac1)graphize install <platform>command for 6 AI assistant integrations (claude, cursor, copilot, codex, gemini, aider) (b54f61a)graphize report --healthflag for corpus health assessment with actionable verdicts (3282209)graphize enhance --include-docsand--docs-onlyflags for markdown/text extraction (57f998f)- Markdown extractor in
pkg/extract/markdown/for documentation-to-code linking (57f998f) - Platform installers in
pkg/platform/for Claude Desktop, Cursor, Copilot, Codex, Gemini CLI, and Aider (b54f61a) - Corpus health check in
pkg/analyze/health.gowith token reduction metrics (3282209) - Node explanation in
pkg/query/explain.gowith community and centrality context (fa54ac1)
extractpackage now usesprovidertypes with backward compatibility aliases (45afd67)- CLI commands use
NewMultiExtractor(DefaultRegistry)pattern (c598ebe) - Composite surprise scoring weights cross-file edges higher (2.5x) and adds code-doc bonus (+1.5) (
6380cbb)
- CLI reference updated with explain and install commands (
d4ff86f) - Getting started guide with watch mode and git hooks (
06ba95c) - Export formats table updated with Cypher and Obsidian (
06ba95c) - Phase 6 implementation archived in docs/plans/v0.2.0-plan.md (
85ce643)
v0.1.0 - 2026-04-09
- 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
graphize initcommand to create graph database directory structure (13dd837)graphize add <repo>command to track repositories with git commit hashes (13dd837)graphize statuscommand to show sources with staleness detection (13dd837)graphize analyzecommand to extract AST graph from Go sources (13dd837)graphize querycommand with BFS/DFS traversal, depth control, and edge filters (13dd837)graphize export htmlcommand with Cytoscape.js interactive visualization (13dd837)graphize export jsoncommand in Cytoscape JSON format (13dd837)graphize export tooncommand for token-efficient agent output (13dd837)graphize summarycommand for Markdown summary in AGENTS folder (13dd837)graphize reportcommand with god nodes, communities, surprises analysis (13dd837)graphize enhancecommand to prepare files for LLM semantic extraction (13dd837)graphize mergecommand to merge LLM-extracted semantic edges into graph (13dd837)- Go AST extraction: packages, files, functions, methods, types, imports, calls (
2dd2c98) - SHA256-based per-file caching in
pkg/cache/cache.go(627c840) --no-cacheflag for analyze command to bypass cache (627c840)- Cache hit/miss statistics reporting (
627c840) - God nodes analysis: most connected entities excluding file-level hubs (
4f844d6) - Community detection: package-based grouping with cohesion scores (
4f844d6) - Surprising connections: cross-file, cross-community edge detection (
4f844d6) - Isolated nodes detection for potential documentation gaps (
4f844d6) - Package statistics: files, functions, types, imports per package (
4f844d6) - Edge confidence breakdown: EXTRACTED vs INFERRED vs AMBIGUOUS (
4f844d6) - Semantic edge types: inferred_depends, rationale_for, similar_to, implements_pattern, shared_concern (
2dd2c98) pkg/extract/merge.gofor parsing and validating LLM semantic JSON output (2dd2c98)skills/enhance.mdClaude Code skill for semantic extraction workflow (acbc8f6)agents/specs/semantic-extractor.yamlmulti-agent-spec definition (acbc8f6)graphize serveMCP server using official Go SDK (github.com/modelcontextprotocol/go-sdk) (13dd837)- MCP tool:
query_graphfor BFS/DFS graph traversal from search terms (13dd837) - MCP tool:
get_nodefor node details by ID or label (13dd837) - MCP tool:
get_neighborsfor adjacent nodes with edge info (13dd837) - MCP tool:
get_communityfor listing community members (13dd837) - MCP tool:
graph_summaryfor stats, god nodes, and suggested questions (13dd837) - Suggested questions generation: ambiguous edges, bridges, inferred verification, isolated nodes, low cohesion (
4f844d6)