Commit Graph
155 Commits
Author SHA1 Message Date
github-actions[bot] 18f17a6fe9 chore: daily ranking refresh 2026-09-18 03:46:21 +00:00
github-actions[bot] 1b4a6d3125 chore: daily ranking refresh 2026-09-17 03:59:17 +00:00
github-actions[bot] b47754fabe chore: daily ranking refresh 2026-09-16 15:31:21 +00:00
github-actions[bot] 8eeda94f82 chore: daily ranking refresh 2026-09-16 15:28:54 +00:00
tiennm99 1a5792e69e Merge branch 'add-orca-paseo-ade' 2026-09-16 22:27:46 +07:00
tiennm99 00c90c5be9 feat: split data update from site build; publish via Cloudflare Pages
The updater fetched GitHub metadata and rendered the dashboard payload in
a single step, so anything that published the site needed a GITHUB_TOKEN.
Cloudflare Pages builds from a Git webhook and has no business holding
one.

Split the tool into three modes. The default update step still fetches
GitHub and now records every API-sourced field in data/metadata.json,
which is committed alongside README.md and data/history.jsonl. The new
-build mode joins that snapshot with data/agents.yml and
data/history.jsonl to render dist/ with no network access and no token;
-check is unchanged.

Supporting changes:

- computeDeltaAt anchors the delta windows to when the data was fetched
  rather than the wall clock, so a redeploy days later reproduces the
  same Δ7d instead of sliding the window past its slack allowance.
- writeSiteData takes updatedAt explicitly for the same reason: the
  timestamp labels data freshness, not build time.
- sortStats is extracted from fetchStats so the build step re-ranks
  identically from committed metadata.
- An agents.yml entry with no metadata yet is omitted with a warning
  instead of failing the build, which would otherwise block every deploy
  between merging a new entry and the next nightly run.
- update.yml drops the GitHub Pages deploy steps and commits
  data/metadata.json; ci.yml runs `go run . -build` so a build that would
  break on deploy breaks in CI first.
- site/_headers stops the edge serving a stale data.json after a refresh.
- docs/DEPLOY.md covers the Cloudflare setup, including the one-time
  bootstrap of data/metadata.json that the build depends on.

Also carries the in-progress curation work already in the tree: the
module rename to awesome-ai-dev-tools, retagged entries, and removal of
the archived Roo-Code, void, continue and suna entries.
2026-09-16 22:24:48 +07:00
tiennm99 3310ed36d4 chore: rename to ai-dev-tools
"awesome-coding-agents" no longer described the contents once the scope
widened past coding agents to AI-powered developer tools generally. Renaming
now was near-free: 3 stars, 4 forks, 135 unique visitors, four months old.

Name selection avoided the crowded awesome-* namespace, where the obvious
candidates are held by established lists (awesome-ai-devtools 3.9k,
awesome-ai-tools 6.2k, awesome-ai-coding-tools 2.1k). "ai-dev-tools" has no
incumbent at the exact name.

- Repo renamed; GitHub description and homepage updated.
- Module path, User-Agent, .gitignore, H1, site <title>/og:title and every
  GitHub Pages URL updated across README.md, templates/readme.tmpl,
  docs/LOCAL_DEV.md and site/index.html.
- plans/reports/ left untouched: it is a dated historical record.

go build: ok. go run . -check: 43 agents valid. go test ./...: ok.
2026-09-16 21:40:23 +07:00
tiennm99 c5d8561d8f feat: widen scope to AI developer tools; enforce hard 1,000-star floor
The list was already drifting past "coding agents" — ADEs were admitted in
the previous commit. Rather than keep widening criterion 1 one category at a
time, it now describes the actual subject: developer tools built around AI.
The dividing line becomes tools you use vs. building blocks you import, which
keeps libraries, SDKs, model weights and skill collections out.

The star floor drops from a soft "roughly 10,000+" to a hard 1,000:

- enforceStarFloor drops any below-floor entry from the ranking and emits an
  ::error:: annotation, so the published list can never violate the rule.
  Dropping rather than failing keeps one bad entry from blocking the refresh
  of every other repo.
- -check cannot catch this (star counts need the API, -check runs offline);
  docs/CONTRIBUTING.md says so explicitly.

Side effect: Orkas (1,998 stars) now clears the floor it previously missed.

go run . -check: 43 agents valid. go test ./...: ok.
2026-09-16 21:21:12 +07:00
tiennm99 21ad0d47a5 feat: admit agent development environments; add Orca and Paseo
Criterion 1 previously excluded "workspaces for agents", which ruled out
the ADE category entirely. ADEs are the surface a developer actually works
in, the same way a coding agent is, so they now qualify on their own terms.
Libraries, SDKs, skill collections and observability-only layers stay out.

- Widen inclusion criterion 1 in templates/readme.tmpl and document the
  two admitted kinds in docs/CONTRIBUTING.md.
- Add `orchestration` to the Workflow facet in validate.go so ADEs are
  filterable as a distinct class on the dashboard.
- Add stablyai/orca (70.0k) and getpaseo/paseo (17.5k).

README.md is regenerated from the template by the daily run; its
Contributing section is updated here so it is not stale in the meantime.

go run . -check: 43 agents valid. go test ./...: ok.
2026-09-16 21:11:54 +07:00
github-actions[bot] f086baf98b chore: daily ranking refresh 2026-09-16 14:01:47 +00: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
github-actions[bot] 0de86badc5 chore: daily ranking refresh 2026-09-11 09:07:30 +00:00
github-actions[bot] c64cd0c559 chore: daily ranking refresh 2026-09-11 08:46:52 +00: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
github-actions[bot] 2e2ad56add chore: daily ranking refresh 2026-09-11 07:30:12 +00:00
github-actions[bot] 1262e3435b chore: daily ranking refresh 2026-09-11 07:21:35 +00: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