Score any gitlawb network repo. Six components, one number.
The engine behind gitdex.app.
$ npx @gitdex-labs/gitscore z6MkqDnb7Siv3Cwj7pGJq4T5EsUisECqR8KpnDLwcaZq5TPr/openclaude
z6MkqDnb...gPr/openclaude · GitScore 86/100
Longevity ██████████░░░░░░ 61% (15% weight)
Popularity ██░░░░░░░░░░░░░░ 15% (10% weight)
Originality ████████████████ 100% (10% weight)
Freshness ████████████████ 100% (20% weight)
Activity ████████████████ 100% (30% weight)
Contributors ████████████████ 100% (15% weight)
via gitdex.app · gitlawb network
- Zero runtime dependencies
- Node 18+
- ~250 LOC, fully tested
- MIT
npm install -g @gitdex-labs/gitscore
# or use npx (no install)
npx @gitdex-labs/gitscore <ownerDid>/<repoName>GitScore combines six normalized components into a single 0–100 number:
| Component | Weight | Signal |
|---|---|---|
| Activity | 30% | Commits in the last 90 days (log, saturates ~30) |
| Freshness | 20% | Days since last push (linear decay, 0 at 90d) |
| Longevity | 15% | Repo age (log, saturates ~2 years) |
| Contributors | 15% | Distinct commit authors (log, saturates ~10) |
| Popularity | 10% | Stars (log, saturates ~100) |
| Originality | 10% | 1.0 if original, 0.3 if fork |
Final score = weighted average × 100, rounded. Components that can't be computed are skipped and the remaining weights are renormalized.
All math is in src/score.ts — short, pure, tested.
By default the CLI queries https://node.gitlawb.com. Point it at a different node by setting GITLAWB_NODE_URL:
GITLAWB_NODE_URL=https://my-node.example.com npx @gitdex-labs/gitscore <ownerDid>/<repoName>import { gitScore, fetchGitlawbRepo } from "@gitdex-labs/gitscore";
const inputs = await fetchGitlawbRepo("z6MkqDnb.../openclaude");
const { score, components } = gitScore(inputs);
console.log(score); // 86
console.log(components); // { longevity: 0.61, popularity: 0.15, ... }You can also pass your own inputs (e.g., from a custom data source):
const { score } = gitScore({
createdAt: "2024-05-24T00:00:00Z",
pushedAt: "2026-05-20T00:00:00Z",
stars: 100,
isFork: false,
commits: [{ author: "dev@example.com", date: "2026-05-20T00:00:00Z" }],
});Commit counts and star totals alone are easy to fake or game. GitScore combines six independent signals so a single distorted dimension can't dominate the result. The formula is open and reproducible — run it yourself.
For the full live leaderboard, daily score snapshots, and the Tokenization Radar across Clanker, bankr, and Flaunch — see gitdex.app.
This tool is itself a gitlawb-network repo (eating its own dog food):
- gitlawb:
gitlawb://did:key:z6MknVT5UjuYaL6F88F8DSfnPHX2uaNgF6s592PqNHoAtKmE/gitscore - GitHub mirror: https://github.com/gitdex-labs/gitscore
MIT