01 · Roasts
Commit firehose, star drizzle
2,240 commits and 894 PRs this year, yet the strongest showcased repo has 18 stars. The output is relentless; the adoption graph is politely golfing.
CI knows; tests ghost
QA-WP-Projects and PHP-cast-to-type both automate lint/style checks, but both report no tests. Your pipelines inspect the paint while the engine is still offstage.
Maintainer lore
“Accidental OSS maintainer” has 1,365 followers, 99 issues this year, and a library carrying compatibility history back to 2006. Accidentally legendary paperwork, perhaps.
Language chart jump scare
The server language chart says HTML 100% while the evidence is PHP tooling. Stats can be weird; the breadth score cannot pretend that makes six ecosystems.
Built using
Zoral
Shadows one worker for a week, then takes over their job with zero extra setup. Behaves exactly like the original.
zoral.ai
02 · Category breakdown
- Impact25% weight38F
- Consistency20% weight85A
- Quality20% weight55D
- Depth15% weight55D
- Breadth10% weight25F
- Community10% weight80A
03 · Stats
365-day commit heatmap
249 active days
Language distribution
- HTML100%
- PHP0%
- JavaScript0%
- CSS0%
- XSLT0%
- Shell0%
04 · Numbers
Owned repos
non-fork
9
Commits
last 12 months
2,240
Followers
1,365
Joined GitHub
Mar 2011
05 · Top repos
jrfnl /
QA-WP-Projects
A documented Composer package providing WP-QA-Basic/Strict PHPCS rulesets, a custom WPQA report, and a sample project ruleset; it has CI and a clear historical release trail but limited visible adoption and no tests.
jrfnl /
PHP-cast-to-type
A documented, Composer-installable PHP casting library with legacy PHP 4/5 compatibility, substantial conversion logic, and strong lint/style automation, but no tests and limited visible adoption at 13 stars.
jrfnl /
top-10-phpunit-tips-tricks-demo
A small, focused PHPUnit demonstration with one utility class, a data-provider test suite, Composer scripts, and PHPUnit coverage configuration; useful as a talk demo but with minimal adoption and project infrastructure.
06 · Timeline
- Mar 11, 2011Joined GitHub
- Sep 5, 2013Created PHP-cast-to-type — PHP Class to easily cast variables to a specific type.
- Sep 13, 2017Created QA-WP-Projects — Example code for talk about how to use a variety of PHPCS rules and standards to get an indication of code quality for WP plugins and themes
- Feb 20, 2020Created top-10-phpunit-tips-tricks-demo
- Aug 8, 2026Most recent push to QA-WP-Projects
07 · Compare
08 · Rubric
How this score was produced
Overall = Σ (category × weight) + gentle top-end curve
Tier thresholds
▸ How the pipeline works
- 01Scrape.Pull every non-fork repo pushed in the last 90 days, plus your contribution calendar, followers, and language byte counts — straight from GitHub's REST & GraphQL APIs.
- 02Triage.A small model reads every repo's file tree + README and picks the 20 files per repo that actually reveal how you code.
- 03Grade each repo. All repos run in parallel through a fast scoring model that reads the picked files and rates each one independently on Impact, Quality, and Depth — with evidence citations.
- 04Aggregate. A larger reasoning model combines the per-repo scores with server-computed stats (heatmap, commit cadence, language entropy, follower count) to produce the 6-dimension profile score + roasts.
- 05Correct.Deterministic server-side checks enforce anchor-scale floors (e.g. a profile with 2,000+ public commits can't score 30 Consistency) and recompute the final verdict.
~90 seconds per profile, ~$0.25 in compute. Total of ~240 files read across your top-12 repos. One rating per GitHub account per day.
▸ Data sources & caveats
- Heatmap & commit totals: GitHub GraphQL
contributionsCollection— covers the last 365 days, includes private repos when the user has opted in (default). - Language %: byte totals across the top 30 owned non-fork repos.
- Curve: a small upward nudge centered on raw score ≈ 70, capping at 100. Prevents specialists from being unfairly penalised for narrow breadth.
- Anchor corrections: when server-measured signals (e.g. privateWorkLikely, multiRepoVolume, follower count) mandate a minimum category score, the aggregation step enforces it. These are signal-conditional, not identity-based floors.