How quemsah/awesome-claude-plugins works
This repository indexes GitHub repositories that contain Claude Code plugins, publishes validated catalog snapshots, and serves them through a searchable web catalog. The main flow is crawler discovery, GitHub enrichment, durable run tracking, snapshot validation/publication, then UI browsing and repository detail/Markdown delivery. The README excerpt identifies the product and catalog scale; source evidence is partial, so uncertain implementation links—especially crawler-to-UI data handoff and unsampled UI routes—are omitted.
Main entry points: execute.ts Run orchestration · publishRun.ts Publication coordinator · enrich.ts Repository enrichment · client.ts GitHub API client
Components 26
Crawler pipeline
- Crawler CLI
crawler/src/cli.ts - Run orchestration
crawler/src/service/execute.ts - Repository discovery
crawler/src/crawl/discover.ts - Repository enrichment
crawler/src/crawl/enrich.ts - Crawl coordinator
crawler/src/crawl/runCrawl.ts
GitHub access
- GitHub API client
crawler/src/github/client.ts - Rate budgeting
crawler/src/github/rateBudget.ts - Marketplace parsing
crawler/src/github/marketplace.ts
Crawler state
- Repository records
crawler/src/storage/repositories.ts - Run records
crawler/src/storage/runs.ts - SQLite database
crawler/src/storage/db.ts
Catalog publishing
- Publication coordinator
crawler/src/publish/publishRun.ts - Snapshot rendering
crawler/src/output/catalogSnapshot.ts - README rendering
crawler/src/output/readme.ts - Snapshot validation
crawler/src/output/validate.ts - Git publication
crawler/src/publish/githubGit.ts - Telegram reporting
crawler/src/notify/telegram.ts
Catalog web app
- Catalog browsing
ui/src/components/search/SearchPage.tsx - Catalog API
ui/src/app/api/catalog/route.ts - Catalog search logic
ui/src/lib/catalog.ts - Repository detail
ui/src/components/repo/RepoPageClient.tsx - Markdown endpoints
ui/src/lib/markdown.ts - Live repository lookup
ui/src/hooks/useLiveRepository.ts
Other components
- Operator
- Catalog visitor
- GitHub
Connections 27
- Operator → Crawler CLI: invokes
crawler/src/cli.ts - Crawler CLI → Run orchestration: dispatches
crawler/src/cli.ts - Run orchestration → Crawl coordinator: starts crawl
crawler/src/service/execute.ts - Crawl coordinator → Repository discovery: runs discovery
crawler/src/crawl/runCrawl.ts - Crawl coordinator → Repository enrichment: runs enrichment
crawler/src/crawl/runCrawl.ts - Repository enrichment → GitHub API client: fetches metadata
crawler/src/crawl/enrich.ts - Repository enrichment → Marketplace parsing: parses manifests
crawler/src/crawl/enrich.ts - GitHub API client → Rate budgeting: uses budget
crawler/src/github/client.ts - GitHub API client → GitHub: requests data
- Repository discovery → GitHub API client: searches GitHub
- Repository discovery → Repository records: records candidates
- Repository enrichment → Repository records: updates records
crawler/src/crawl/enrich.ts - Run orchestration → Run records: tracks run
crawler/src/service/execute.ts - Repository records → SQLite database: persists in
- Run records → SQLite database: persists in
- Run orchestration → Publication coordinator: publishes run
crawler/src/service/execute.ts - Publication coordinator → Snapshot rendering: renders files
crawler/src/publish/publishRun.ts - Publication coordinator → README rendering: renders README
crawler/src/publish/publishRun.ts - Publication coordinator → Snapshot validation: validates snapshot
crawler/src/publish/publishRun.ts - Publication coordinator → Git publication: commits catalog
crawler/src/publish/publishRun.ts - Run orchestration → Telegram reporting: reports run
crawler/src/service/execute.ts - Catalog visitor → Catalog browsing: browses
- Catalog browsing → Catalog API: requests results
- Catalog API → Catalog search logic: searches catalog
ui/src/app/api/catalog/route.ts - Repository detail → Live repository lookup: loads live data
- Live repository lookup → GitHub: fetches repository
ui/src/hooks/useLiveRepository.ts - Markdown endpoints → Catalog search logic: reads catalog
ui/src/lib/markdown.ts