Commit Graph
162 Commits
Author SHA1 Message Date
github-actions[bot] f086baf98b chore: daily ranking refresh 2026-09-16 14:01:47 +00:00
BlueSkyID666andBlueSkyID666 9a8048560b Add Orkas (#14)
Signed-off-by: BlueSkyID666 <280636370+BlueSkyID666@users.noreply.github.com>
Co-authored-by: BlueSkyID666 <280636370+BlueSkyID666@users.noreply.github.com>
2026-09-16 21:01:22 +07:00
github-actions[bot] 01d80a470e chore: daily ranking refresh 2026-09-16 03:54:03 +00:00
github-actions[bot] 932cb21b94 chore: daily ranking refresh 2026-09-15 03:56:38 +00:00
github-actions[bot] 971e3880ba chore: daily ranking refresh 2026-09-14 03:57:14 +00:00
github-actions[bot] e8ee1de536 chore: daily ranking refresh 2026-09-13 03:49:30 +00:00
github-actions[bot] 408328cfd9 chore: daily ranking refresh 2026-09-12 03:41:55 +00:00
github-actions[bot] 7b990b555d chore: daily ranking refresh 2026-09-11 09:25:09 +00:00
tiennm99 f97e36cbf7 fix(site): follow the cursor vertically in the chart hover
The emphasis and the bolded row came from Chart.js index-mode
interaction, which only recomputes when the x index changes. Moving
straight up and down inside one date therefore kept whichever series was
picked on entry, so the highlight did not match the line under the
cursor.

Track the pointer on the canvas instead and derive both the date and the
nearest series from pixel distance, so vertical movement re-picks. The
built-in tooltip and interaction config are gone; a small plugin draws
the vertical guide at the hovered date and a dot where the emphasized
series crosses it, replacing the caret and hover point that came with
them. Reads are throttled to one per animation frame, and the card now
follows the cursor's height instead of the average of forty series.
2026-09-11 16:24:47 +07:00
github-actions[bot] 0de86badc5 chore: daily ranking refresh 2026-09-11 09:07:30 +00:00
tiennm99 a44bcbd6b0 feat(site): rank every series on chart hover
Hovering a date now lists all plotted repos ordered by stars at that
point, with exact counts, so the chart answers "who was ahead when"
instead of only showing one value at a time. The series under the cursor
is bold in the list, stays solid and thickens, and every other line goes
thin and dashed — readable with forty lines on screen.

Chart.js paints its tooltip on the canvas and cannot weight one row
differently, so the readout is an HTML card positioned beside the caret
(flipped and clamped to stay inside the chart) and the built-in tooltip
is off. Forty rows fit as three columns; names truncate on a shared grid
so the counts align. Hidden series are excluded, so the ranking always
matches what is drawn.
2026-09-11 16:07:07 +07:00
github-actions[bot] c64cd0c559 chore: daily ranking refresh 2026-09-11 08:46:52 +00:00
tiennm99 ff33c20ab6 fix(site): plot every repo in the star history by default
The chart hid every series past rank 12 while the legend still listed
all of them, so the card claimed to show everything and drew a third of
it. Plot all series on load; the legend stays the way to hide the ones
you do not want, and hidden state still survives re-renders.
2026-09-11 15:46:29 +07:00
github-actions[bot] a99972438b chore: daily ranking refresh 2026-09-11 08:40:45 +00:00
tiennm99 eb12bcc2cb feat: replace category with a multi-facet tag vocabulary
A single category could not describe tools that ship as a CLI, an editor
plugin and a desktop app at once, and 7 of the 40 entries were filed
under a surface they only partly match — cline is "an SDK, IDE extension
or CLI assistant" in one `extension` slot, Reasonix ships CLI, desktop
and VS Code under `cli`, warp is a terminal filed as `ide`.

Tags cover five facets: surface (at least one), model access, workflow,
integration, and origin (at most one). tagVocabulary in validate.go is
the single source of truth — the validator, its error messages, and the
dashboard's filter chips all derive from it, the last via a new facets
field in site/data.json.

The dashboard now filters on tags with multi-select chips grouped by
facet: OR within a facet, AND across facets, plus a clear-filters
control, and search matches tags as well as name and description. Only
tags some row actually carries get a chip, so chips and rows cannot
disagree. Tag pills are tinted per facet, replacing the category badge.

All 40 entries are tagged from each repo's own README, topics and docs;
CONTRIBUTING documents every tag and the evidence rule for applying one.
A leftover `category:` key now fails validation with a message naming
its replacement, rather than being silently ignored.

README.md and data/history.jsonl are the regenerated updater output.
2026-09-11 15:40:18 +07:00
github-actions[bot] e49c487700 chore: daily ranking refresh 2026-09-11 07:37:51 +00:00
tiennm99 ce81c85645 feat: flag repos that stopped receiving pushes
The maintenance criterion was unfalsifiable, so entries went years
without a push before anyone noticed by hand. The updater already
fetches pushedAt; warn when it is older than 90 days, alongside the
existing rename and archival annotations. Archived repos keep their own
warning rather than getting two.

Quantify the criterion in the README and CONTRIBUTING: dropped after 6
months idle, flagged past 3, with removal still a human decision.

Also correct two CONTRIBUTING claims the code contradicts — duplicates
are rejected by CI rather than ignored at run time, and renames do carry
history over once canonicalKeyMigrations has the old key.
2026-09-11 14:37:26 +07:00
github-actions[bot] 2e2ad56add chore: daily ranking refresh 2026-09-11 07:30:12 +00:00
tiennm99 fde3ae7efd refactor: share one atomic write path for generated files
README.md and site/data.json were written with os.Create/os.WriteFile,
so a write that failed midway left the repo front page truncated, while
history.jsonl already used a temp-file-plus-rename. Extract that pattern
into atomicWriteFile and route all three writers through it.

Also sort snapshots by date when reading history.jsonl: delta windows
pick the newest snapshot inside the window by scan order, which silently
produces wrong deltas if a hand edit or a merge of two concurrent runs
interleaves lines.

Cover the README renderer, which had no test beyond sanitizeCell, and
name the generated paths as constants instead of repeating literals.
Coverage 65.1% -> 75.7%.
2026-09-11 14:29:49 +07:00
github-actions[bot] 1262e3435b chore: daily ranking refresh 2026-09-11 07:21:35 +00:00
tiennm99 94e9852cfd feat(agents): track 14 active agents, drop 3 abandoned ones
Adds deepseek-harness (top of the list by stars), grok-build,
openinterpreter, Codewhale, DeepSeek-Reasonix, openclaude, oh-my-pi,
open-code-review, prime-agent, jcode, DeepCode, freebuff, kimi-cli and
claurst, all meeting the inclusion criteria.

Drops bolt.new, plandex and trae-agent: no upstream push in 21, 11 and 7
months respectively.

Also points avante.nvim at its current canonical slug and maps the old
history key so its star history stays attached.
2026-09-11 14:21:11 +07:00
tiennm99 c53838f165 docs(reports): research list refresh candidates and stale entries
Live GitHub audit of all 29 tracked repos plus ~380 candidate slugs:
14 repos meeting the inclusion criteria are untracked (deepseek-harness
at 219.6k stars would rank first), 7 tracked repos have no push in over
three months, and data/agents.yml still carries the pre-rename
yetone/avante.nvim slug.
2026-09-11 14:19:40 +07:00
github-actions[bot] 3a911dd3a5 chore: daily ranking refresh 2026-09-11 03:37:50 +00:00
github-actions[bot] ad75428950 chore: daily ranking refresh 2026-09-10 03:39:46 +00:00
github-actions[bot] 6410387b41 chore: daily ranking refresh 2026-09-09 03:41:58 +00:00
github-actions[bot] 15fea23e14 chore: daily ranking refresh 2026-09-08 03:37:22 +00:00
github-actions[bot] f63ff8f353 chore: daily ranking refresh 2026-09-07 03:32:09 +00:00
github-actions[bot] 393940ee81 chore: daily ranking refresh 2026-09-06 03:32:04 +00:00
github-actions[bot] 1acdbcb194 chore: daily ranking refresh 2026-09-05 03:31:23 +00:00
github-actions[bot] 59b00d0aa6 chore: daily ranking refresh 2026-09-04 03:30:01 +00:00
github-actions[bot] 58f1165b15 chore: daily ranking refresh 2026-09-03 03:31:36 +00:00
github-actions[bot] 5a23e918f4 chore: daily ranking refresh 2026-09-02 03:30:40 +00:00
github-actions[bot] 7c7afb1f0f chore: daily ranking refresh 2026-09-01 04:08:26 +00:00
github-actions[bot] aaea4de05f chore: daily ranking refresh 2026-08-31 04:24:30 +00:00
github-actions[bot] bfa75ed44b chore: daily ranking refresh 2026-08-30 04:19:20 +00:00
github-actions[bot] 91161efc7d chore: daily ranking refresh 2026-08-29 06:11:11 +00:00
github-actions[bot] 4baca27bfb chore: daily ranking refresh 2026-08-28 10:12:14 +00:00
github-actions[bot] 994b212e6d chore: daily ranking refresh 2026-08-27 08:09:21 +00:00
github-actions[bot] 9073975d02 chore: daily ranking refresh 2026-08-26 01:24:35 +00:00
github-actions[bot] f51f52b93b chore: daily ranking refresh 2026-08-25 01:21:28 +00:00
github-actions[bot] ca7c4d6b88 chore: daily ranking refresh 2026-08-24 01:24:15 +00:00
github-actions[bot] 192ce79f8e chore: daily ranking refresh 2026-08-23 01:26:38 +00:00
github-actions[bot] d4b8e5749a chore: daily ranking refresh 2026-08-22 01:19:17 +00:00
github-actions[bot] 10fcd64c67 chore: daily ranking refresh 2026-08-21 01:24:21 +00:00
github-actions[bot] d3fcf20ad1 chore: daily ranking refresh 2026-08-20 01:19:51 +00:00
github-actions[bot] 6ec6847326 chore: daily ranking refresh 2026-08-19 01:21:09 +00:00
github-actions[bot] 01a2abc8bc chore: daily ranking refresh 2026-08-18 01:19:19 +00:00
github-actions[bot] eb1cd4839e chore: daily ranking refresh 2026-08-17 01:22:15 +00:00
github-actions[bot] baf71fb4c2 chore: daily ranking refresh 2026-08-16 01:25:23 +00:00
github-actions[bot] 0e35ec6feb chore: daily ranking refresh 2026-08-15 01:20:19 +00:00