π¬ A powerful GitHub Action that automatically showcases your featured repositories in your profile README with customizable display formats and flexible configuration options.
This GitHub Action fetches repositories filtered by topics and automatically updates your profile README with beautiful, customizable displays. Perfect for showcasing your best work, featured projects, or portfolio pieces directly on your GitHub profile.
- π¨ Multiple display formats: Choose from cards, lists, or tables to match your style
- π·οΈ Topic-Based Filtering: Filter repositories by any topic (defaults to "showcase")
- π Scalable Display: Show up to 100 repositories with customizable limits
- ποΈ Flexible Configuration: Control visibility of descriptions, languages, stars, forks, and topics
- π Automated Updates: Schedule automatic updates or trigger manually
- π Safe Integration: Uses HTML markers for targeted updates without affecting existing content
- π³ Docker Compatible: Runs seamlessly in containerized environments
- β Comprehensive Testing: Full test coverage ensures reliability
Add HTML comment markers to your README.md where you want repositories to appear:
# Your GitHub Profile
Welcome to my profile! Here are some of my featured projects:
<!-- SHOWCASE-START -->
<!-- SHOWCASE-END -->
Feel free to explore and contribute!Create .github/workflows/update-readme.yml in your profile repository:
name: Update README with Featured Repositories
on:
schedule:
- cron: '0 6 * * *' # Daily at 6 AM UTC
workflow_dispatch: # Manual trigger
permissions:
contents: write
jobs:
update-readme:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Update README with Repository Display
uses: sansk/github-repo-display@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
username: ${{ github.repository_owner }}
topic: 'showcase'
format: 'card'Add the "showcase" topic to repositories you want to feature:
- Navigate to your repository on GitHub
- Click the gear icon (βοΈ) next to "About" in the sidebar
- Add "showcase" to the topics field
- Click "Save changes"
The action will automatically detect and display these repositories on the next run.
- name: Update README with Repository Display
uses: sansk/github-repo-display@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
username: ${{ github.repository_owner }}- name: Update README with Repository Display
uses: sansk/github-repo-display@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
username: ${{ github.repository_owner }}
topic: 'featured'
format: 'table'
title: 'π Featured Projects'
max_repos: 12
show_description: true
show_language: true
show_stars: true
show_forks: true
show_topics: true
commit_message: 'docs: update featured projects showcase'| Input | Description | Required | Default Value |
|---|---|---|---|
token |
GitHub token with repo permissions | β | ${{ github.token }} |
username |
GitHub username to fetch repositories | β | - |
topic |
Topic to filter repositories by | β | showcase |
format |
Display format: card, list, or table |
β | card |
title |
Section title | β | π My Projects |
max_repos |
Maximum repositories to display | β | 10 |
show_description |
Show repository descriptions | β | true |
show_language |
Show programming language | β | true |
show_stars |
Show star counts | β | false |
show_forks |
Show fork counts | β | false |
show_topics |
Show repository topics | β | false |
commit_message |
Commit message for updates | β | Update Profile README with Github Projects |
- All boolean parameters accept
trueorfalsevalues - String parameters should be provided with quotes
- The action only fetches public repositories with the specified topic
- Maximum repository limit is enforced at 100 to maintain performance
Displays repositories as GitHub-style cards using the github-readme-stats service:
Creates a clean bulleted list with optional badges and metadata:
-
π§βπ» awesome-project
An awesome project
-
A very cool application Visit Website
Organizes repository information in a structured table format:
| Repository | Description | Language | Stars | Forks |
|---|---|---|---|---|
| Spoon-Knife | This repo is for demonstration purposes only. | β 13.2k | π 153k | |
| git-consortium | This repo is for demonstration purposes only. Live Website |
β 455 | π 129 | |
| octocat.github.io | β 892 | π 433 |
- Node.js 18 or higher
- npm package manager
- GitHub Personal Access Token
# Clone the repository
git clone https://github.com/sansk/github-repo-display.git
cd github-repo-display
# Install dependencies
npm install
# Run tests
npm test
# Build the action
npm run buildComprehensive testing instructions are available in our Development Testing Guide.
We're continuously working to improve the GitHub Repository Display Action.
[ ] Bug Fixes
We welcome contributions! Please see our Contributing Guidelines for details on:
- Code of conduct
- Development workflow
- Submitting pull requests
- Reporting issues
This project is licensed under the MIT License - see the LICENSE file for details.
If you're using this project and find it helpful, or would like to encourage continued development, here are some ways you can contribute:
- π Report & Request: Help improve the project by reporting bugs or requesting features via GitHub Issues
- π Give Credit: When using this action in your README, consider linking back to this repository to help others discover it
- β Star & Share: Give the project a star on GitHub and share it with your developer community π
- β Buy Me a Coffee: Support ongoing development with a small contribution π΅
Your support helps keep open source project like this alive and thriving. Thanks! β€οΈ
- github-readme-stats for powering the card display format
- GitHub Actions team for the excellent platform
Made with β€οΈ by SK to give back to the open source community