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, 100+ MCP tools, live editor-buffer overlays, speculative edits, dataflow, clone detection, graph-grounded PR review, and a 16-server LSP bridge.
Built for 16 AI coding agents on macOS, Linux & Windows — one binary, zero services.

$ curl -fsSL https://get.gortex.dev | sh [copy]
100+
mcp tools
257
languages
16
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 boxeighteen 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 100+ mcp tools tools_search

The full surface ships eagerly in the first tools/list; opt-in lazy discovery (GORTEX_LAZY_TOOLS=1) ships ~25 hot tools and fetches the rest one tools_search call away. smart_context, analyze (59 kinds), find_clones, search_ast, flow_between, rename_symbol, edit_file + 16 resources + 3 prompts.

04 semantic search default-on

Hybrid BM25 + vector, RRF fusion, continuous query-shape scoring. Default-on with a baked GloVe-50d table (3.8 MB embedded, CPU-only, zero deps); MiniLM / Ollama / OpenAI opt-in. HITS rerank, edge-provenance attenuation, first-class prose corpus, optional ask agent (9 LLM providers). Published gortex eval: 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 16 lsps

Wired to 16 language servers — gopls, tsserver, pyright, rust-analyzer, clangd, jdtls, kotlin-language-server, omnisharp, ruby-lsp, phpactor, 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.

16 graph-grounded PR review verdict

A deterministic correctness rulepack (NPE, thread-safety check-then-act, N+1, logic-error) runs over a changeset, graph-grounded to drop false positives → BLOCK / REVIEW / APPROVE with line-anchored comments. triage_prs, pr_risk, conflicts_prs (merge-order hotspots), post_review (secrets redacted). CLI: gortex prs · gortex review.

17 cross-repo contracts + temporal

Auto-detected across HTTP, gRPC, GraphQL, pub/sub topics (Kafka · NATS · Redis), WebSocket, env vars, OpenAPI, and Temporal workflows (Go + Java SDK). Normalised to canonical IDs (http::GET::/api/users/{id}) and matched provider↔consumer across repos to flag orphans and mismatches.

18 guarded edits + refactors drift-safe

edit_file / edit_symbol with a base_sha drift guard and expected-occurrences assertion; edits that introduce a new parse error are refused. rename_symbol, move_symbol, inline_symbol, and safe_delete_symbol with a fixed-point orphan-propagation cascade.

§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 ► 16 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 with16 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, SessionStart)
● configured
Cursor
.cursor/mcp.json + .cursor/rules/gortex-communities.mdc
● configured
Kiro
.kiro/settings/mcp.json + steering + agent hooks
● configured
Windsurf
~/.codeium/mcp_config.json + .windsurfrules
● configured
VS Code / Copilot
.vscode/mcp.json + .github/copilot-instructions.md
● configured
Continue.dev
.continue/mcpServers/gortex.json + rules
● configured
Cline
cline_mcp_settings.json + .clinerules
● configured
OpenCode
.opencode/config.json + AGENTS.md routing
● configured
Antigravity
~/.gemini/antigravity mcp_config + Knowledge Item
● configured
Codex CLI
~/.codex/config.toml + AGENTS.md routing
● configured
Gemini CLI
~/.gemini/settings.json + GEMINI.md
● configured
Zed
settings.json context_servers + .rules
● configured
Aider
.aiderignore + CONVENTIONS.md communities
● configured
Kilo Code
mcp_settings.json + .kilocode/mcp.json
● configured
OpenClaw
~/.openclaw/openclaw.json mcp.servers
● configured
Hermes
~/.hermes config + profiles + skills + hooks
● configured
§07 · get startedexit 0

Teach your agent
what your code knows.

Open source under Apache 2.0free for everyone, including commercial use, with patent grant. Zero dependencies. One static binary. Sigstore-signed, SLSA-3 build provenance, OpenSSF Scorecard tracked, VirusTotal 0/91.

on main · v0.46.0 · since v0.33
· graph-grounded PR review — gortex prs / review+
· BLOCK/REVIEW/APPROVE verdict + line-anchored comments+
· merge-train conflicts + reviewer/risk triage+
· Temporal workflow contracts (Go + Java SDK)+
· cross-language dispatch resolution (Java ↔ Go)+
· guarded edits — base_sha drift + expected-occurrences+
· propagate-delete patches surviving call sites+
· refuse edits that introduce new parse errors+
· 190-rule SAST scan (CWE/OWASP · 8 langs)+
· overlay branching — N speculative sessions+
· embedded GloVe-50d semantic search (zero deps)+
· analyze now a 59-kind dispatcher+
· 16th agent wired: Hermes+
· savings priced per model (Opus · GPT · Gemini · DeepSeek)+
also since v0.33
· zero-config background auto-index of cwd+
· architecture boundaries seeded from communities+
· jdtls / Java LSP enrichment hardening+
· WSL2 / slow-mount watch degradation+
· force-include .gitignore'd paths via index+
● main
watcher: running
graph: 100+ tools · 16 resources · 3 prompts
mcp: stdio · /mcp · http: :4747 · daemon: socket
v0.46.0
apache 2.0