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.
- notes for gpt-engineer, void, Roo-Code (archived upstream) — shown
as badges + italics on the dashboard; kept for historical value
- README Contributing now states inclusion criteria: must BE a coding
agent (not tooling for agents), ~10k+ stars, open source + maintained
- resolves ambiguity for community PRs proposing sub-bar repos
* chore: project hardening — dep swap, CI gates, dependabot, action bumps
- swap gopkg.in/yaml.v3 (upstream archived Apr 2025) for maintained
github.com/goccy/go-yaml; same Unmarshal API, tags unchanged
- add CI workflow: go vet/test/build + golangci-lint + govulncheck
on PRs and main pushes
- add dependabot for gomod + github-actions (weekly)
- bump actions to latest majors in update.yml (clears Node 20
deprecation annotations); workflow logic untouched
- README/history refreshed by E2E verification run (29 agents)
* fix: check Close/Remove error returns (errcheck)
Write paths (writeSnapshots, renderReadme) now propagate close errors —
a failed close there can hide lost data. Read/cleanup paths ignore
explicitly with _ =.
- Add pi, OpenHands, warp, gpt-pilot, qwen-code, kilocode, onlook,
dyad, trae-agent, copilot-cli (19 -> 29 tracked repos)
- Update renamed slugs to canonical owners (anomalyco/opencode,
aaif-goose/goose, AntonOsika/gpt-engineer) with history key
migrations so star deltas survive the rename
- Generate site/data.json each run and deploy site/ (interactive
table + star-history chart) to GitHub Pages from the daily
workflow, since GITHUB_TOKEN bot pushes cannot trigger a separate
Pages workflow