Parser
tree-sitter
Extract classes, functions, imports, exports, interfaces, types, and call relationships.
A TypeScript code knowledge graph turns files into connected symbols, types, imports, exports, and call paths. Graphify extracts TypeScript structure with tree-sitter and persists the result as graph.html, graph.json, and GRAPH_REPORT.md, giving AI assistants a project map that goes beyond text search.
Published Updated
Graphify stores inspectable artifacts so codebase knowledge can be reviewed by humans and reused by AI coding assistants.

Parser
Extract classes, functions, imports, exports, interfaces, types, and call relationships.
Artifacts
Persist graph.html, graph.json, and GRAPH_REPORT.md for assistants and reviewers.
Best for
Use when cross-file types and dependencies are too expensive to rediscover each session.
It is a structural representation of TypeScript files and symbols connected by relationships such as imports, exports, declarations, calls, references, and documentation links. It complements the TypeScript compiler by providing a navigable project map.
TypeScript tooling answers compiler and type questions precisely inside an editor. A graph adds project-level navigation across modules, documentation, and AI assistant sessions, where the agent needs a compact map of relationships before opening source files.
A syntax-level graph can show imports, files, symbols, and call candidates across a monorepo, but it does not replace TypeScript's project references, path aliases, package exports, or compiler module resolution. Teams should keep package boundaries explicit and verify alias and cross-package edges with the compiler.
Graphify's documented tree-sitter extraction covers code symbols, imports, exports, and call-graph relationships. TypeScript declarations, interfaces, and type aliases remain source-level facts; assistants should verify them against the compiler and current source.
Ask for paths, callers, dependent modules, or subsystem context before requesting a full file read. Then open the relevant TypeScript source and run the type checker and tests before making changes.
No. The graph is a relationship and navigation layer. The TypeScript compiler remains authoritative for type checking, overload resolution, narrowing, module resolution, and generated diagnostics.
Rebuild after changing interfaces, package boundaries, imports, generated code, or directory structure. For active repositories, update mode, watch mode, or a Git hook can keep the graph aligned with commits.
Graph queries fit cross-module relationships: which packages import a symbol, how interfaces connect to implementations, where a service is called, and which modules form a subsystem. They fit poorly for overload resolution, narrowing, conditional types, and precise compiler diagnostics, where TypeScript tooling should answer directly.
Evaluate it on representative tasks from the actual repository: trace one shared interface, explain a circular dependency, identify callers before an API change, and locate the tests around a service. Compare source evidence and verification time rather than the total node count.
A useful answer names the source revision, queried symbol, relevant files and lines, edge type, and confidence. For a cross-package question it should also identify the package boundary and path alias involved, so the assistant can verify the result against the active TypeScript project configuration.
Treat dynamic imports, reflected decorators, runtime dependency injection, generated clients, and type-only imports as claims to verify. A syntax graph can identify useful candidates, but exact runtime wiring and compiler semantics require project-specific tools. The answer becomes trustworthy when it names the uncertainty and points to the source or compiler evidence that resolves it.
/graphify .
graphify query "How do the shared interfaces connect to runtime validation?"No. Tree-sitter extracts syntax and relationships. The TypeScript compiler and tests remain separate verification steps.
Use the supported TypeScript/TSX parser configuration and verify the current Graphify language matrix for the installed version.
Syntax-level graphs can expose declarations and relationships but should not be treated as a full type inference engine. Verify complex generics with the TypeScript compiler.
Use graph.json for queryable structure and GRAPH_REPORT.md for a short architecture summary, then open the cited TypeScript source.
Usually no. Generated declarations and build output add duplicate or low-value nodes. Exclude them unless the graph is specifically used to inspect a generated API surface and the source of generation is tracked separately.
Do not assume so. Tree-sitter and import extraction can reveal edges, but exact path-alias and package-export resolution belongs to the TypeScript compiler or a resolver configured for the project.
Usually not. Dynamic imports, runtime registration, build scripts, test tooling, and external consumers can make a module appear unused to static extraction. Treat unused-node results as investigation candidates and verify them across the full build and deployment configuration.
Model the component symbol, its imports, hooks or helper calls, rendered child relationships where the parser exposes them, and documentation links. Verify framework-specific behavior with the compiler, framework tooling, and tests rather than inferring runtime rendering from syntax edges alone.
Continue through the Graphify topic cluster with pages that explain assistant context, architecture review, documentation, and graph-based codebase understanding.
Code graph tools for AI coding agents
Compare code graph tools for AI assistants by outputs, relationship evidence, freshness, MCP support, data boundaries, and the questions each tool answers best.
Code dependency visualization with Graphify
Turn a repository into a visual code dependency graph: how Graphify maps imports, calls, and clusters, and surfaces the high-impact modules worth reviewing.
How to install Graphify and build a code graph
Install Graphify, generate your first code knowledge graph, query it from an AI assistant, and keep the graph fresh with update, watch, and hook workflows.
Start from the use cases page or upload a project ZIP to build a graph that your team can inspect and reuse.