Skip to content

didrod205/wiki-beef

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

127 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

wiki-beef πŸ₯©

The pettiest edit wars on Wikipedia, right now. Crawls the live MediaWiki API for the articles being reverted to death, scores the beef, and decodes what people are actually fighting about β€” borders, birthplaces, β€œis a hot dog a sandwich.” No API key, 100% public data, nothing uploaded.

🌐 Live leaderboard β†’ Β· auto-updated every few hours

The site crawls Wikipedia straight from your browser (hit πŸ”„ refresh live to re-crawl any language edition). Same engine in your terminal:

npx wiki-beef
  πŸ₯© wiki-beef β€” edit wars on en.wikipedia Β· last 24h

   1. πŸ—ΊοΈ Nikola Tesla Β· Borders & nationality
      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 290 Β· 21 reverts Β· 10 editors Β· 4.2/h Β· last 12m ago
      β€œrv, he was Serbian-American per consensus, see talk”
   2. ⚽ List of FIFA World Cup top goalscorers · Sports
      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘ 151 Β· 10 reverts Β· 8 editors Β· 2.3/h Β· last 1h ago
      β€œUpdated Messi's goals in FIFA world cup”
   3. πŸ”₯ Shrek the Third Β· General beef
      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 146 Β· 9 reverts Β· 3 editors Β· 36/h Β· last 6h ago
      β€œyou just revert it without explaining why”

  2,000 reverted edits Β· 1,198 contested pages Β· live from the MediaWiki API, no key.

Why

Wikipedia is a quiet, never-ending war. Most of it happens in the revert β€” one editor undoes another, then it’s undone back, over a birthplace, a date, a flag, a pronoun, a comma. wiki-beef finds the articles where that’s happening right now, ranks them by how hot the fight is, sorts the genuine disputes from plain vandalism cleanup, and surfaces the actual edit summaries β€” the receipts.

It’s a window into public data, not a verdict. A high score means a lot of reverts by a lot of editors, fast β€” not that anyone is wrong. The drama is already public; this just ranks it.

How it works

MediaWiki recentchanges API  ─crawlβ†’  reverted edits  ─groupβ†’  contested pages
   (mw-reverted tag, no key)              ─scoreβ†’  reverts Γ— editors Γ— velocity
                                          ─classifyβ†’  nationality / politics / bio / …
                                          ─→  ranked leaderboard
  • Crawl (crawlReverts) β€” pulls the edits tagged mw-reverted over a time window from any language edition. Browser-safe (no node:*), so it runs in the CLI, in CI, and live in the web page (MediaWiki allows anonymous CORS).
  • Score (scoreBeef) β€” reverts Γ— editors Γ— velocity, boosted by real-dispute signals (per talk, POV, consensus, unsourced) and penalized for vandalism signals (rvv, blanking) β€” so genuine fights outrank routine cleanup.
  • Classify (classify) β€” a curated lexicon sorts each fight into borders & nationality πŸ—ΊοΈ, politics πŸ›οΈ, sports ⚽, pop culture 🎬, bios πŸ‘€, grammar ✍️, vandalism 🧹, or general beef πŸ”₯.
  • The live site is static: a GitHub Action re-crawls every few hours, commits a fresh beefs.json, and the page renders it β€” no server, no database.

Install & usage

npm i -g wiki-beef      # then:  wiki-beef
# or zero-install:
npx wiki-beef
wiki-beef                          # today's top fights on en.wikipedia
wiki-beef --lang de                # any edition: de, fr, es, ru, ja, zh, pt…
wiki-beef --hours 6 --top 25       # tighter window, more results
wiki-beef --ns all                 # include talk/user pages, not just articles
wiki-beef --md > beefs.md          # a Markdown table
wiki-beef --json | jq '.beefs[0]'  # the full report as JSON

beef is a shorter alias for the same command.

Flag
--lang <code> Wikipedia language edition (default en)
--hours <n> how far back to look (default 24)
--top <n> how many fights to show (default 15)
--ns <0|all> namespace β€” articles only (default) or everything
--min-reverts <n> min reverts to count as a beef (default 2)
--json [file] / --md [file] machine-readable / Markdown output

Library

The core is pure and browser-safe β€” crawl + process anywhere:

import { getBeefs, crawlReverts, processChanges } from "wiki-beef";

const report = await getBeefs({ lang: "en", hours: 24, top: 20 });
report.beefs[0]; // { title, score, reverts, editors, category, about, quotes, historyUrl, … }

// or split it:
const changes = await crawlReverts({ lang: "fr", hours: 12 });
const beefs = processChanges(changes, { lang: "fr" });

Privacy & etiquette

All data comes from Wikipedia’s public MediaWiki API β€” recent changes that are visible to anyone. No account, no key, nothing about you is sent anywhere. The crawler identifies itself with a descriptive User-Agent and a polite request cadence. Be a good citizen: don’t crank --hours absurdly high in a tight loop.

It points at articles, never at individual editors β€” usernames are only counted, never ranked or shamed.

Contributing

The most useful contribution is a better classifier β€” a keyword that catches a kind of fight the lexicon misses, or a score tweak that better separates real disputes from cleanup. See CONTRIBUTING.md.

License

MIT Β© didrod205


It’s public Wikipedia drama β€” no judgment, just the receipts.

πŸ’– Sponsor

Find this useful? Sponsor on GitHub β€” it keeps these projects maintained.

Sponsor

About

The pettiest edit wars on Wikipedia, right now. Crawls the live MediaWiki API for the most-reverted articles, scores the beef, decodes what they're fighting about. No API key, 100% public data. Self-updating leaderboard.

Topics

Resources

License

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors