pane 1 — pitch ↵ read

One call.
not ten reads.

Gortex indexes your repository into an in-memory knowledge graph and serves it to your coding agent over MCP, HTTP, and a web UI. One graph query replaces a stack of file reads — up to 50× fewer tokens per response. 257 languages, 115 MCP tools, live editor-buffer overlays, edit simulation, dataflow, clone detection, and a 22-server LSP bridge.
Built for 15 AI coding agents on macOS, Linux & Windows — one binary, zero services.

$ curl -fsSL https://get.gortex.dev | sh [copy]
115
mcp tools
257
languages
15
agents wired
50×
fewer tokens
pane 2 — session · agent@repo live
§01 · whytoken accounting

Stop paying your agent to re-read the same files.

A typical "make an edit" loop in Claude Code or Cursor does half a dozen Reads, a Grep, then maybe a Glob. Gortex answers the same question in one graph query — with callers, callees, imports,
blast radius, and interface implementors attached.

without gortexbaseline
11,480
tokens / edit
  • Read internal/watcher/watch.go (412 lines)
  • Read internal/graph/patch.go (289 lines)
  • Read internal/graph/types.go (603 lines)
  • Grep "OnFileChange" across workspace
  • Read 4 more files to resolve callers
  • Guess at the interface it satisfies
with gortex▶ smart_context
688
tokens / edit
  • 7 symbols · 3 files · signatures + callers
  • interface satisfied: graph.Patcher
  • blast radius: 4 symbols, 2 tests
  • no scan, no guessing, no re-reads
  • live-synced via fsnotify watcher
  • Δ −94.0% vs baseline
§02 · what's in the boxfifteen pillars

A graph, a server, a daemon, and a hook — in one static binary.

Zero external dependencies. Everything runs in-process, in memory, on your laptop. Sigstore-signed releases, SLSA Level 3 build provenance, native macOS · Linux · Windows.

01 knowledge graph core

Files, symbols, imports, calls, fields, decorators, generics, error contracts, modules (npm · pypi · cargo · maven · go), SQL tables, channels, goroutines, flags, config keys, log/metric/pub-sub events, TODOs, licenses, owners — plus K8s resources, Kustomize overlays, Dockerfile images, dbt/SQLMesh models. Tarjan SCC, Leiden/Louvain communities, and a precomputed reach index for sub-millisecond blast-radius queries.

02 257 languages parse

Three-tier extraction. ~30 bespoke tree-sitter (Go, TS, Python, Rust, Java, C#, Kotlin, Swift, C, C++, Ruby, Elixir, OCaml, …) for deep resolution, ~60 regex for niche/legacy, ~165 forest-backed signature-only — plus drop-in user grammars via .gortex.yaml, and Jupyter / Databricks notebooks indexed cell-by-cell.

03 115 mcp tools lazy-loaded

Lazy discovery — ~25 hot tools at session start, the rest one tools_search call away (≈68% fewer schema bytes on the first round-trip). smart_context, analyze (45+ kinds), find_clones, search_ast, flow_between, rename_symbol, edit_file + 16 resources + 3 prompts.

04 semantic search measured

Hybrid BM25 + vector with RRF fusion; pluggable 11-signal rerank. Hugot bundled (pure-Go ONNX, MiniLM-L6-v2 auto-downloaded). Optional ask agent across 9 LLM providers. Published gortex eval baseline: R@1 42.3% · R@5 55.1% · exact R@5 96.8%.

05 live editor overlays shadow-graph

Shadow-graph sessions for unsaved buffers. overlay_push stages an editor buffer; every subsequent tool call reads through a per-request view layered on the immutable base graph. compare_with_overlay returns the base↔overlay delta. Idle-TTL fail-safe; drift detection via git-blob SHA.

06 speculative execution simulate

"What changes if I apply this edit?" — answered without touching disk. preview_edit turns an LSP WorkspaceEdit into an impact report; simulate_chain runs an ordered sequence with per-step diagnostics delta and cumulative blast-radius rollup.

07 dataflow + taint cpg-lite

value_flow / arg_of / returns_to edges built at index time. flow_between returns ranked dataflow paths between two symbol IDs; taint_paths runs pattern-driven source→sink sweeps for security audits — without ever loading a sandbox.

08 clone detection minhash

Every substantial function body reduced to a 64-slot token-normalised MinHash signature at index time; LSH banding + Jaccard threshold emits symmetric similar_to edges. find_clones {dead_only: true} yields the "dead duplicates of live code" diagnostic.

09 structural + unsafe scan search_ast

Cross-language tree-sitter S-expression search with bundled detectors (sql-string-concat, weak-crypto, hardcoded-secret, …). analyze kind:unsafe_patterns fans seven detectors over the whole file set — Go panics, Rust unwrap/expect/panic!, JS/TS throw — in one call.

10 concurrency + health analyze

Language-agnostic concurrency analyzers: race_writes flags unguarded goroutine-reachable field writes, unclosed_channels flags channels never closed. health_score rolls coverage + complexity + recency + churn into one 0–100 value and an A–F grade.

11 diagnostics & code actions 22 lsps

Wired to 22 language servers — gopls, tsserver, pyright, pyrefly, tsgo, rust-analyzer, clangd, jdtls, omnisharp, sourcekit-lsp, … subscribe_diagnostics pushes deltas over MCP; get_code_actions + apply_code_action + fix_all_in_file apply LSP-supplied fixes atomically.

12 proactive notifications 5 channels

Five per-session push channels — diagnostics, workspace readiness, daemon health, stale refs, and graph invalidation. Delta-filtered, initial replay, auto-cleanup on disconnect. The agent learns the graph changed without polling for it.

13 context economy −27%

Round-trippable GCX1 compact text — median −27.4% tokens vs JSON. smart_context graded-fidelity manifests tier symbols under one budget; ctx_grep / ctx_slice re-cut a prior response without re-querying.

14 cross-session memory persistent

Symbol-anchored development memories (store_memory / query_memories) compound across sessions and teammates; session notes survive context compactions; a repo-local notebook commits agent journal entries to git so they surface in PR review.

15 http · mcp 2026 · daemon serve

Versioned /v1/* JSON API plus the MCP 2026 Streamable HTTP transport (/mcp). A long-living daemon holds one graph for every editor window — live fsnotify, per-session isolation, launchd/systemd auto-start, ~200ms snapshot restore.

§03 · architecturecat ARCHITECTURE.txt

Index. Serve. Watch.
In-process.

No database to run. No container to orchestrate. One binary, one graph, two ports — and a Unix-socket daemon when you want to share it across editor windows.

gortex binary ── single static · ~20MB · CGO-on
   
   ├─ CLI (cobra) ────────────────────┐
   ├─ MCP Server (stdio + sse) ───────┤
   ├─ HTTP Server (:4747 /v1/*) ──────┤   ◀── web UI · IDE plugins · CI
   ├─ Overlay Sessions (shadow view) ─┤   ◀── unsaved editor buffers, MCP-session bound
   └─ Daemon (~/.gortex/server.sock) ─┤   ◀── shared graph for every editor window
                                      ▼
                              ┌──────────────────────────┐
                              │   In-memory graph        │
                              │   nodes · edges · index  │
                              │   on-disk snapshot       │
                              └──────────────▲───────────┘
                                              
   ┌─ Indexer  ──► tree-sitter ◀── 257 langs ─┤
   │              + regex + forest tiers       │
   ├─ Resolver ──► LSP · go/types · SCIP ─────┤   tier-aware: lsp_resolved → ast_resolved → ast_inferred → text_matched
   │              + cross-repo evidence gate   │
   ├─ LSP Bridge ► 22 servers · diagnostics ──┤   subscribe_diagnostics · code actions · fix_all_in_file
   ├─ Watcher ───► fsnotify · debounced ──────┤   per-file patches
   └─ Clones ───► MinHash + LSH ──────────────┘   similar_to edges · dead-dup diagnostic
§04 · language coverage257 languages · 3 tiers

Speaks what your repo speaks.

Three-tier extraction: bespoke tree-sitter for deep resolution, regex for niche/legacy, forest-backed signature-only for the long tail. IMPLEMENTS inference for Go, TypeScript, Java, Rust, C#, Scala, Swift, and Protobuf — no extends keyword required.

#
language · deep extraction
fns
methods
types
interfaces
calls
§05 · quickstartthree steps · runs anywhere

Running in three commands.

macOS, Linux & Windows · amd64 + arm64. The installer detects your OS, downloads the signed release archive, verifies SHA256 (and cosign if installed), and puts the binary on your PATH. No silent sudo.
Re-runs upgrade in place.

01 · install
$ curl -fsSL https://get.gortex.dev | sh
# windows: irm https://get.gortex.dev/install.ps1 | iex
# or: brew · scoop · .deb · .rpm · .apk

One-time machine setup: gortex install writes user-level MCP wiring + skills + slash commands at ~/.claude/ and ~/.gemini/.

02 · wire your agent
$ cd ~/projects/myapp
$ gortex init --analyze
# writes .mcp.json, CLAUDE.md,
# per-community SKILL.md, hooks

Auto-detects every agent in scope and writes a community-routing block to each — CLAUDE.md, AGENTS.md, .windsurfrules, GEMINI.md, .cursor/rules.

03 · serve + watch
$ gortex daemon start --detach
# or: gortex mcp --watch (per-repo)
# or: gortex server --index .

Daemon runs in the background, supervises the graph for every tracked repo. Auto-start at login: gortex daemon install-service.

§06 · works with15 first-class adapters

Every coding agent
you already run.

Gortex is MCP-native. If your agent speaks the Model Context Protocol, it speaks Gortex. gortex init auto-detects each agent in scope and writes the right config.

Claude Code
slash commands, skills, hooks (PreToolUse, PreCompact, Stop)
● configured
Cursor
.mcp.json + .cursor/rules/gortex-communities.mdc
● configured
Kiro
steering files + agent hooks + .mcp.json
● configured
Windsurf
.windsurfrules + community routing block
● configured
VS Code / Copilot
workspace MCP config + instructions
● configured
Continue.dev
.continue/config.json MCP block
● configured
Cline
cline_mcp_settings.json + AGENTS.md
● configured
OpenCode
opencode.json + AGENTS.md routing
● configured
Antigravity
~/.gemini/antigravity Knowledge Items
● configured
Codex CLI
stdio MCP, scriptable, CI-friendly
● configured
Gemini CLI
~/.gemini settings + GEMINI.md
● configured
Zed
.zed/settings.json MCP wiring
● configured
Aider
.aider.conf.yml + AGENTS.md routing
● configured
Kilo Code
.kilocode/mcp.json auto-discovery
● configured
OpenClaw
openclaw config + community routing
● configured
§07 · get startedexit 0

Teach your agent
what your code knows.

Source-available under a PolyForm-based license — free for individuals, OSS projects, small businesses (<50 staff / <$500K rev), nonprofits, and education. Zero dependencies. One static binary. Sigstore-signed, SLSA-3 build provenance, OpenSSF Scorecard tracked, VirusTotal 0/91.

on main · v0.33.0 · since v0.25
· native Windows support (amd64 + arm64)+
· lazy tool discovery — tools_search (N50)+
· MCP 2026 Streamable HTTP transport (/mcp)+
· speculative exec — preview_edit / simulate_chain+
· graded-fidelity context economy + estimate+
· response re-cutting — ctx_grep / ctx_slice+
· 5 proactive push channels (was 1)+
· cross-session memories + repo notebook+
· concurrency analyzers (race_writes / channels)+
· unsafe-patterns scan + A–F health_score+
· workflow phase machine + planning-mode lock+
· prompt-injection screening middleware+
· 9 LLM providers + graph-scored model routing+
· gortex audit (A–F badge) + savings dashboard+
· generated wiki + living mermaid diagrams+
· Jupyter / Databricks notebook indexing+
also since v0.25
· sub-ms impact via precomputed reach index+
· crash-resilient indexing (worker subprocesses)+
· scope-based resolver (C / C++ / Java / PHP)+
· saved scopes + query_project (cross-project)+
· 2 sub-agents + 19 slash commands+
· hook modes: deny / enrich / consult / nudge+
· search_text trigram literal search+
· branch-keyed snapshots + BLAKE3 Merkle diff+
● main
watcher: running
graph: 115 tools · 16 resources · 3 prompts
mcp: stdio · /mcp · http: :4747 · daemon: socket
v0.33.0
source-available