$ npx deeplarp --help
How the score works
deeplarp reads a GitHub profile or repo and checks what it claims, in the bio, descriptions and READMEs, against what the code shows. Every point on a report comes from a rule on this page, and every rule leaves a receipt you can check on GitHub yourself. It's a measure of claims against code, not a verdict on anyone's intent.
Signals
Each signal adds points. A contradicted signal means the code says the opposite of a claim. A suspicious one is a pattern that often goes with larping but has innocent explanations too.
- +40Backdated commits contradictedScripted-looking runs of commits (one message repeated, or one clock time) dated before the repo existed. Old author dates on their own count as suspicious.
- +35LLM wrapper contradictedClaims "agentic", "autonomous", "AI engine" or "AI-powered", but the logic is mostly calls to an LLM SDK. A plain "agent" doesn't count: an agent on an SDK is an honest description.
- +35Empty claim contradictedHype words like "production-ready" or "world's first" in the pitch, over less than 50 lines of code. Docs repos, lists and profile READMEs are skipped.
- +30Stack mismatch contradictedThe README claims a language that GitHub's language breakdown doesn't show.
- +30Template leftovers contradictedcreate-next-app or Vite defaults, or a tutorial's names, under a "built from scratch" claim. Without that claim it counts as suspicious.
- +15README padding suspiciousA README far longer than the code it describes.
- +15Big-bang commits suspicious3000+ lines of code arriving in 3 or fewer commits.
- +15Fork padding suspiciousMost of the profile is forks with no commits of the owner's own.
Credits
Evidence of real work takes points off, up to 20 in total. Credits only offset suspicious points. Tests in one repo don't undo a painted contribution graph or an empty claim in another.
- -10Tests and CI creditReal test files (not empty ones, not a template's) or CI workflows.
- -15Merged PRs creditPull requests merged into other people's repos.
Adding it up
The same signal on another repo adds half its weight again, for up to 3 extra repos. One empty claim proves the point. Four make it a pattern.
Suspicion alone stops at 74. Reaching 75 or more needs at least one contradicted signal.
Under 20 with a credit is a Real One. Under 20 without one is Unproven: nothing contradicted, nothing proven. Fewer than 3 repos of its own, or an account under 30 days old, is an NPC and gets no score. Everything else is named after its biggest group of signals (Wrapper, Tutorial or Farmer), or a combination when the second group is close behind.
Which repos
A profile scan reads the pinned repos plus the top 20 by stars. Tutorial patterns (README padding, template leftovers, big-bang commits) only count on the repos a profile shows off: its pinned repos, or the six GitHub shows when nothing is pinned. A template left in an old bug repro isn't anyone's portfolio.
Repos that call themselves a learning exercise ("course project", "followed a tutorial", practice or assignment in the name) skip those patterns too.
What it doesn't judge
Stars (bought stars aren't the owner's larp), years of experience, or abandoned projects (an abandoned side project isn't a lie). The site doesn't use an AI model: the score, the claims and the roast line all come from fixed rules.
Your data
deeplarp only reads public data through GitHub's API. A report is kept for a day and then scanned again on the next visit. Reports are hidden from search engines. To stop your profile being scanned, open an opt-out issue.
The same scanner runs in your terminal with npx deeplarp <user>, and the source is on GitHub.