Configuration
Fresh.graphifyignore
Create a .graphifyignore file at your project root to exclude paths from graph extraction. Uses the same syntax as .gitignore.
# .graphifyignore
# Dependencies
vendor/
node_modules/
.venv/
# Build artifacts
dist/
build/
*.generated.py
*.min.js
# Large data files
*.csv
*.parquet
data/raw/
# Test fixtures (optional — include if you want test coverage in graph)
test/fixtures/Common Patterns
| Pattern | Excludes |
|---|---|
node_modules/ | Node.js dependencies |
vendor/ | Go/PHP vendor directories |
.venv/ | Python virtual environments |
dist/ | Build output |
*.generated.* | Auto-generated files |
*.min.js | Minified JavaScript |
Exclude What You Don't Own
Exclude vendored code, generated files, and third-party libraries. The graph is most useful when it reflects code you wrote and understand.
.gitignore Recommendations
gitignore
# Keep the graph committed (team members get instant context)
# graphify-out/
# But exclude the cache (each machine rebuilds it locally)
graphify-out/cache/
# Exclude large optional exports
graphify-out/wiki/
graphify-out/obsidian/Environment Variables
Graphify respects these environment variables when running extraction:
| Variable | Purpose | Default |
|---|---|---|
GRAPHIFY_MODEL | LLM model for prose extraction | Platform default |
GRAPHIFY_VISION_MODEL | Vision model for image/diagram processing | Platform default |
GRAPHIFY_MAX_FILE_SIZE | Max file size in MB to process | 10 |
GRAPHIFY_TIMEOUT | HTTP timeout for remote content fetches (seconds) | 30 |
Security Settings
Graphify includes strict input validation by default:
- Only
http://andhttps://URLs are accepted for remote content - File size limits prevent processing of very large files
- HTTP timeout limits prevent hanging on slow remote fetches
- Path containment: all file operations stay within the specified directory
- HTML-escaped node labels prevent XSS in the visualization
Local-First Processing
Code files are analyzed via tree-sitter AST locally — no code is sent to any external server during AST extraction. Only prose/doc content is sent to your platform's LLM API using your own credentials.
Supported File Types Reference
Code (Tree-sitter AST)
| Language | Extensions |
|---|---|
| Python | .py |
| JavaScript | .js, .mjs, .cjs |
| TypeScript | .ts, .tsx |
| Go | .go |
| Rust | .rs |
| Java | .java |
| C | .c, .h |
| C++ | .cpp, .hpp, .cc |
| Ruby | .rb |
| C# | .cs |
| Kotlin | .kt |
| Scala | .scala |
| PHP | .php |
| Swift | .swift |
| Lua | .lua |
| Zig | .zig |
| PowerShell | .ps1 |
| Elixir | .ex, .exs |
| Objective-C | .m, .mm |
| Julia | .jl |
| Vue | .vue |
| Svelte | .svelte |
| Dart | .dart |
Documents (LLM Extraction)
.md, .txt, .rst, .docx, .xlsx, .pdf
Media (Vision / Transcription)
.png, .jpg, .jpeg, .webp, .gif, .mp4, .mov, .webm, .mp3, .wav, YouTube URLs