Skip to content

siliconked/gitfit

Repository files navigation

GitFit

GitFit is a Chrome extension that lets you upload one coding transcript (.md) and instantly see a Personal Fit score on GitHub repositories.

It works fully client-side for profile generation and injects scores directly into GitHub pages:

  • single repository pages (badge beside repo title)
  • repository list pages (badge beside each repo in list)
  • optional in-page sort by Personal Fit

Why this exists

Stars and hype do not always answer: "Will this repo fit how I build?"

GitFit creates a personal workflow profile from your transcript and scores repos against that profile in real-time.

Features

  • Upload a single transcript in popup UI (.md)
  • Local profile extraction (languages, domains, workflow style, quality preferences)
  • Inline Personal Fit badge on GitHub repo pages
  • Inline Personal Fit badges on list pages (Trending/Search/Explore)
  • List sorting: highest fit / lowest fit
  • Dynamic badge color coding (higher score -> greener badge)
  • Popover explanation:
    • score
    • confidence
    • reasons
    • caveats

Screenshots

GitHub list view with per-repo fit

GitFit List View

Repo title badge

GitFit Repo Badge

Scoring Model (v0.2.2)

Each repo score is computed from weighted dimensions:

  • workflow/domain match
  • language/toolchain match
  • docs + quality signals
  • maintenance/recency
  • ecosystem maturity
  • popularity (light weight)

Data used per repository

  • GitHub repo metadata (stars, forks, issues, language, updated_at, pushed_at, topics)
  • README content (via GitHub API)

Consistency guarantee

List and repo page badges use the same shared scoreRepoSlug(profile, slug) pipeline and cache, so the same repo should show the same score across views.

Privacy

  • Transcript upload is explicit and manual.
  • Profile inference runs locally in extension popup.
  • Cached repo scores are stored in chrome.storage.local.
  • No backend server is required.

Project structure

  • dist/manifest.json - extension manifest
  • dist/popup.html - popup UI
  • dist/popup.js - transcript parsing and profile creation
  • dist/popup.css - popup styling
  • dist/content.js - GitHub injection + scoring + sorting
  • dist/content.css - badge/popover styling

Install (unpacked extension)

  1. Download or clone this repository.
  2. Open chrome://extensions.
  3. Enable Developer mode.
  4. Click Load unpacked.
  5. Select the dist folder.
  6. Open extension popup and upload your transcript .md.
  7. Browse GitHub repos and lists.

Build zip for release

From the project root in PowerShell:

Compress-Archive -Path "dist\*" -DestinationPath "gitfit-local-extension-v0.2.2.zip" -Force

Extension icon/logo

GitFit ships with packaged icons in dist/icons for:

  • Chrome extensions page
  • toolbar action icon
  • distribution assets

Limitations

  • GitHub API unauthenticated rate limits can reduce metadata quality.
  • Scores are heuristic and should be treated as directional, not absolute truth.
  • DOM selectors may require updates if GitHub significantly changes markup.

Roadmap ideas

  • Optional GitHub token for higher API limits
  • Better model calibration with user feedback loops
  • Filter by min score and score confidence
  • Weekly recommendation digest (opt-in)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors