Supported File Types
FreshCode — Tree-sitter AST (Local, No LLM)
These files are processed entirely locally via tree-sitter. No network calls, no API costs.
| Language | Extensions | Extracts |
|---|---|---|
| Python | .py | Classes, functions, imports, call graphs, docstrings |
| JavaScript | .js, .mjs, .cjs | Functions, classes, imports, exports |
| TypeScript | .ts, .tsx | Same as JS + type annotations |
| Go | .go | Functions, structs, interfaces, imports |
| Rust | .rs | Structs, enums, functions, traits, use statements |
| Java | .java | Classes, methods, imports |
| C | .c, .h | Functions, structs, #include statements |
| C++ | .cpp, .hpp, .cc | Classes, methods, templates |
| Ruby | .rb | Classes, methods, requires |
| C# | .cs | Classes, methods, namespaces |
| Kotlin | .kt | Classes, functions, imports |
| Scala | .scala | Classes, objects, imports |
| PHP | .php | Classes, functions, use statements |
| Swift | .swift | Classes, structs, functions |
| Lua | .lua | Functions, requires |
| Zig | .zig | Functions, structs |
| PowerShell | .ps1 | Functions, cmdlets |
| Elixir | .ex, .exs | Modules, functions, aliases |
| Objective-C | .m, .mm | Classes, methods |
| Julia | .jl | Functions, modules |
| Verilog | .v | Modules, ports |
| SystemVerilog | .sv | Modules, interfaces |
| Vue | .vue | Components, props, emits |
| Svelte | .svelte | Components, props |
| Dart | .dart | Classes, functions, imports |
Documents — LLM Extraction (Sends to API)
| Format | Extension | Notes |
|---|---|---|
| Markdown | .md | Concept and relationship extraction |
| Plain Text | .txt | Concept extraction |
| reStructuredText | .rst | Concept extraction |
| Word Document | .docx | Full text extraction |
| Excel | .xlsx | Table and data extraction |
.pdf | Full text + citation extraction |
API Cost Note
Document extraction sends file content to your platform's LLM API. Large PDF libraries can generate significant API costs. Use .graphifyignore to exclude docs you don't need in the graph.
Media — Vision and Transcription (Local)
| Type | Extensions | Processing |
|---|---|---|
| Images | .png, .jpg, .jpeg, .webp, .gif | Claude vision model — extracts concepts from diagrams, screenshots, whiteboard photos |
| Video | .mp4, .mov, .webm | faster-whisper transcription (local) + LLM concept extraction |
| Audio | .mp3, .wav | faster-whisper transcription (local) + LLM concept extraction |
| YouTube | URL | Downloads transcript via yt-dlp + LLM concept extraction |
Privacy
Video and audio transcription runs locally via faster-whisper. No audio is sent to any external server.
What Gets Excluded Automatically
Graphify excludes these by default even without a .graphifyignore:
.git/node_modules/__pycache__/.venv/,venv/dist/,build/graphify-out/(prevents graph from indexing itself)- Binary files (executables, compiled artifacts)
- Files larger than the configured max size (default 10MB)