 
Automatically fetch and display your GitHub projects in your profile README.
Features β’ Installation β’ Customization β’ Manual Trigger
This project automatically updates your GitHub profile README (e.g., Your-Username/Your-Username) with your latest projects based on repository topics/tags. It uses a GitHub Action to run a Python script daily, fetch your tagged projects, and commit the changes back to your README.
- π Automatic Daily Updates: Runs on a schedule (e.g., every day at midnight UTC).
- π·οΈ Tag-Based Filtering: Only displays repos with topics you define (e.g., showcase,ai,rag).
- π¨ Custom Image Support: Automatically finds and uses a custom preview image (e.g., RepoName.png) from your project, or falls back to the standard GitHub OpenGraph image.
- π± Mobile Responsive: The generated HTML cards work perfectly on all devices.
- β° Last Updated Timestamp: Shows exactly when the project list was last refreshed.
- π Zero Maintenance: Set it and forget it.
You can set this up in your own GitHub profile in 5 minutes.
In your profile repository (the one named Your-Username/Your-Username), create the following folder and file structure:
Your-Username/
βββ .github/
β   βββ workflows/
β       βββ update-readme.yml  
βββ scripts/
β   βββ update\_projects.py  
βββ requirements.txt  
βββ README.md
In your README.md file, add these two HTML comments. The script will find these tags and replace everything between them.
<!--START_PROJECTS_LIST-->
<!--END_PROJECTS_LIST-->Copy the code from this repository into the files you just created:
- .github/workflows/update-readme.yml: Copy the workflow code from this repo
- scripts/update_projects.py: Copy the Python script from this repo
- requirements.txt:- requests==2.31.0
You must give the GitHub Action permission to write to your repository.
- Go to your profile repository's Settings tab.
- Navigate to Actions > General.
- Scroll down to "Workflow permissions".
- Select "Read and write permissions".
- Click Save.
For any project you want to appear on your README:
- Go to that project's repository page.
- Click the βοΈ (gear icon) next to the "About" section.
- In the "Topics" field, add one of the tags you defined in the script (e.g., showcase,ai).
- Click "Save changes".
That's it! Your README will update on the next scheduled run or when you trigger it manually.
You don't have to wait for the daily schedule to see your changes.
- Go to your profile repository's Actions tab.
- On the left, click "Update README with Projects".
- Click the "Run workflow" button on the right.
Edit scripts/update_projects.py to add or remove your desired tags:
TARGET_TAGS = ["rag", "lln", "showcase", "ai", "your-custom-tag"]Edit .github/workflows/update-readme.yml and change the cron schedule:
schedule:
  # - cron: '0 0 * * *'  # Daily at midnight (Default)
  - cron: '0 */6 * * *'  # Every 6 hours
  # - cron: '0 0 * * 1'    # Every MondayFor any project, you can add a custom image.
- Create a preview image for your project (e.g., My-Awesome-Project.png).
- The image name must exactly match your repository name.
- Push this image to the mainbranch of that project's repository.
The script will automatically find it and use it instead of the default GitHub preview.
This project is licensed under the MIT License - see the LICENSE file for details.
MIT LICENSE