Cross-repo dependency graph

Resolve dependencies past the repo boundary.

IDEs and per-repo scanners stop at the edge of one repository. QorVertex resolves calls, imports, inheritance, and type bindings across projects and repos — into one graph where a symbol many services use is one node they all point at.

  • → Sibling (same-repo) and cross-repo coupling, first-class
  • → Durable inbound edges that survive partial rescans
  • → Synthetic module resolution across languages
Database as a dependency · Shared Data

The database is a dependency. We treat it like one.

Shared tables, stored procedures, and physical databases become first-class nodes. See which projects read and write each table — across repos and languages — and the exact blast radius of a schema change, down to the column.

  • → Shared tables, procedures, and physical databases
  • → Per-column impact — a read-only PK vs. a column four services write
  • → One canonical node joins services in any language
API surface mapping

Who exposes it. Who consumes it. Everywhere.

Every endpoint — REST, gRPC, GraphQL, MCP, SOAP — mapped to its consumers across all repos, with a "Called by N" count and a trace from a caller through the service to the tables it touches.

  • → Five protocol families, expose and consume
  • → "Called by N" across repositories
  • → Consumer → service → database trace
Event & messaging coupling

The coupling that lives in a channel name.

Producers and consumers never reference each other — they share a topic. QorVertex links publishers and subscribers across eight brokers so an event-schema change's blast radius across services is visible.

  • → Eight brokers across four languages
  • → Publish / subscribe resolved across repos
  • → Feeds Impact like every other node
Impact & blast radius

Know what breaks before you change it.

Walk dependents transitively from any node — a symbol, table, column, endpoint, or event — through code, data, and events alike, with depth control. The "what breaks?" answer, on one screen.

  • → Unified across code + data + events
  • → Depth-controlled transitive walk
  • → Column- and procedure-level precision
Test impact analysis

Change a column. Learn which suites to run.

Integration and end-to-end suites are picked by hand, so they get run in full or not at all. QorVertex seeds from what you actually changed — a table, a column, a stored procedure, a channel, or a list of files from git diff — and walks the graph to the tests that reach it. Across repositories, which a single-build tool cannot do.

  • → Seeded from a table, column, procedure, channel, or changed files
  • → Crosses repository boundaries — a shared library names suites in other repos
  • → Always a minimum, never an allow-list: unanalysable means run everything, and it says which and why
Works in your editor

Your assistant stops at the repo boundary. This removes that limit.

Every coding assistant is bounded by the workspace it has open. The one thing it structurally cannot compute is what lives in the other repository — which is exactly what this catalog holds. QorVertex exposes it as an MCP server, so Claude Code, Cursor, and GitHub Copilot can answer questions about repositories they have never opened, citing file and line.

  • → Nine read-only tools: search, impact, table and endpoint consumers, channels, procedures, source
  • → Read-only by construction, enforced on the HTTP method — not a list of routes to keep updated
  • → Per-client tokens, revocable one laptop at a time; the client is a single file your instance serves
  • → No model provider needed — your assistant brings its own
Optional · built-in chat

A model is an amplifier here, never the product.

The catalog is what answers questions; a model only decides which questions to ask it. Everything below is off until you switch it on, refused server-side rather than hidden in the UI, and the rest of QorVertex works untouched when it is off.

Ask the catalog

Bring your own model. Keep your own tenancy.

The same tools your editor gets, inside QorVertex — starting from whatever is already on your screen. Inference runs in your cloud account under the model governance you already have, reachable over a private endpoint. Nothing is sent to us.

  • →
    AWS Bedrock — any model your account can invoke, discovered from the account rather than a list that goes stale
  • →
    Google Vertex AI — validated end to end on Gemini, including the tool-calling round trip across repositories
  • →
    Authenticated by the host's instance role or IRSA — no long-lived key is stored anywhere
  • →
    Every answer carries the queries behind it, cited to file and line — an answer here is worth exactly what its queries are worth
The chat mid-answer: round 2, the message_channels query with its arguments and a 13ms timing, and the model's stated reasoning — “Let me look up the orders message channel.”
It shows its work while it works — the query, its arguments, its timing, and why the model chose it.
QorVertex answering “What breaks if the orders topic changes shape?” — the reply separates two publishers that must emit the new shape from five subscribers that will break, naming each project, its language and its repository, across seven repositories.
A real answer, from a real catalog. The reply separates the two publishers that must change from the five subscribers that break — across seven repositories and five languages, coupled by a channel name alone, with no code reference between them for any tool to follow.

It starts from what you're looking at

Open the orders channel and ask “what breaks if this shape changes?” — it already knows which channel you mean. Attach a blast radius and every question afterwards carries it.

Context, not a blank box

Reports and sizing

Turn an answer into a report to circulate, or line items in a spreadsheet with live risk-adjustment formulas someone can tune. The risk factor is grounded in whether the repository has tests at all — and the workbook says which numbers are measured and which are judgement.

PDF & spreadsheet

Nothing leaves your estate

Inference runs inside your own cloud tenancy, reachable over a private endpoint, using the host's instance role — no long-lived key is stored anywhere. Per-instance daily token ceilings, and a usage log of every turn.

Self-hosted, metered
And the rest

Everything you'd expect around the graph.

Multi-repo scanning

Every repo across four VCS providers into one catalog, with auto-rescan on check-in and an autoscaling worker pool.

4 VCS providers

Visualization

Dependency graphs, class and component diagrams, and shared-table data-flow views — with version history, diff, and restore.

Diagrams

Org-wide search

Find any class, function, table, endpoint, or package — and every place it's used across all repos, ranked by usage.

Find anything
Supported everywhere

The stacks QorVertex speaks.

Coverage is what makes an org-wide graph possible — the more it reads, the fewer blind spots between your services.

Languages8

Frameworks12

API protocols5

Message brokers10

Databases11

ORMs & migrations15

Deployment & platforms11

Schema & contract formats6

VCS providers4

Self-hosted

Runs in your infrastructure. Not SaaS.

One downloadable bundle, one install.sh. It provisions the whole stack behind an nginx ingress on a single Linux box — your source and your catalog never leave your network.

AES-256-GCM credentials at rest JWT auth · admin / user roles Optional built-in TLS Health self-monitoring
# download the bundle, then
tar xzf qorvertex-v1.1.0.tar.gz
cd qorvertex-v1.1.0
sudo ./install.sh
# → stack up · migrations applied · admin ready

See it on your own code.

Request access to the private beta and run it on your own repositories.