Git.Top turns unstructured GitHub repository data into structured project knowledge that humans and AI agents can search, compare, recommend, score, and call through REST APIs or MCP tools.
The Cloudflare Worker is the only product surface. It serves the human HTML pages, REST APIs, MCP endpoint, GitHub sync, and D1-backed knowledge data.
Evidence-backed open-source project search, recommendations, alternatives, and comparisons.
/mcp/core - connect a focused five-tool MCP profile for first-time use.
Architecture
GitHub API
-> Git.Top ETL
-> Cloudflare D1
-> Worker pages, REST APIs, MCP tools, sync jobs, and quality gates
The project intentionally does not ship a separate Next.js app. Keeping Worker-rendered pages, APIs, sync, D1 access, OpenAPI, and MCP in one runtime avoids split product behavior.
/api/health reports D1 availability and the current project count. Run pnpm db:execute and pnpm db:seed before local API checks when the D1 state is empty. pnpm db:execute prepares the local D1 schema and backfills optional columns that may be missing from older local databases. seed.sql is generated from hand-authored seed knowledge and generated eval fixtures; run pnpm db:seed-sql after changing those fixtures. pnpm db:integration seeds local D1, starts a temporary local Worker, and validates the D1-backed HTTP API path.
pnpm eval:quality is the CI-safe recommendation and classification regression gate. pnpm eval:explanations checks that agent-facing responses include source metadata, classification evidence, quality signal confidence, recommendation reasons/tradeoffs, health count semantics, and GRP reasoning. pnpm eval:agent-tasks gates complete trust, fallback, pagination, evidence, comparison, change-feed, feedback, multilingual, typo, and alias workflows and writes docs/AGENT_TASK_EVAL.md. pnpm eval:local runs broader generated category and deployment probes across the fixture-backed project set and writes docs/EVAL_LOCAL.md; use it before tuning ranking heuristics, but keep it out of the default validation path. pnpm eval:ranking compares offline ranking strategies in docs/RANKING_EXPERIMENTS.md. Runtime search keeps exact-intent ranking by default; broad scoped discovery can opt into ranking=browse.
pnpm seed:candidates discovers seed expansion candidates from live GitHub organization metadata and writes docs/SEED_CANDIDATES.md. Treat it as a review queue, not an automatic append step; candidates still need live-check and category review before entering data/seed-repositories.json.
pnpm smoke:prod validates the deployed Worker at https://git.top and requires D1-backed responses. Use pnpm smoke:prod -- --base-url http://localhost:8787 for a local or preview Worker, or add --allow-seed only when intentionally checking seed fallback behavior.
pnpm quality:check validates the production /api/quality endpoint at https://git.top by default, requires D1-backed metadata, and uses a default minimum score of 90. Use --base-url, --target, --min-score, or --allow-seed for preview and fallback checks.
Operations and data governance are exposed through /operations, /api/governance/summary, and /api/governance/runs. The Cloudflare Worker cron runs hourly maintenance plus daily, weekly, biweekly, and monthly governance checks, then records results in governance_runs.
pnpm release:check runs the public V1 release gate: local validation, local D1 integration, production quality, and production smoke. Use pnpm release:check -- --skip-prod-smoke only when validating a build before the production deployment exists; it skips production-only checks. Use pnpm release:check -- --base-url <origin> to run the same gate against a Worker preview or local origin.
When updating an existing D1 database, apply SQL files in migrations before deploying code that reads the new columns.
Sync
Git.Top can sync real repository data from the GitHub API into D1.
Required production secrets:
wrangler secret put GITHUB_TOKEN
wrangler secret put SYNC_SECRET
For local development, copy .dev.vars.example to .dev.vars and fill in real values.
Use {"limit":40,"signal_depth":"lite"} for manual catch-up syncs after checking recent /api/sync/status runs. Cron uses a smaller lightweight batch size to stay under Worker subrequest limits, while manual catch-up remains capped at 50.
Omit offset to use the stored seed cursor. Cron syncs use this cursor and advance through the seed list in bounded batches.
Add --refresh-cycle when all seed repositories have been indexed but freshness recovery requires revisiting the full seed cursor despite remaining_count=0.
API
GET /api/project/:owner/:name
GET /api/health
GET /api/quality
GET /api/benchmark
GET /api/governance/summary
GET /api/governance/runs
GET /api/sync/status
GET /api/schema/agent-card.v1
GET /api/schema/project-knowledge.v1
GET /api/search
GET /api/trending
GET /api/category/:name
GET /api/recommend
GET /api/compare
GET /api/alternatives/:owner/:name
POST /api/grp/query
POST /api/admin/sync
POST /api/admin/alternatives
POST /api/admin/governance/runs
See git_top_v1.md for the V1 development spec and git_top_grp_v1.md for the GRP v1 reasoning protocol implementation spec.
Noch keine Tool-Liste. Remote-Server erhalten eine nach dem ersten Health-Check.
FAQ
Fragen
Wie installiere ich Git.Top?
Kopieren Sie auf dieser Seite die http-Konfiguration für Cursor, Claude Desktop, Claude Code oder VS Code. Sie nutzt die Installation des Herausgebers, keinen PlugMCP-Proxy.
Benötigt Git.Top einen API-Schlüssel?
In diesem Eintrag ist keine erforderliche Umgebungsvariable aufgeführt.