$ show frenck/awesome-home-assistant
Awesome Home Assistant is a community-curated index (an awesome list) of third-party resources for the Home Assistant home automation platform. The repository contains a single massive README.md that serves as the canonical list, organized into sections for custom integrations, dashboard cards, themes, apps, DIY projects, community resources, and more. It is not a software application itself but a well-maintained documentation and curation project with a set of Python maintenance scripts and GitHub Actions workflows that validate entries, check for broken links, refresh star counts, and generate a static website via MkDocs. The repository is designed for contributors to propose additions via pull requests; automated checks enforce entry quality criteria (license, age, activity).
The LLM identified 4 files worth highlighting for reuse:
Validates README entries against acceptance criteria (URL hygiene, repository age/license/activity, HACS metadata) in both PR and full-sweep modes. Well-structured with dataclasses, regex-based entry parsing, and a rule dispatch table. Reusable for any awesome list by adapting the RULES dictionary and checks.
Updates inline GitHub star counts in README.md by first querying the HACS public data index (no auth, bulk), then falling back to the GitHub API for remaining repositories. Demonstrates a smart two-tier data sourcing pattern that minimizes API calls. Reusable for any markdown-based list with GitHub repository URLs.
Helper module that loads the HACS (Home Assistant Community Store) public metadata index into a lookup dictionary keyed by (owner, repo). Makes one HTTPS request per category, no authentication required. Cleanly separated from the scripts that consume it, demonstrating a reusable data access pattern for any tooling that needs HACS repository metadata.
Detects archived, missing, or stale GitHub repositories in the README by combining HACS index data (implicitly active) with GitHub API lookups. Can optionally remove flagged entries in place (`--apply`). Demonstrates a pattern for maintaining an external resource list with minimal API usage through data caching and smart fallback.