Codync
A free, open-source 1:1 alternative to Grok Bot and Muse. Message Claude Code, Codex, Cursor and 40+ coding agents as persistent bots from your iPhone, Mac or Linux desktop. Group chats, threads, appr
Kospex is git analytics for engineering teams: find orphaned repos, map who knows which code, identify key person risk, and analyse open source dependencies across all your repositories.
Developer toolsPython · HTMLGitHub @kospexOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Know your code and know your developers: git analytics, code ownership, key person risk, dependency and supply chain freshness, and tech landscape — from a CLI and local web UI.
Taken from the repository README
Loading the full README.
Read the full README ↗Kospex maps the knowledge, technology and maintenance risk hiding in your git repositories.
It answers questions that are surprisingly hard to answer at scale:
Kospex inspects cloned repositories on disk and aggregates everything into a single
queryable database, so you can ask those questions across one repo or thousands.
There are two ways to use it: a CLI for scanning, querying and automation, and a
Web UI (kweb) for exploring the data interactively.
Inspired by the excellent Mergestat lite, whose database structure we use to model data from git repositories.
Requires Python 3.12+. A virtual environment is optional but strongly recommended.
# 1. Install
pip install kospex
# 2. Set up ~/kospex (config, database, logs) and ~/code (cloned repos)
kospex init --create --verbose
# 3. Clone a repo — this clones into ~/code/GIT_SERVER/ORG/REPO and syncs it
kgit clone https://github.com/mergestat/mergestat-lite
# 4. Ask some questions
kospex summary
kospex developers -days 90
kospex tech-landscape -metadata
# 5. Explore it all in the browser at http://127.0.0.1:8000
kweb
Already have repositories cloned somewhere? Sync the lot in one go:
kospex sync-directory /path/to/your/repos
For complexity metrics and much better file type detection, install the
scc binary (brew install scc). It's optional, but recommended.
Full walkthrough: Getting started.
Who knows what, and whether they're still around.
More than just languages — kospex identifies the whole toolchain from filenames, paths and content:
sccThe result is a technology landscape you can compare over time — what you build with now, versus twelve months ago.
Signals that code needs attention — or an owner:
Longer write-ups are in use cases.
Most commands need data synced into the kospex DB first.
| Command | What it does |
|---|---|
kospex summary | Overview of every synced repo — developers, activity and status |
kospex developers -days 90 | Developers who've committed recently |
kospex tech-landscape -metadata | Technology stack across everything you've synced |
kospex stats REPO_ID | Developer stats and key person analysis for one repo |
kospex key-person PATH/TO/REPO | Top all-time and top active committers |
kospex orphans | Repos with no still-active committers (experimental) |
kospex hotspot -repo PATH/TO/REPO | Files that change often and are complex |
kospex deps -repo PATH/TO/REPO | Find dependency manifest and lock files |
kospex sca | Lightweight software composition analysis |
kospex list-repos -db | Everything synced into the database (add -repo_id for the ID column) |
kweb | Start the Web UI on http://127.0.0.1:8000 |
Most query commands accept -repo PATH/TO/REPO for a repo on disk, or -repo_id /
-org_key / -server to query synced data. For example:
kospex developers -repo_id github.com~kospex~kospex
kospex tech-landscape -repo_id github.com~kospex~kospex
kospex developers -server github.com -days 365
Run kospex COMMAND --help for the switches on any command, or see the full
command reference.
kgit pull --all # git pull + re-sync every known clone
kgit pull --check --all # offline staleness report, no network
kgit pull --org github.com~myorg # or scope to one org, server or repo_id
kospex sync-metadata -repo PATH/TO/REPO
Syncing a repo does not refresh its dependencies — see Refreshing data for which command updates which table.
Kospex uses a GIT_SERVER/ORG/REPO directory layout for cloned repos:
| Directory | Purpose |
|---|---|
~/kospex/ | Config files, the kospex DB (SQLite3) and logs |
~/code/ | Cloned repositories, in a GIT_SERVER/ORG/REPO structure |
For example:
~/code/
github.com/
kospex/kospex
mergestat/mergestat-lite
bitbucket.org/
myorg/myrepo
This gives a deterministic way of separating orgs, and different git instances as well
(e.g. an on-premise Bitbucket alongside GitHub.com). Override the defaults with the
KOSPEX_HOME and KOSPEX_CODE environment variables.
Most tables have a _repo_id column in the format GIT_SERVER~OWNER~REPO, so
https://github.com/kospex/kospex becomes github.com~kospex~kospex. Most queries use
author_email from git to mean "a developer".
Many reports describe something as active, aging, stale or unmaintained. That's a simple calculation from a given date, using these default rules:
| Description | Rule |
|---|---|
| Active | < 90 days |
| Aging | > 90 and < 180 days |
| Stale | > 180 and < 365 days |
| Unmaintained | > 365 days |
It's applied to the last commit in a repo, the last update of a package manager file, or the release date of a library you depend on. Something labelled "unmaintained" may well be feature complete — but where there are external dependencies, code usually needs a change a couple of times a year.
kospex, kgit, kweb and krunner referenceBug reports and pull requests are welcome via GitHub issues.
To work on kospex, clone it and install in editable mode. The [test] extra adds
pytest and httpx, which the test suite needs:
git clone https://github.com/kospex/kospex
cd kospex
pip install -e ".[test]"
pytest
Quote the extra (".[test]") — zsh treats bare brackets as a glob. If you only want to
run kospex rather than develop it, pip install -e . is enough.
Frontend assets are built with npm install && npm run build.
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.
MIT © Peter Freiberg