vic/awesome-gh-repos
{ "defaultBranch": "main", "description": "Automatically generate a website from your own repos and starred ones.", "fullName": "vic/awesome-gh-repos", "homepage": "https://vic.github.io/awesome-gh-repos/", "language": "Shell", "name": "awesome-gh-repos", "pushedAt": "2025-11-27T06:50:44Z", "stargazersCount": 0, "updatedAt": "2025-11-27T06:50:48Z", "url": "https://github.com/vic/awesome-gh-repos"}Automatically generate a complete website with your GitHub Stars and GitHub Projects.
Section titled “Automatically generate a complete website with your GitHub Stars and GitHub Projects.”Not just generates markdown of repository lists. This actually generates a full static website that allows you to search on all your starred repositories’ READMEs.
Features
Section titled “Features”- Works with no changes at all, just configure GitHub Pages and browse your site.
- Uses Starlight to build a static site.
- No API overload. It uses only two GitHub API calls to retrieve all data. One for your repositories, another for all starred repos.
- Generating the web pages and classification nav-menus is fast using
jqand unix tools instead of leaving that to js/python. - Does NOT depend on third-party code. Once you clone, all code is yours. No risk of depending on others’ code that would read your secrets in the future.
- Automatically classifies projects and starred repos by language.
- Searchable content. Never again wonder where that repo you starred long ago is.
- Action runs nightly or by manual trigger.
- Customizable. Follow Starlight/Astro docs to customize your site as you want.
- GitHub Actions keeps cache for incremental builds.
Screenshots
Section titled “Screenshots”Example
Section titled “Example”This repository actions deploys to the demo website. The first generation of this website included vic’s 200 owned repositories and his 3926 starred repositories, and generated 4003 html pages. And it loads fast even when the static build took 20m to generate. If you have lots of starred repos, just be patient, the action will finish and your website will be fully optimized for fast loading and search.
Just clone or use this repository as template, be sure to configure GitHub Pages on your repository.
Be sure to keep all secret tokens private, never share them. This is the reason for this project, you should not depend on code loaded from third-party registries to have access to your GitHub tokens.
Step 1: Use this repo as template
Section titled “Step 1: Use this repo as template”First build will fail due to not having GitHub Pages enabled, that’s okay. Let’s fix that.
Step 2: Enable GitHub Pages environment on your repo.
Section titled “Step 2: Enable GitHub Pages environment on your repo.”Go to your repository Settings page, and under Pages enable GitHub Actions.
Step 3: Create a Fine-grained Personal Access Token for Pages deployment.
Section titled “Step 3: Create a Fine-grained Personal Access Token for Pages deployment.”Go to Your New Personal Access Token Settings
Make sure you use Fine-Grained access token enabled only for your repository and only for Pages read-write permission.
Step 4: Use the token to create GH_AWESOME_REPOS secret on the github-pages environment of your repository.
Section titled “Step 4: Use the token to create GH_AWESOME_REPOS secret on the github-pages environment of your repository.”Step 5: Go to your Actions and trigger gh-pages manually.
Section titled “Step 5: Go to your Actions and trigger gh-pages manually.”After the GH_AWESOME_REPOS secret is available on your github-pages environment, just trigger the action manually or push some change.