kospex

Kospex maps the knowledge, technology and maintenance risk hiding in your git repositories.

It answers questions that are surprisingly hard to answer at scale: Who still knows this code? What are we actually built on? What’s quietly going stale?

Kospex works by inspecting cloned repositories and aggregating everything into a single queryable database, so you can ask questions across one repo or thousands.

There are two ways to use it:

It uses the database structure from the excellent Mergestat lite to model data from git repositories.

Getting started

Follow our guide on Installation and setup.

Also check out the list of commands that are part of the kospex toolkit, and the Web UI guide for exploring the data.

If you are after some generally useful git commands, take a look at Useful Git commands.

What kospex gives you

Knowledge mapping

Who knows what, and whether they’re still around.

Technology identification

More than just languages — kospex identifies the whole toolchain from filenames, paths and content:

This gives you a technology landscape you can compare over time — what you’re building with now, versus twelve months ago.

Open source libraries

Maintenance indicators

Signals that code needs attention — or an owner:

Longer write-ups are in use cases.

If some of your repos run off a non-default branch, see Scanning a non-default branch.

General description of aging “things”

Many reports and commands describe something as active, aging, stale or unmaintained. This is a simple calculation based on a given date, using the following default rules.

Description Rule
Active < 90 days
Aging > 90 and < 180 days
Stale > 180 and < 365 days
Unmaintained > 365 days

There are several places this description may be used:

It’s possible that something labelled “unmaintained” is feature complete and doesn’t require changes. However, where there are external dependencies, code or a library usually needs a change a couple of times a year.

Thoughts and articles

“What are orphaned repos?” — some basics of knowledge loss and the challenges.

“Are security vulnerabilities an indicator of development testing practices?”

What is a kospex?

We’re aiming to [k]now your c[o]de by in[spe]cting the haruspe[x]. From Wikipedia, The Latin terms haruspex and haruspicina are from an archaic word, hīra = “entrails, intestines” — so yes, we do look at the “guts of your code” to understand your applications, technology landscape (sprawl?) and developers.