Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gitdex-labs/gitscore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

8 Commits

Repository files navigation

gitscore

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

Install

npm install -g @gitdex-labs/gitscore
# or use npx (no install)
npx @gitdex-labs/gitscore <ownerDid>/<repoName>

How it works

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.

Configuration

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>

Library usage

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" }],
});

Why

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.

Source

This tool is itself a gitlawb-network repo (eating its own dog food):

License

MIT

About

Score any gitlawb network repo. Six components, one number. The engine behind gitdex.app.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /