
๐ GitHub Contribution Bot โ User Guide
Scan to access the guide on your mobile device!
โ Getting Started
This bot helps automate GitHub commits to maintain your contribution graph and simulate human-like activity.
- Requires a GitHub Personal Access Token (classic)
- Use with your own public repositories
- Commits to any file path you choose (e.g.,
log.md
)
๐ How to Create a GitHub Personal Access Token (PAT)
To use this bot, you need a GitHub Personal Access Token with the necessary permissions. Follow these steps:
- Go to your GitHub settings: Navigate to GitHub Personal Access Tokens.
- Click on "Generate new token (classic)".
- Give your token a descriptive name (e.g., "GitHub Bot Token").
- Set an expiration date (e.g., 90 days or 1 year) or "No expiration" (use with caution).
- Under "Select scopes", **check the
repo
checkbox**. For fetching your real contribution heatmap, you also need to checkread:user
. - Click "Generate token" at the bottom of the page.
- **IMPORTANT:** Copy the generated token immediately. You will not be able to see it again! Store it securely.
- Paste this token into the "GitHub Personal Access Token (PAT)" field in the bot's "Main Controls" tab.
For more details, refer to GitHub's official documentation on managing personal access tokens.
โน๏ธ Token Scopes Explained
GitHub Personal Access Tokens require specific permissions, called "scopes," to perform actions on your behalf. Here's what the bot needs:
repo
: This scope grants the bot full control over your private repositories. It is essential for the bot to create, update, and delete files (i.e., make commits) in the repositories you select. Without this, the bot cannot commit.read:user
: This scope allows the bot to read your user profile data. It is specifically used to fetch your public GitHub activity events for displaying your "Real GitHub Contribution Heatmap." Without this, the heatmap feature might not work correctly.
Providing only the necessary scopes is a security best practice to limit the bot's access to your GitHub account.
โจ How to Provide Gemini API Key
The bot can generate smart commit messages using the Gemini API. To enable this feature, you need to provide your Gemini API Key:
- Obtain your Gemini API Key from the Google AI Studio or Google Cloud Console.
- In the bot's "Main Controls" tab, locate the "Gemini API Key (for Smart Commit Messages)" input field.
- Paste your Gemini API Key into this field.
- The key will be automatically saved to your browser's local storage for future use.
Ensure your API key is kept confidential and is not shared publicly.
๐ ๏ธ How to Use
- Paste your GitHub token (with
repo
andread:user
scopes) - Select one or more of your repositories
- Set the file path and branch (default:
main
) - Optionally provide your Gemini API Key for smart commit messages.
- Use Manual, Auto Commit, or Safe Mode options.
- Explore the new features like Smart Rotation, Commit Preview, and Stats Panel.
๐ Smart Rotation
Smart Rotation is a feature designed to distribute automated commits more evenly across multiple selected repositories.
- When enabled, the bot will cycle through your selected repositories in a round-robin fashion for each subsequent auto-commit.
- This helps create a more natural and diversified contribution graph across your projects.
- You can enable or disable this feature using the "Enable Smart Rotation (Round-Robin Repos)" checkbox in the "Main Controls" tab.
๐ง Safe Mode Explained
Safe Mode simulates real human behavior by:
- โฑ๏ธ Adding random delays between commits (20โ30 minutes)
- ๐ Rotating across multiple repos
- ๐งพ Generating natural, varied commit messages
- ๐ค Occasionally skipping commits to avoid bot detection
Enable this feature using the "Enable Safe Mode (Human-like Behavior)" checkbox in the "Main Controls" tab for a more organic contribution pattern.
๐ Commit Preview Modal
The Commit Preview Modal provides a confirmation step before a commit is actually made, whether manually or automatically.
- Why it's useful:
- Avoids sending incorrect or duplicate messages.
- Allows you to edit the message or content, making the commit feel more personal, especially in Safe Mode.
- Provides transparency on what's going on behind-the-scenes.
- What it shows:
- Commit message
- File path
- Content snippet
- (Optional) A countdown timer for auto-commits.
- You can enable or disable this feature using the "Enable Commit Preview" checkbox in the "Main Controls" tab.
๐ Stats Panel
The Stats Panel provides insights into your bot's usage and commit activity.
- Total Commits: The total number of commits made by the bot.
- Safe Mode Commits: The number and percentage of commits made while Safe Mode was enabled.
- First Commit Date: The date of the very first commit recorded by the bot.
- Average Interval: The average time between commits.
- Top Used Repo: The repository where the most commits have been made.
You can access this panel via the "Stats" tab and reset the statistics at any time using the "Reset Stats" button.
โ ๏ธ What To Do
- โ Use your own repos
- โ Let commits spread over time
- โ Commit real or test data, not junk
- โ Keep messages unique or random
๐ซ What Not To Do
- โ Donโt spam commits every few seconds
- โ Donโt push to other usersโ repos
- โ Donโt use stolen tokens or fake accounts
- โ Donโt game contribution stats dishonestly
๐งช Pro Tips
- ๐ฑ Install the app as a PWA
- ๐งญ Use multi-repo rotation for realism
- ๐ Use the real heatmap preview to track your growth
- ๐ง Let Safe Mode handle randomness
- ๐ Enable Commit Preview for transparency and control.
- ๐ Monitor your bot's activity with the Stats Panel.
๐ป Advanced Usage (Dev Mode)
Trigger Safe Mode loop manually:
safeAutoCommitLoop(["CryptoExplor/test-repo", "CryptoExplor/logs"]);
Stop loop manually:
safeModeEnabled = false;
๐ซ Can You Get Banned by GitHub for Using This Bot?
๐ Short Answer: Very Unlikely โ If Used Responsibly
Your script does not break GitHubโs Terms of Service as long as:
- โ Youโre committing to your own repositories
- โ Youโre not automating spam or harmful content
- โ Youโre not trying to manipulate public-facing metrics dishonestly (e.g., for applying to jobs)
- โ Youโre not doing this at mass scale across multiple accounts
๐ What Might Trigger a Ban or Flag?
Risk Factor | Severity | Notes |
---|---|---|
๐ด Spamming commits to others' repos | High | Could lead to suspension |
๐ด Using fake/stolen tokens | High | Severe violation |
๐ Creating 100s of fake repos | Medium | Might trigger anti-abuse detection |
๐ Doing 1000s of commits/hour | Medium | Rate limits or behavioral flags |
๐ก Committing useless content | Low | Allowed, but might hurt repo credibility |
โช โArtificialโ heatmap filling | Low | Common, not against rules (if to your own repos) |
๐ก Best Practices to Stay Safe
Tip | Reason |
---|---|
โ Use your own repos only | Full control, no violation |
โ Set reasonable commit intervals (e.g. every 10โ60 min) | Looks human |
โ Use realistic commit messages | Avoids looking bot-generated |
โ Avoid sudden repo bursts (100s of commits in seconds) | Could trigger rate limits |
โ Donโt automate stars, forks, watchers | These are against GitHub ToS |
โ Real-World Example
Many devs use tools like:
- GitHub Readme Stats
- GitHub Activity Faker
- โฆand none of them get banned, because theyโre used on personal accounts in moderation.
๐ Bonus Tip: Keep Your Token Safe
- Never commit your token to GitHub
- Use Classic PAT with only repo scope
- Store in localStorage or environment only
โ TL;DR:
Your current bot is:
- Safe for personal use
- Okay for automation
- Not spammy or malicious
- Not a ToS violation
Just donโt abuse it, and youโre ๐ฏ safe.