Files
hermes-webui/CONTRIBUTORS.md
T
nesquena-hermes 26f54b9972 docs: weekly contributor tally refresh + cherry-pick credit accuracy fix (#4473)
* docs: weekly contributor tally refresh (20260619)

Regenerated by scripts/regen_contributors.py --apply. Includes the source (e)/(f)
ship-signal accuracy fix that recovers systematically-undercounted cherry-picked
contributions (~77 contributors). 280 contributors / 1559 credits (was 263/1232).
Markers spliced, prose untouched, --verify clean, 0 double-counts.

* docs: align CONTRIBUTORS header prose with the 5-source credit algorithm

Addresses greptile P2: the header still described the old three-source union
(merged-PR list + CHANGELOG + Co-authored-by) but regen_contributors.py now adds
two more — ship-comment scans and absorb-commit scans — for five total. Updates
the prose to match what the script actually runs.

---------

Co-authored-by: nesquena-hermes <nesquena-hermes@users.noreply.github.com>
Co-authored-by: nesquena-hermes <agent@nesquena-hermes>
2026-06-18 22:05:37 -07:00

25 KiB
Raw Blame History

Contributors

Hermes WebUI is a community project. This file is the canonical credit roll.

A contributor's PR count is the number of distinct PRs they get credit for: PRs they authored that merged directly, PRs they authored that were closed-but-absorbed into a release commit (batch merges, salvage rewrites, cherry-picked-and-attributed work), and PRs where they were explicitly attributed in CHANGELOG.md. All count the same. Bug reports, confirmations, and review feedback are deeply appreciated but are not counted as authored PRs here.

Generated by scripts/regen_contributors.py in the maintainer workspace, which unions five sources — the GitHub merged-PR list, CHANGELOG.md attribution lines, Co-authored-by: trailers on commits that landed on master, ship-comment scans (the Shipped in vX closing comments left by the release workflow on absorbed PRs), and absorb-commit scans (non-merge master commits that name (#N) in their subject for PRs shipped before a ship-comment was posted). A credit is only counted when it resolves to the contributor's own PR number; release/batch "vehicle" PRs and bug-reporter mentions do not generate credit. The tables between the markers below are regenerated automatically; the prose around them is maintained by hand. If your name is missing or wrong, open a PR against CONTRIBUTORS.md — we cross-check against the changelog on each release.

280 people have shipped code that landed in a release tag — including the long tail of folks whose work was salvaged into batch releases or absorbed via Co-authored-by trailers.

Total contributors tracked: 280
Total PR credits: 1559
Last refreshed: v0.51.511, 2026-06-19

The ranked tables below recognize contributors with 3 or more landed PRs. Everyone with one or two PRs is listed in the 12 PR contributors roll — every one of them moved the project forward.

Top contributors (5+ PRs landed)

# Contributor PRs First release Latest release
1 @franksong2702 244 v0.49.3 v0.51.492
2 @rodboev 189 v0.51.223 v0.51.511
3 @Michaelyklam 157 v0.50.240 v0.51.198
4 @ai-ag2026 115 v0.50.279 v0.51.482
5 @bergeouss 77 v0.48.0 v0.51.505
6 @AJV20 57 v0.51.93 v0.51.346
7 @dso2ng 41 v0.50.227 v0.51.488
8 @Sanjays2402 26 v0.50.292 v0.51.484
9 @starship-s 23 v0.50.123 v0.51.473
10 @Hinotoi-agent 21 v0.50.10 v0.51.497
11 @b3nw 18 v0.51.122 v0.51.450
12 @jasonjcwu 18 v0.50.227 v0.51.235
13 @dobby-d-elf 16 v0.51.38 v0.51.161
14 @pamnard 16 v0.51.186 v0.51.332
15 @Jordan-SkyLF 13 v0.50.18 v0.51.66
16 @mysoul12138 11 v0.51.159 v0.51.303
17 @TomBanksAU 11 v0.51.251 v0.51.486
18 @aronprins 10 v0.44.0 v0.51.45
19 @JKJameson 10 v0.50.198 v0.51.31
20 @ccqqlo 9 v0.44.0 v0.50.270
21 @Koraji95-coder 9 v0.51.124 v0.51.151
22 @LumenYoung 9 v0.51.47 v0.51.132
23 @zapabob 9 v0.50.272 v0.51.452
24 @24601 8 v0.50.189 v0.51.5
25 @george-andraws 8 v0.51.118 v0.51.162
26 @mccxj 8 v0.51.74 v0.51.148
27 @armorbreak001 7 v0.50.47 v0.50.50
28 @happy5318 7 v0.50.238 v0.51.268
29 @Isla-Liu 7 v0.51.100 v0.51.340
30 @NocGeek 7 v0.50.251 v0.50.252
31 @AlexeyDsov 6 v0.50.267 v0.51.197
32 @Carry00 6 v0.51.121 v0.51.303
33 @iRonin 6 v0.41.0 v0.41.0
34 @andrewkangkr 5 v0.51.184 v0.51.222
35 @bsgdigital 5 v0.50.159 v0.51.31
36 @cloudyun888 5 v0.50.47 v0.50.140
37 @fxd-jason 5 v0.50.245 v0.50.250
38 @lucasrc 5 v0.51.57 v0.51.184
39 @mvanhorn 5 v0.51.254 v0.51.411
40 @v2psv 5 v0.51.123 v0.51.261

Sustained contributors (34 PRs landed)

Contributor PRs First release Latest release
@espokaos-ops 4 v0.51.89 v0.51.94
@fecolinhares 4 v0.50.238 v0.50.250
@frap129 4 v0.50.140 v0.50.233
@Habib1001-m 4 v0.51.384 v0.51.489
@KingBoyAndGirl 4 v0.50.238 v0.50.240
@koshikai 4 v0.51.24 v0.51.454
@qxxaa 4 v0.50.210 v0.51.37
@renheqiang 4 v0.50.61 v0.50.95
@t3chn0pr13st 4 v0.51.242 v0.51.424
@Thanatos-Z 4 v0.50.257 v0.50.278
@xz-dev 4 v0.51.55 v0.51.196
@allenliang2022 3 v0.51.185 v0.51.455
@chouzz 3 v0.51.119 v0.51.160
@ddiall 3 v0.51.359 v0.51.404
@deboste 3 v0.17.1 v0.50.297
@dutchaiagency 3 v0.50.281 v0.50.286
@gavinssr 3 v0.51.119 v0.51.153
@hacker1e7 3 v0.50.245 v0.51.96
@Mubashirrrr 3 v0.51.231 v0.51.233
@munim 3 v0.51.120 v0.51.123
@pavolbiely 3 v0.50.159 v0.50.233
@PINKIIILQWQ 3 v0.51.189 v0.51.469
@pix0127 3 v0.51.209 v0.51.231
@santastabber 3 v0.51.482 v0.51.490
@shruggr 3 v0.50.23 v0.50.47
@someaka 3 v0.51.138 v0.51.295
@starGazerK 3 v0.51.228 v0.51.241
@tomas-forgac 3 v0.51.456 v0.51.456

12 PR contributors

212 more people each landed one or two PRs that shipped — a bug fix, a locale, a security hardening, a doc improvement, an infrastructure tweak. Every one moved the project forward.

@29n, @86cloudyun-afk, @AdoneyGalvan, @aether-agent, @akrhin, @aliceisjustplaying, @alvistar, @amlyczz, @andrewy-wizard, @antoniocarlos97ss, @Argonaut790, @arshkumarsingh, @ashbuildslife, @ashuio, @Asunfly, @ayushere, @bambalados, @bengdan, @betamod, @bjb2, @Bobby9228, @bschmidy10, @camr, @carlytwozero, @Charanis, @ChaseFlorell, @Chukwuebuka-20, @chwps, @claw-io, @cnogrin, @colin-chang, @cyberdyne187, @DanielMaly, @darkopetrovic, @davidsben, @DavidSchuchert, @DelightRun, @dev-rehaann, @dotBeeps, @DrMaks22, @eba8, @edoumo, @eleboucher, @emanon312, @enihcam, @eov128, @expresso-code-org, @Fail-Safe, @fantasticsquirrel, @FrancescoFarinola, @gabogabucho, @gakugaku, @galvani, @GeoffBao, @georgebdavis, @GiggleSamurai, @gottipx, @gourangasatapathyvit, @gsurenull, @hacker2005, @halmisen, @haolf000, @heagandev, @hermes-gimmethebeans, @hi-friday, @hualong1009, @huangzt, @humayunak, @indigokarasu, @insecurejezza, @intellectronica, @jamesraddock, @JayC-L, @jeffscottward, @Jellypowered, @jianongHe, @jimdawdy-hub, @JinYue-GitHub, @jja881, @joaompfp, @Jonas-Degn, @jundev0001, @junjunjunbong, @kaishi00, @Karlineal, @KayZz69, @kcclaw001, @kevin-ho, @kowenhaoai, @kuishou68, @lambyangzhao, @lawrencel1ng, @leap233, @legeantbleu, @leszek3737, @LeungKaMing, @likawa3b, @linux-fertxo, @linuxid10t, @liuqiangweb-svg, @LLMinem, @lost9999, @luanxu-dev, @lucky-yonug, @lunarnexus, @lurebat, @Luxciax, @lx3133584, @Lynn-Lee, @Lyr-GW, @MacLeodMike, @malulian, @mangodxd, @mariosam95, @MatzAgent, @mbac, @michael-dg, @migueltavares, @MinhoJJang, @minidarkmimi, @mintymac, @mittyok, @mmartial, @MrFant, @mslovy, @nanookclaw, @ng-technology-llc, @nickgiulioni1, @NottheGuy007, @octo-patch, @OneFat3, @PatrickNoFilter, @PeterDaveHello, @plerohellec, @psanger, @puneetdixit200, @Pythonming2020, @reinocheong, @renatomott, @rhelmer, @rickchew, @rly09, @RobertoVillegas, @roryford, @ruxme, @ryan-remeo, @ryansombraio, @s010mn, @s905060, @Saik0s, @samuelgudi, @SaulgoodMan-C, @sbe27, @shaoxianbilly, @sheng-di, @simjak, @sixianli, @sjh9714, @skspade, @smurmann, @snuffxxx, @spektro33, @Stampede, @stocky789, @suinia, @sunilkumarvalmiki, @sunnysktsang, @swftwolfzyq, @syntheticgio, @Tamaz-sujashvili, @tangerine-fan, @TaraTheStar, @tcconnally, @tgaalman, @thadreber-web, @thanhtoantnt, @the-own-lab, @theh4v0c, @theseussss, @tiansiyuan, @timlawrenz, @tn801534, @toanalien, @tomaioo, @tomtong2015, @trucuit, @ts2111, @ugur-murat-alt, @vanshaj-pahwa, @vansour, @vcavichini, @vCillusion, @vikarag, @viraatdas, @Voicle99, @waldmanz, @wali-reheman, @watzon, @weidzhou, @weiwei83, @wind-chant, @wirtsi, @woaijiadanoo, @xingyue52077, @xolom, @XtremXpert, @xx77yy, @ycj, @yunyunyunyun-yun, @yzp12138, @zenc-cp, @zichen0116.


How credit is tracked

Most PRs in this repo land via one of four paths:

  1. Direct merge — your PR is reviewed and merged on its own. Author shows up directly in git log and on the PR's merged_at timestamp.
  2. Squash into a batch release — your PR is merged together with several other contributor PRs into a single release commit (e.g. release: v0.51.55 — 9-PR contributor batch). The original PR closes (not merges) on GitHub but the squashed release commit carries a Co-authored-by: <you> trailer plus an entry in CHANGELOG.md crediting you by username and PR number.
  3. Salvaged from a larger PR — when a PR mixes one good change with several unrelated or risky ones, we split it: the good parts ship in a clean follow-up PR, you get credit in the CHANGELOG entry, and the original PR is closed with a salvage map showing what went where.
  4. Auto-rebase + auto-fix — for merge-ready contributor PRs with mechanical blockers (CHANGELOG conflicts, lint, drifted tests), a maintainer rebases the contributor's branch, fixes the blockers, and force-pushes back. The Co-authored-by trailer preserves your authorship.

All four paths count as a contribution. GitHub's merged_at field only catches path 1; paths 2-4 show as "closed" on the contributor's PR even though the work is live in master. That's why this file consults the CHANGELOG attribution lines and Co-authored-by trailers, not just GitHub's merged-PR list. Credit is always tied to your PR number — the release/batch PRs the maintainer opens to ship a batch, and bug reports or review confirmations attributed in the changelog, do not generate a contributor credit.

Special thanks

  • @aronprinsv0.50.0 UI overhaul (PR #242). The CSS-only redesign that defined the design tokens, theme architecture, and three-panel layout that the rest of the app builds on. PR #242 didn't merge as-is, but it is the design language of the app.
  • @franksong2702 — most prolific external contributor across the project's history. 180 PRs spanning the session sidebar, mobile/responsive layout, workspace state machine, profile context, slash autocomplete, breadcrumb navigation, streaming-session exemption, cron output preservation, embedded terminal, the manual-compress async start/status endpoint pair, the worktree status surface (PR #2109) + guarded remove (PR #2156) for the lifecycle umbrella #2057, session post-render dedup (PR #2166), the /api/session native-WebUI fast path (PR #2170), tail-window response trim (PR #2171), the second-wave stale-stream guard extension (PR #2158), CSP report collector (PR #2160), and the long tail of polish.
  • @Michaelyklam — most prolific contributor of late-2025/early-2026. 118 PRs covering Docker hardening, profile-scoped skills, KaTeX delimiter parsing, Codex quota surfacing, Goal command, Kanban polish, auto-compression toast lifetime, the localization parity backfills, the v0.51.51 mobile Insights bucketing/layout pair (PRs #2120/#2121), the Hermes run adapter RFC (PR #2105 for #1925), the fork-from-here absolute-index fix (PR #2198 for #2184), and the opencode-go custom-provider overlap routing fix (PR #2204 for #1894).
  • @rodboev — 83 PRs and counting, with a strong focus on Windows / cross-platform correctness and test reliability: the ctl.sh Windows process-tree-kill fix, the local Windows full-suite signal work, slash-command autocomplete polish, and a broad sweep of frontend and infrastructure fixes.
  • @ai-ag2026 — autonomous-AI contributor (Hermes Agent-driven). 75 PRs focused on session recovery (state.db sidecar reconciliation, orphan .bak recovery, audit + safe-repair endpoints), workspace/run lifecycle health, the crash-safe turn-journal RFC, the append-only turn-journal helper (PR #2059), the matching lifecycle-events layer (PR #2062), the Content-Security-Policy-Report-Only header (PR #2084), and the per-cron toast notification toggle (PR #2100).
  • @bergeouss — provider-management UI, OAuth status, two-container Docker docs, profile isolation hardening, Reveal-in-Finder, the OpenRouter free-tier live fetch, and most of Settings → Providers. 70 PRs.
  • @Jordan-SkyLF — Live streaming, session recovery, workspace fallback, and a burst of presentation polish: the manual "Refresh usage" button on the Provider quota card (PR #2150), cancelled-turn status classification (PR #2151), Firefox sidebar scroll stabilization (PR #2200), early provisional session titles (PR #2202), target-aware "What's new?" links (PR #2207), and MCP tools overflow fix in Settings (PR #2210). 12 PRs total.
  • @LumenYoung — contributor focused on the streaming hot path's correctness. 8 PRs including the original stale-stream writeback guard (PR #2136 — the bug class the next two releases extended), gateway-state alive-null classification (PR #2075), compression-banner anchor alignment (PR #2182), and context-progress ring auto-refresh on compression complete (PR #2188).
  • @iRonin — security hardening sprint (PRs #196#204): session memory leak fix, CSP + Permissions-Policy headers, slow-client connection timeout, optional HTTPS/TLS, upstream branch tracking, CLI session file-browser support. Six consecutive, focused, high-quality security PRs.
  • @indigokarasu — visual redesign proposal (PR #213). Icon rail sidebar, design token system, 7 themes. Didn't merge as-is but shaped the design language that landed in v0.50.0.
  • @zenc-cp — anti-hallucination guard for the ReAct loop (PR #133). Three-layer approach (ephemeral prompt, live token filtering, session-history cleanup) that the streaming pipeline still uses.
  • @deboste — reverse-proxy auth, mobile responsive layout, model routing (PRs #3, #4, #5). Three of the very first community PRs. Early foundation work.
  • @Hinotoi-agent — security fixes spanning profile .env isolation (PR #351), session-import workspace validation (PR #2048), and bandit B105 hardening. Subtle, high-leverage credential and path-traversal fixes.
  • @lucasrc — auth-hardening trilogy in v0.51.57 (PRs #2191/#2192/#2193): thread-safe login rate limiter with PBKDF2 key separation, password-hash cache invalidation on settings change, and the full 64-char HMAC-SHA256 session signature with backwards-compatible migration bridge. Three coordinated security PRs that landed together.
  • @jasonjcwu — composer and transcript polish, 16 PRs. Recent: silent compress-status during session switch (PR #2185), concurrent-send loss fix (PR #2186), in-transcript steer message badge (PR #2187), plus sidebar collapse via active-rail click (PR #2054).
  • @dobby-d-elf — frontend reliability and motion polish: workspace fallback on deleted directories (PR #2138), iPhone PWA bottom-scroll fix (PR #2143), the new "Activity: X tools" composer footer animation (PR #2203) and its follow-up tuning (PR #2212).

If you've contributed and aren't here, open a PR. We cross-check the CHANGELOG on every release, but if a credit fell through (a Co-authored-by trailer that didn't make it into the changelog entry, an attribution in a PR comment that should be in the release notes), this list is the right place to fix it.