Product

One map of the codebase. Three ways to ask it questions.

Every merge, Semfora rebuilds a structural map of your repository: which functions exist, what calls what, how complex each piece is, and how all of that has moved over time. The map is the product. Everything below is a different way of reading it.

Dashboard

The manager view: health, clarity, stability, and structure scores per repo, with the trend your own commit history says they're on. Every number links down to the functions and modules that produced it.

AI chat

Ask questions in plain English and get answers grounded in your repo's measured structure, with file and line attached. The chat reads the same index the dashboard does, so the same question gets the same answer.

PR gate

A deterministic pass/fail check on every pull request. It flags edits to load-bearing code, complexity that jumps past your budget, and new coupling between modules, before review starts.

All three answer from the same index, built fresh on every merge inside an ephemeral container. Names and numbers come out; your source never does.

Why Semfora

Not another linter. Not another delivery dashboard.

Every tool in this market holds part of the picture: a structural graph with no history, or git history with no real graph. Semfora keeps a deep call graph and the full commit history in one index, and the metrics that matter most only exist at that intersection.

Rule-based quality scanners

Score each file in isolation, on a snapshot. They can tell you a function is complex, but not that it's load-bearing code the rest of the system depends on: the kind you review extra carefully before changing.

Git-mining behavioral tools

See which files change together, but hold no call graph, so they can't separate healthy collaboration from coupling that never appears in the code itself.

Architecture visualization tools

Hold a dependency graph but no history. They show today's structure with no idea where it's been or where it's heading.

Delivery analytics

DORA metrics are good numbers: cycle time, deployment frequency, PR throughput. But they measure how fast work moves, not what the work is doing to the system underneath. Different question, different number.

What you can only measure with both

These feed the scores at the top of every Semfora dashboard: health, clarity, stability, and structure. They're the numbers an engineering manager checks first.

Hidden coupling

Files that change together with no code connection between them: the invisible dependencies that make a “small” change break a feature nowhere near it. Semfora surfaces each pair by name and asks the question a linter can't: these two almost always change together, so why didn't they this time?

Risk concentration

How much complexity and change activity piles onto the code everything else depends on. Load-bearing code isn't bad; it just deserves more care than the rest. When complexity concentrates there, you're a single hero file away from an outage.

AI comprehension cost

How much context an AI assistant, or a new hire, needs to safely change each part of the system. The first codebase metric designed for teams where half the commits are machine-written.

Health with a direction

One score that blends where the codebase is with the direction your own commit history says it has been moving. No forecasts: these curves move slowly, which is exactly why the trend matters. Snapshots hide decay. Trajectories don't.