GitCleanse
A powerful command-line tool to manage and grow your GitHub network.
Features
- Relationship Analysis: Analyze your followers, following, and mutual relationships.
- Unfollow Non-Followers: Unfollow users who are not following you back.
- Follow Back Followers: Follow back users who are following you but you're not following back.
- Discover New Connections: Discover and follow the followers of your followers.
- User Activity Analysis: Analyze user profiles and activity, including repository details, stars, and last push.
- User Filtering: Filter users based on criteria like follower count or repository count.
- User Scoring: Score users based on their activity and contributions.
- Network Language Analysis: Analyze the most used languages in your network's repositories.
- Customizable Dashboard: Display a dashboard of key network metrics, top users, and language stats.
- Automated User Engagement: Automatically star new repositories, like new commits, comment on issues and pull requests, and follow back users that follow you.
- GitHub API: Uses the official GitHub API to interact with your profile.
- Rich Console: Utilizes the `rich` library for beautiful and interactive console output.
Prerequisites
Before using the application, ensure you have:
- Python 3.8 or higher
- A GitHub Personal Access Token with the `repo` or `public_repo` scope.
Installation
Clone the repository:
git clone https://github.com/your-username/your-repository.git
cd your-repository
Install dependencies:
pip install -r requirements.txt
Usage
Set your GitHub token as an environment variable named `GITHUB_TOKEN`. If the environment variable is not set, the application will prompt you to enter your token at the start.
Run the application:
Follow the on-screen menu to perform a specific task.
Menu Options
Automated User Engagement Details
The Automated User Engagement feature allows you to configure the following actions:
- Star New Repositories: Automatically star new repositories created by users in your network.
- Like New Commits: Automatically like (add +1 reaction to) new commits made by users in your network.
- Comment on Issues/PRs: Automatically comment on newly opened issues or pull requests in your network using a customizable message.
- Follow Back Users: Automatically follow back users in your network that you're not following.
- Rate Limiting: All actions respect GitHub's rate limits with sleeps between API requests.
View on GitHub