Shpigford/knockoffPublic

Chrome extension that filters pseudo-brand junk out of Amazon. Buy from real, established brands.

AI summary: A simple CLI tool to clone specific directories or files from any GitHub repository.

Stars
2K
+2 today
Forks
72
Watchers
6
Open issues
0
Open PRs
0
Contributors
~8
Commits
103
Branches
1

JavaScriptOtherCreated Jul 6, 2026Last push 20d agoLatest release v0.7.2+18 stars this week+23 this month

Star history

since Jul 5, 2026
05001K1.5KJul 2026Jul 2026Jul 2026Aug 2026
2K stars as of Aug 7, 2026, tracked back to Jul 5, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulAugMonWedFri2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 7 commits2026-07-07: 23 commits2026-07-08: 16 commits2026-07-09: 20 commits2026-07-10: 11 commits2026-07-11: 6 commits2026-07-12: 5 commits2026-07-13: 14 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 1 commit2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits
103 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Continuous integration

    Automated checks passing

  • Repeat trending

    3 trending appearances

What knockoff does

Knockoff solves the problem of downloading only parts of a large repository. Instead of cloning an entire gigabyte-sized repo just to get a single folder or configuration file, Knockoff fetches exactly what you need. It uses the GitHub API to selectively download files while preserving the original directory structure. It is designed to be fast, lightweight, and incredibly simple to use.

Developers who frequently need to extract specific parts of GitHub repositories. It requires basic familiarity with command-line tools.

  • Partial Cloning: Downloads specific folders or files without fetching the entire repository history.
  • Directory Preservation: Maintains the exact folder structure of the downloaded files locally.
  • GitHub API Integration: Leverages the API for fast, targeted retrieval of repository contents.
  • Lightweight CLI: Provides a straightforward command-line interface with minimal dependencies.
  • Branch Support: Allows specifying specific branches or tags for downloading.

Where teams use it

Extracting Templates

Downloading just the 'examples' or 'templates' directory from a large framework repository.

Grabbing Configs

Fetching specific dotfiles or configuration scripts from a public dotfiles repo.

Bandwidth Saving

Saving time and data when working on slow connections by avoiding massive clones.

Quick Inspections

Downloading a single source file to inspect or modify quickly.

Getting started: npm install -g knockoff-cli

README

main branch

Knockoff: Amazon, without the knockoffs

Knockoff

A browser extension that filters pseudo-brand junk out of Amazon. Buy from real, established brands, even when that means paying more.

Amazon is flooded with trademark-squat "brands" (SZHLUX, HORUSDY, LATTOOK, DOZAWA...): random strings registered at the USPTO purely to unlock Amazon Brand Registry, selling commodity goods with no company, no warranty, and no reputation behind them. Knockoff detects those listings and hides, dims, or labels them, right in the search results.

Note

This is a frozen public snapshot. Active development has moved to a private repository, and future versions are no longer built in the open — so nothing here phones home. Loaded as-is, this build makes zero calls to any Knockoff server: it runs entirely on the brand lists bundled in the repo, and it won't receive further updates. For the maintained, auto-updating extension, install from the stores below. To run the fully local build yourself, see Self-contained by default.

Install

Add to Chrome from the Chrome Web Store, or Add to Firefox from Firefox Add-ons.

Or run the fully local build straight from this repo:

  1. Clone this repo
  2. Open chrome://extensions
  3. Turn on Developer mode (top right)
  4. Click Load unpacked and select the repo folder

Works on every Amazon marketplace, with no server behind it.

Safari

Safari requires the extension to be wrapped in a native app. Open safari/Knockoff/Knockoff.xcodeproj in Xcode, run the Knockoff scheme, then enable Knockoff in Safari → Settings → Extensions. For unsigned local builds, first check "Allow unsigned extensions" in Safari's Develop menu.

The Xcode project carries its own copy of the extension files; after editing the extension, run scripts/sync-safari.sh to update it before rebuilding.

Press

Some of the coverage since launch:

How it works

Everything runs locally in a content script. No accounts, no tracking, no network requests of any kind. Each product tile's brand is resolved through this pipeline (first match wins):

# Check Verdict
1 Your allowlist allowed, never filtered
2 Your blocklist blocked, always filtered
3 Seed list of notorious pseudo-brands (data/flagged-brands.js) flagged
4 Established Chinese-owned brands (data/chinese-major.js) known, or flagged if you enable that setting
5 ~5,000 established brands (data/known-brands.js + the bundled community allowlist in data/community-brands.js) known
6 Name heuristics (see below) flagged / suspect / unknown
- No brand at the front of the title at all unbranded

Name heuristics

Unknown brands are scored on the linguistic signature of trademark-squat names: ALL-CAPS 5–9 character strings, vanishing vowel ratios, unpronounceable consonant runs, un-English letter pairs, non-Latin characters, random iNternal caPitalization. High scores are flagged, mid scores suspect. The known-brands list always vetoes the heuristics: plenty of real brands (ASICS, RYOBI, HOKA) would otherwise look suspicious. Scoring lives in src/detector.js and is deliberately readable, and easy to tune for your own build.

Filter levels

Level Filters
Relaxed Known pseudo-brands + your blocklist
Standard (default) + suspect-looking names + unbranded listings
Strict + anything not on a known-brands list (allowlist-only)

Actions

Filtered items can be hidden (with a floating pill showing the count and a one-click reveal), dimmed (fade + desaturate, restore on hover), or just labeled. Every badge is clickable: trust the brand, block it, show the item once, or report a misclassification.

Product detail pages get a verdict chip next to the brand byline. The page is never hidden out from under you.

Self-contained by default

This build talks to no server. Every feature that could make a network request is either satisfied from bundled data or turned off:

  • Brand lists — the ~5,000 known brands and the community allowlist ship in data/. There is no daily refresh; the bundled snapshot is the whole list.
  • DOM config — the selectors the scanner uses live in data/config.js. There is no config push; the bundled copy is authoritative.
  • Reports — the one-click "wrong verdict" button opens a prefilled GitHub issue instead of POSTing to an API.

The switches for all of this are the three constants at the top of src/content.jsBRANDS_URL, CONFIG_URL, and REPORT_ENDPOINT — which ship blank. Point them at your own host to re-enable on-demand list refresh, config pushes, and structured reports. (The server itself is not part of this repo.)

Reporting misclassifications

The badge menu has one-click reporting ("this is junk" / "this is a real brand"). Because this snapshot ships with no report endpoint configured, a report opens a prefilled GitHub issue rather than posting anywhere. Wire up your own endpoint (see Self-contained by default) to collect them as structured POSTs instead — brand, verdict, ASIN, marketplace, and extension version, no PII.

Editing the brand lists

There is no build step — the extension is plain JavaScript, loadable directly from the repo — so the lists are easy to tune for your own copy. A real brand getting filtered goes in data/known-brands.js; a pseudo-brand getting through goes in data/flagged-brands.js; the full rundown is in CONTRIBUTING.md.

Because this repository is a frozen snapshot, pull requests here won't ship to the published extension — but your edits take effect immediately in a local build.

manifest.json             MV3 manifest
data/known-brands.js      curated established brands (edit this one!)
data/chinese-major.js     established Chinese-owned brands (toggleable)
data/flagged-brands.js    seed blocklist of notorious pseudo-brands
data/generic-words.js     common title words, for unbranded detection
data/community-brands.js  bundled community allowlist snapshot (generated, don't edit)
src/detector.js           detection engine (pure logic, no DOM)
src/content.js            page scanning, badges, actions, in-page control panel
src/background.js         toolbar button → panel toggle (or options page)
options/                  settings page (rules, allow/blocklist)
safari/                   Xcode wrapper app for Safari (macOS)
store-assets/             Chrome Web Store images + the HTML frames that render them
scripts/                  maintenance scripts

Known limitations

  • Mixed-case gibberish ("Geinxurn", "Mulwark") scores below the suspect threshold at standard level; Strict mode catches it. A bundled character bigram model would fix this properly.
  • Carousels and a few exotic tile layouts aren't scanned yet (TILE_SELECTORS in src/content.js is the extension point).
  • Non-English stores are best-effort. Brand lists and the product-page chip work everywhere, but the name heuristics are English-tuned, so an unlisted local brand can slip through. Non-Latin listings (Japanese, Arabic) are skipped rather than mis-filtered, so nothing breaks on any marketplace.

Prior art

Research that shaped this design: AmazonBrandFilter (allowlist approach; its MIT-licensed community list seeded Knockoff's own) and The Markup's Amazon Brand Detector. Knockoff's contribution is combining a community allowlist with a heuristic scorer, with the allowlist as veto.

License

This snapshot is released under FSL-1.1-MIT (each version converts to MIT two years after its release). Knockoff is no longer developed as an open-source project: active work happens in a private repository, and future versions are not published here.

View on GitHub

Recent activity

commits and pull requests

Releases and announcements

6 total
  1. v0.7.2v0.7.2Jul 13, 2026

    - Under-the-hood reliability and anti-abuse hardening for the community seller map.

  2. v0.7.1v0.7.1Jul 13, 2026

    - Fixed: the seller-map contribution stats could show a community total smaller than your own count (like "13 mapped / of the community's 1"). The two numbers now count the same thing, so the community total is never less than yours.

  3. v0.7.0v0.7.0Jul 13, 2026

    - New: listings now show a small flag for where the seller is based — like 🇨🇳 CN — on the product image in search results and on the product page, so you can see a listing's origin at a glance. Flags are display-only and never change what Knockoff filters. On by default; you can turn them off in settings. - New: when Knockoff doesn't recognize a seller yet, it shows a "Where from?" chip — opening the seller page adds their country to a community-built map that every install benefits from, and the countries you help map fill in a personal passport. Only seller IDs and countries are ever sent, never anything about you, your search, or the products.

  4. v0.6.0v0.6.0Jul 13, 2026

    - New: installing Knockoff now opens a quick welcome page that confirms it's on and lets you see it work on a live Amazon search, instead of dropping you into a settings form. - New: the first time Knockoff filters a search, a one-time toast confirms it's working and points out the toolbar button. - Changed: the Mac, iPhone, and iPad app icons now use the new red price-tag mark, matching the browser extension.

  5. v0.5.1v0.5.1Jul 12, 2026

    - Fixed: real brands are no longer dimmed on Amazon's newer search layout, where the brand sits on its own line above the product title (fixes Sony, SmallRig, and similar "[brand] [product]" searches). - Improved: Knockoff can now adapt to Amazon layout changes without waiting for a store update, so filtering keeps working when Amazon reshuffles its page structure. - Changed: Knockoff's website has moved to knockoff.co.

Commits per week

last 52 weeks
830Week of 2025-08-10: 0 commitsWeek of 2025-08-17: 0 commitsWeek of 2025-08-24: 0 commitsWeek of 2025-08-31: 0 commitsWeek of 2025-09-07: 0 commitsWeek of 2025-09-14: 0 commitsWeek of 2025-09-21: 0 commitsWeek of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 83 commitsWeek of 2026-07-12: 20 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsWeek of 2026-08-02: 0 commitsAug 10, 2025Aug 2, 2026
103 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 0 commitsSun 14:00 — 0 commitsSun 15:00 — 0 commitsSun 16:00 — 0 commitsSun 17:00 — 4 commitsSun 18:00 — 0 commitsSun 19:00 — 0 commitsSun 20:00 — 1 commitsSun 21:00 — 0 commitsSun 22:00 — 0 commitsSun 23:00 — 0 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 1 commitsMon 6:00 — 5 commitsMon 7:00 — 0 commitsMon 8:00 — 1 commitsMon 9:00 — 0 commitsMon 10:00 — 6 commitsMon 11:00 — 0 commitsMon 12:00 — 1 commitsMon 13:00 — 3 commitsMon 14:00 — 2 commitsMon 15:00 — 2 commitsMon 16:00 — 0 commitsMon 17:00 — 0 commitsMon 18:00 — 0 commitsMon 19:00 — 0 commitsMon 20:00 — 0 commitsMon 21:00 — 0 commitsMon 22:00 — 0 commitsMon 23:00 — 0 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 4 commitsTue 8:00 — 1 commitsTue 9:00 — 3 commitsTue 10:00 — 0 commitsTue 11:00 — 2 commitsTue 12:00 — 4 commitsTue 13:00 — 0 commitsTue 14:00 — 1 commitsTue 15:00 — 0 commitsTue 16:00 — 2 commitsTue 17:00 — 0 commitsTue 18:00 — 0 commitsTue 19:00 — 1 commitsTue 20:00 — 4 commitsTue 21:00 — 1 commitsTue 22:00 — 0 commitsTue 23:00 — 0 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 2 commitsWed 6:00 — 1 commitsWed 7:00 — 2 commitsWed 8:00 — 1 commitsWed 9:00 — 5 commitsWed 10:00 — 3 commitsWed 11:00 — 1 commitsWed 12:00 — 1 commitsWed 13:00 — 0 commitsWed 14:00 — 0 commitsWed 15:00 — 0 commitsWed 16:00 — 0 commitsWed 17:00 — 0 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 0 commitsWed 21:00 — 0 commitsWed 22:00 — 0 commitsWed 23:00 — 0 commitsThu 0:00 — 0 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 1 commitsThu 4:00 — 3 commitsThu 5:00 — 3 commitsThu 6:00 — 3 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 3 commitsThu 10:00 — 4 commitsThu 11:00 — 1 commitsThu 12:00 — 1 commitsThu 13:00 — 0 commitsThu 14:00 — 1 commitsThu 15:00 — 0 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 0 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 0 commitsThu 22:00 — 0 commitsThu 23:00 — 0 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 3 commitsFri 7:00 — 1 commitsFri 8:00 — 2 commitsFri 9:00 — 0 commitsFri 10:00 — 3 commitsFri 11:00 — 1 commitsFri 12:00 — 0 commitsFri 13:00 — 0 commitsFri 14:00 — 1 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 0 commitsFri 18:00 — 0 commitsFri 19:00 — 0 commitsFri 20:00 — 0 commitsFri 21:00 — 0 commitsFri 22:00 — 0 commitsFri 23:00 — 1 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 3 commitsSat 7:00 — 0 commitsSat 8:00 — 2 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 1 commitsSat 13:00 — 0 commitsSat 14:00 — 0 commitsSat 15:00 — 0 commitsSat 16:00 — 0 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 0 commitsSat 21:00 — 0 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits92 (89%)
Community commits11 (11%)

103 commits in total over the last year.

DateListRankStars gained
Jul 10, 2026daily#13+3
Jul 8, 2026daily#7+7
Jul 7, 2026daily#12+7
  • react/react

    The library for web and native user interfaces.

    247.1K stars · JavaScript

  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    238.5K stars · JavaScript

  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    234.7K stars · JavaScript

  • vercel/next.js

    The React Framework

    141.7K stars · JavaScript

  • DietrichGebert/ponytail

    Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.

    98.1K stars · JavaScript

  • JuliusBrussee/caveman

    🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

    96.7K stars · JavaScript