feat: list_categories() — a domain map of the registry#58
Merged
Conversation
Adds a read-only tool that returns every category with a recipe, its count, and
a few example ids, sorted by count. An agent can see what erbina COVERS at a
glance ("kubernetes: 26, languages: 40, git: 29") and then drill in with
search_recipes(category=...). Categories partition the registry (one per
recipe), so counts sum to the total.
Completes the queriability trio: list_recipes (browse) / search_recipes (find) /
list_categories (map).
- Bumps the tool surface to 13 (test_tools EXPECTED_TOOLS + ci.yml python-floor).
- +6 tests: shape, count partition, non-empty/unique, count-desc sort,
agreement with search_recipes filter, examples belong to their category.
- README tools table updated. Full suite 3573 passed; ruff clean; live-verified.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
noahhyden
added a commit
that referenced
this pull request
Jul 20, 2026
…hip tools (#59) `list_categories` (#58) made a class of inference mislabels visible: the `git` and `media` buckets over-captured tools whose blurbs mention "Git integration", "color", or "graph" in passing. Author the correct category for 10 flagship tools: bat, eza, lsd, yazi -> files (ls/cat replacements, not git tools) typos, icdiff -> text (spell-checker / diff, not git) htop -> monitoring (not media) concurrently -> devtools ("color-coded output") webpack -> build (dependency "graph") mdcat -> docs (markdown renderer) The `git` bucket is now 25 genuinely-git tools (was 29). 8 via the reviewable _CATEGORY_OVERRIDES block; bat/eza are hand-written (edited in place). Curation lock in test_recipe_categories.py extended to cover all 10. Full suite 3573 passed; all 520 lint-valid; ruff clean; live-verified. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Completes the queriability trio started in #55/#56:
list_recipes(browse) /search_recipes(find) /list_categories(map).What
A read-only tool returning every category that has recipes, its count, and a few example ids, sorted by count descending:
An agent sees what erbina covers at a glance, then drills in with
search_recipes(category=…). Categories partition the registry (one per recipe), so counts sum to the total.Quality
test_toolsEXPECTED_TOOLS +ci.ymlpython-floor count).search_recipesfilter counts, examples-belong-to-category.Note:
list_categoriesmakes a few pre-existing inference mislabels visible (e.g.bat→git because its blurb says "Git integration"). A curation round-2 PR will follow to fix those.🤖 Generated with Claude Code