How kirasync2748/kira-store works
Kira Store is a server-rendered public catalog that combines projects from configured developer accounts across GitHub, package registries, and extension marketplaces. Its workflow parses account configuration, fetches and normalizes provider data, caches per-source results with stale/degraded handling, then presents catalog listings and project/repository details. Supporting routes expose status, sitemap, and crawler policy. Core library relationships are supported by excerpts and the source index; page-to-catalog links are shown as unverified where page implementations were not sampled.
Main entry points: catalog.ts Catalog service · providers.ts Provider loader · cache.ts Result cache · types.ts Project model
Components 19
Web experience
- Catalog pages
src/pages/projects/index.astro - Project detail
src/pages/projects/[source]/[owner]/[...slug].astro - Repository pages
src/pages/repositories/index.astro - Repository detail
src/pages/repositories/[owner]/[name].astro - Catalog view
src/components/Catalog.astro - Detail view
src/components/Detail.astro
Catalog pipeline
- Account configuration
accounts.txt - Account parser
src/lib/accounts.ts - Catalog service
src/lib/catalog.ts - Result cache
src/lib/cache.ts - Project model
src/lib/types.ts
Provider integrations
- Provider loader
src/lib/providers.ts - External project sources
Site support
- Status page
src/pages/status.astro - Request middleware
src/middleware.ts - Sitemap route
src/pages/sitemap.xml.ts - Robots route
src/pages/robots.txt.ts
Other components
- Visitor
- Site visitor
Connections 22
- Visitor → Catalog pages: browses
- Visitor → Project detail: opens project
- Visitor → Repository pages: browses repos
- Visitor → Repository detail: opens repo
- Catalog pages → Catalog view: renders
- Project detail → Detail view: renders
- Repository pages → Catalog view: renders
- Repository detail → Detail view: renders
- Catalog service → Account configuration: reads
src/lib/catalog.ts - Catalog service → Account parser: parses via
src/lib/catalog.ts - Account parser → Project model: uses labels
src/lib/accounts.ts - Catalog service → Provider loader: loads sources
src/lib/catalog.ts - Catalog service → Result cache: creates catalog
src/lib/catalog.ts - Result cache → Provider loader: handles provider errors
src/lib/cache.ts - Result cache → Project model: stores results
src/lib/cache.ts - Provider loader → External project sources: fetches provider data
src/lib/providers.ts - Provider loader → Project model: normalizes projects
src/lib/providers.ts - Sitemap route → Catalog service: gets projects
src/pages/sitemap.xml.ts - Site visitor → Status page: checks status
- Request middleware → Site visitor: sets response headers
src/middleware.ts - Site visitor → Sitemap route: requests
- Site visitor → Robots route: requests