forgerank
v0.1.2
Published
Explainable repository rankings from public GitHub evidence—without REST or GraphQL API credentials.
Maintainers
Readme

ForgeRank helps you compare the momentum, engineering activity, maturity, and contributor structure of public repositories—then inspect exactly why every score and rank exists.
It ranks only the repositories it has observed. Missing, blocked, stale, or insufficient evidence stays visible instead of being estimated.
Try a useful screen first
Requirements: Node.js 22.16+, pnpm 11.22+, and Git 2.40+.
git clone https://github.com/OthmaneBlial/ForgeRank.git
cd ForgeRank
corepack enable
pnpm install --frozen-lockfile
pnpm demoOpen http://127.0.0.1:3001.
Sample mode creates a dedicated data/demo-pglite database containing four fictional repositories and synthetic observations. A persistent banner labels every screen. It does not contact GitHub, does not touch the normal local database, and is safe to rebuild repeatedly.
Prefer to look before cloning? The guided browser demo lets you switch repositories and evidence windows, open score reasons, and see the cohort boundary using the same clearly labeled fictional dataset.
Install the operations CLI
The npm package exposes the indexing CLI and worker without requiring a repository clone. It stores its embedded database and caches in .forgerank/ inside the directory where you invoke it.
npm install --global forgerank
mkdir my-forgerank-index && cd my-forgerank-index
forgerank db migrate
forgerank seed
forgerank bootstrap --limit 12Run forgerank --help for the complete command list. The package requires Node.js 22.16+ and Git 2.40+. It never requires or accepts GitHub credentials.
What ForgeRank answers
| Question | Product surface | Evidence boundary | | ------------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------------------------------- | | What is moving inside my tracked set? | Trending modes and the Momentum Matrix | Comparable retained snapshots only | | Is a project large, accelerating, active, or all three? | Reach × momentum and repository score reasons | Each dimension keeps raw inputs and confidence | | Why did this repository rank here? | Six persisted score reasons and global rank history | Score version, cohort size, and calculation time stay visible | | Which projects are genuinely related? | Deterministic similarity and technology ecosystems | Shared language, topics, technologies, keywords, collections, and lifecycle | | What changed since the last observation? | Repository timeline, daily pulse, and weekly report | Derived only from retained evidence; no reconstructed dates | | Can developer evidence be shown responsibly? | Confirmed profiles and non-fork portfolios | Git authors are never silently relabeled as public accounts |
ForgeRank is not a quality oracle, security scanner, hiring score, or universal GitHub leaderboard. It is an evidence workbench for a disclosed observed corpus.
Why not just sort by stars?
Stars describe observed reach. They do not explain whether activity is sustained, attention is accelerating, contributor structure is concentrated, or the repository evidence is fresh enough to compare.
ForgeRank keeps those questions separate:
- Impact measures observed reach inside the indexed corpus.
- Momentum uses comparable snapshot windows rather than a popularity fallback.
- Health describes recent bounded activity and visible repository structures.
- Community uses privacy-safe Git-author depth and distribution.
- Engineering records sustained activity and maintenance infrastructure.
- Trust reflects evidence completeness and cautious anomaly handling.
The raw dimension sum is multiplied by observation confidence. Every calculation persists one positive, neutral, caution, or missing reason per dimension. See SCORING.md for the exact formulas and interpretation limits.
The evidence boundary
ForgeRank does not call GitHub’s REST or GraphQL APIs, require a token or OAuth grant, use a GitHub App or authenticated session, call hidden frontend endpoints, fetch Git LFS objects, or depend on external AI services.
It can use:
- selected public repository pages only when the current robots rules allow the exact URL;
- bounded normal HTTPS Git operations and allowlisted repository files;
- version-controlled identifiers and curated collections;
- its own timestamped, append-only observations and derived aggregates.
Collection is identified, cached, budgeted, and stopped on robots denial, throttling, or uncertainty. Avoiding REST/GraphQL credentials does not mean unlimited access, GitHub approval, or complete coverage. Read the full data-source contract, privacy boundary, and architecture decisions.
Start a real local index
The normal first run creates an embedded PGlite database, migrates it, and loads identifier-only seeds. It makes no GitHub request.
./run.shOpen http://127.0.0.1:3000. The initial empty-evidence states are expected. When you deliberately want to collect a bounded public sample, use a second terminal:
pnpm forge bootstrap --limit 12
pnpm forge inspect solidjs/solid
pnpm forge rankProduction HTTP requests never perform synchronous external collection. Submission and refresh actions only prioritize deduplicated queue work for the separate worker.
Architecture
Validated identifiers / submissions
│
▼
PostgreSQL-backed job queue
│
┌──────┴──────┐
▼ ▼
exact robots check bounded HTTPS Git
+ selected page + allowlisted files
└──────┬──────┘
▼
normalized, versioned evidence
▼
append-only snapshots + provenance
▼
scores, reasons, ranks, reports, UIThe presentation layer never parses source HTML or invokes Git. PGlite supports local development; PostgreSQL supports the worker, shared budgets, queue locking, search, and deployment. Start with ARCHITECTURE.md and the concise project documentation.
Current limitations
- A fresh real index contains identifiers, not analytics.
- Weekly, monthly, and longer trends remain unavailable until real snapshots span those windows.
- Public page structure, robots rules, Git service behavior, and GitHub policies can change.
- Rankings cover ForgeRank’s observed corpus, not every GitHub repository.
- Git authors are not automatically confirmed public accounts.
- File presence, activity, popularity, and score reasons do not prove correctness, security, code quality, maintainer intent, or individual worth.
- The guided and local demos use fictional repositories and synthetic values; they demonstrate behavior, not current external facts.
The detailed implementation ledger is in docs/PROGRESS.md. It records both verified work and evidence that still needs time or external operation.
If ForgeRank's evidence-first approach is useful to you, star the repository so you can find it again and help other builders discover it.
Verify the project
GitHub Actions is intentionally paused during the current product rework. The repository-local gates remain canonical:
pnpm format:check
pnpm verify
pnpm test:e2e
pnpm audit:accessibility
pnpm audit:performance
pnpm audit:postgrespnpm verify runs the zero-API architecture guard, lint, typecheck, unit tests, and a production build. Browser fixtures are deterministic, isolated, and network-free. The PostgreSQL audit uses a disposable database and never targets an existing database unless DATABASE_URL explicitly points to one.
Contributing
Useful contributions include:
- reporting a scoring or source-parser defect with reproducible evidence;
- adding sanitized parser fixtures and failure cases;
- improving score explanations, accessibility, or documentation;
- implementing a scoped item from the roadmap;
- proposing a larger acquisition or scoring change before coding it.
Read CONTRIBUTING.md for setup, architecture boundaries, fixture rules, and the required checks. For questions and issue routing, start with SUPPORT.md. Report vulnerabilities privately as described in SECURITY.md.
License
ForgeRank is licensed under the Apache License, Version 2.0. Its terms include an explicit, contributor-specific patent grant and a patent-litigation termination clause; they are not a blanket warranty against third-party patent claims.
ForgeRank is an independent project and is not affiliated with, endorsed by, or sponsored by GitHub, Inc. GitHub is a trademark of GitHub, Inc.
