A community-maintained directory of Rhino 3D packages, with richer metadata than the built-in _PackageManager command.
- 🔍 Instant search — live-filtering with 300ms debounce
- 📊 Trending sort — HackerNews-style gravity algorithm combining downloads × recency
- 🌗 Dark mode — full system/light/dark toggle powered by
next-themes - 📈 Directory stats — total packages, total downloads, and monthly-updated counts
- 🖥️ Platform filters — Windows, Mac, Rhino 6/7/8, Rhino plugin, Grasshopper
- 👤 Owner filter — click any author name to filter by publisher
- 📦 One-click install —
rhino://package/search?name=…deep-links
| Project | Description |
|---|---|
RhinoPackages.Generator |
C# console app that fetches package metadata from the Yak API and writes data.json |
RhinoPackages.Web |
Next.js 14 static site that reads data.json and renders the directory |
RhinoPackages.Tests |
xUnit tests for the generator with mocked HTTP handlers |
- A GitHub Actions workflow runs daily (or on push to
main). - The C# generator fetches all packages from the Yak API and saves
data.jsonintoRhinoPackages.Web/public/. - Next.js exports a fully static site and deploys it to GitHub Pages.
- A GitHub Release is created automatically for each successful deploy.
# Run the web frontend locally
cd RhinoPackages.Web
npm install
npm run dev
# Run the generator locally
cd RhinoPackages.Generator
dotnet run
# Run tests
cd RhinoPackages.Tests
dotnet testThis project was inspired by RhinoPackager by @visose.