Automatically updates your GitHub profile README.md
with your latest repositories, activities, and details. This tool fetches data from your GitHub account using the GitHub API and synchronizes it to your profile.
- Fetches your public repositories, including their names, descriptions, languages, and last updated dates.
- Compares the current
README.md
content with your remote GitHub profile. - Updates the profile
README.md
if there are any changes. - Pushes the updated
README.md
to your GitHub repository.
Here's an example of the output generated for a GitHub profile:
Welcome to my GitHub profile! Here's a snapshot of my public repositories:
Description: Automatically updates my Github profile README so I don't have to.
Languages: Python
Last Updated: 2024-12-31
Description: Config files for my GitHub profile you see at https://github.com/SyntaxSkater
Languages: No languages detected
Last Updated: 2024-12-31
Python Installed: Ensure you have Python 3.8 or higher installed on your machine. GitHub Token: Create a GitHub Personal Access Token with the following permissions: repo (for accessing private repositories, if needed) user (to fetch profile data) Steps to Set Up Clone the Repository:
git clone https://github.com/SyntaxSkater/github-readme-auto-update.git
cd github-readme-auto-update
Install Dependencies: Install the required Python libraries using pip:
pip install -r requirements.txt
Set Up Your GitHub Token: Add your GitHub token as an environment variable:
setx GITHUB_TOKEN "your_github_token_here"
export GITHUB_TOKEN="your_github_token_here"
Update the GITHUB_USERNAME in update_readme.py to your GitHub username:
GITHUB_USERNAME = "YourGitHubUsername"
Execute the script to generate and push your profile README.md:
python update_readme.py
If you want to customize the output or modify how the script works, you can edit the following sections in update_readme.py:
Modify the generate_readme_content function to customize how your profile's README.md is structured.
Update the get_github_activity function to filter repositories by specific criteria (e.g., visibility, topics, etc.).
This project is continuously evolving! Here’s what’s planned for future updates:
Automatically display your most important repositories based on: Number of stars Forks Last updated date A custom priority list.
Include GitHub profile stats like: Total stars across all repositories. Total forks. Total contributions over the past year. Most used programming languages.
Allow you to mark specific repositories as "featured" to always display at the top of your profile README.
Fetch and display additional details from your GitHub profile, such as: Location Bio Hireable status.
Display a visual graph of your contributions over time to highlight your activity.
Add informative badges for each repository, such as: Build status License type Number of stars and forks.
Include tags or topics (e.g., "AI," "Full-Stack," "Python") to make repositories easily searchable and better categorized.
Show a dynamic counter that tracks the number of profile visitors.
Add links to your other online profiles, such as: LinkedIn Twitter Personal website or portfolio.
If you’re interested in contributing to these features or have ideas for new ones:
1. Fork this repository.
2. Work on the feature in a separate branch.
3. Submit a pull request with your changes.
4. Let’s make GitHub profile management even more powerful and customizable together! 🚀
This project is licensed under the MIT License - see the LICENSE file for details.