$ show github/explore
This is the `github/explore` repository, which serves as the central curation hub for GitHub Topics and Collections. It is a hybrid repository that is primarily a curated dataset of structured metadata (YAML front matter in Markdown files) for hundreds of topics and thematic collections, but also includes a small Ruby application layer for validation, testing, and CI automation. The repository's core function is to provide the content that powers the GitHub Explore page, enabling users to discover repositories, people, and projects by topic or curated list. The data is community-contributed via pull requests and validated by automated tests that check for schema compliance, image constraints, and the continued existence of referenced GitHub repositories. The repository is well-maintained with active CI workflows, stale issue management, and an automated system for detecting renamed or removed collection items. While the content is specific to GitHub Explore, the validation patterns and CI automation are reusable for other content curation projects.
The LLM identified 3 files worth highlighting for reuse:
Implements a GraphQL batch prefetching mechanism for validating collection items (repos, users) against the GitHub API. It constructs aliased queries to fetch multiple nodes in a single request, caches responses in `.api-cache.json` with a 24-hour TTL, and provides helper methods to check if a repository exists, is archived, or has been renamed. This pattern is reusable for any project that needs to validate large numbers of GitHub references without hitting rate limits.
A scheduled GitHub Actions workflow that runs hourly to detect renamed or removed repositories in collection items. It uses the GitHub API to check each item, applies corrections directly to the branch, and opens a pull request with the changes. This demonstrates a robust pattern for automated data maintenance that could be adapted to other curated lists or metadata repositories.
Provides reusable validation helpers for topic content, including YAML syntax checking, image dimension/format constraints (288x288 PNG, ≤75KB), Oxford comma enforcement, URI scheme validation, and string length limits. These helpers are self-contained and can be extracted for any project that requires validation of structured content with file attachments.