status: active
timestamp: 2026-06-21
tags: [decision, app, packages-catalog, starlight, auto-discovery, showcase]
packages.oriz.in shape — auto-discovery Starlight catalog with showcase pages
packages.oriz.in auto-discovery Starlight catalog lists every chirag127/*-npm-pkg repo, fetches README + version + bundle metadata, and renders per-package showcase pages with live demo iframe, copy-paste install snippet, badge wall, and StackBlitz playground link. Rebuilds daily via cron + on tag push from any package repo.
packages.oriz.in shape
The shape
Auto-discovery Starlight catalog. Lives in oriz-packages-catalog-app submodule, deployed to CF Pages at packages.oriz.in.
This file is the SHOWCASE-PAGE shape companion to [[decisions/packages/packages-oriz-in-catalog]] (which locked the dual-surface split between oriz.in/packages overview and packages.oriz.in deep catalog).
Per-package showcase page
Each chirag127/*-npm-pkg repo gets a detail page with:
| Block | Source |
|---|---|
| Live demo iframe | https://stackblitz.com/edit/<slug>?embed=1&file=index.tsx — pre-seeded with a minimal usage example pulled from the package’s examples/basic.tsx if present |
| Copy-paste install snippet | pnpm add @chirag127/<slug> (with copy-button) |
| Badge wall | npm version + downloads + bundle size (bundlephobia) + license + GH stars + last commit (Shields.io) |
| README embed | GitHub README live-fetched at build time, MDX-rendered, 24h cache |
| StackBlitz playground link | ”Open in StackBlitz” button ? full editor |
| Versions table | Recent npm versions + release notes from GH Releases |
Auto-discovery
GH Action runs daily at 04:00 IST + on repository_dispatch from any *-npm-pkg repo’s release.yml:
gh repo list chirag127 --json name,description,topics --jq '[.[]|select(.name|test("-npm-pkg$"))]'- For each: fetch README, latest version, bundle size.
- Regenerate the catalog content collection.
- Trigger CF Pages rebuild.
Why Starlight not custom
Starlight (Astro’s docs theme) gives sidebar nav + search + dark mode + breadcrumbs for free. Customising for catalog use means swapping the home page hero + the per-page top section to embed the showcase blocks — everything else stays default.
Cross-refs
- Dual-location decision (this catalog vs oriz.in/packages overview) ? [[decisions/packages/packages-oriz-in-catalog]]
- home-app links to this catalog ? [[decisions/apps/home-app-shape]]
- Hosting lock ? [[rules/cloudflare-pages-only]]