Skip to content

add crates.io commands: search, crate, versions, owners, deps, top, categories, keywords#1

Open
tamnd wants to merge 1 commit into
mainfrom
feat/pr1-cratesio-api
Open

add crates.io commands: search, crate, versions, owners, deps, top, categories, keywords#1
tamnd wants to merge 1 commit into
mainfrom
feat/pr1-cratesio-api

Conversation

@tamnd

@tamnd tamnd commented Jun 15, 2026

Copy link
Copy Markdown
Owner

Implements cratesio-cli (binary crates) for browsing the crates.io Rust package registry.

Commands

  • search <query> -- search crates by keyword
  • crate <name> -- single crate detail
  • versions <name> -- all versions of a crate
  • owners <name> -- list owners of a crate
  • deps <name> -- dependencies of the latest version
  • top -- top crates by all-time download count
  • categories -- list all crates.io categories
  • keywords -- list popular crates.io keywords

Changes

  • Rename binary cratesio -> crates (goreleaser, Makefile, cmd/ dir)
  • Add Owner, Dep, Keyword types with wire conversion methods
  • Add wireVersion type to extract published_by.login and truncate dates
  • Add Owners, Deps, Top, ListKeywords client methods
  • Register all 8 commands in the kit domain
  • Add 6 new httptest-based tests (14 total)

Notes

Public crates.io REST API v1, no auth needed.
Requires a descriptive User-Agent (403 without it).
Rate limit: 300ms pace default.

… categories, keywords

Rename binary cratesio -> crates (spec requirement). Add Owner, Dep, Keyword
types and the four missing client methods: Owners, Deps, Top, ListKeywords.
Wire all eight commands into the kit domain registration. Add 6 new httptest
tests (owners, deps, top, keywords, published_by extraction, date truncation)
bringing the total to 14.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant