An open API service indexing awesome lists of open source software.

https://github.com/trahulsingh/green-squares-bot

πŸ”„ A GitHub Actions-powered bot that commits automatically on weekdays to keep your contribution graph active β€” great for learning CI/CD, Git automation, and workflow scheduling.
https://github.com/trahulsingh/green-squares-bot

automation bot ci-cd commit-bot contributions cron daily-commit devops github-actions github-workflows green-squares learning-project open-source python scheduling workflow

Last synced: 2 months ago
JSON representation

πŸ”„ A GitHub Actions-powered bot that commits automatically on weekdays to keep your contribution graph active β€” great for learning CI/CD, Git automation, and workflow scheduling.

Awesome Lists containing this project

README

          

# 🌿 green-squares-bot

> **A fun and educational GitHub Actions bot that automatically commits on weekdays to keep your contribution graph active.**

![GitHub Workflow Status](https://img.shields.io/badge/GitHub%20Actions-Auto%20Commit%20Bot-brightgreen?logo=github)

---

## πŸ’‘ What is `green-squares-bot`?

Welcome to **green-squares-bot** β€” a simple yet creative bot that automatically generates commits to make your GitHub contribution graph colorful and active 🌱.

This is a **demo project** that showcases how you can use **GitHub Actions** to automate routine tasks, like generating commits on a schedule. It’s a great way to explore GitHub automation, scheduled workflows (via CRON), and Git operations β€” all within a lightweight and transparent project.

---

## ✨ Key Features

- πŸ” **Automated Commits on 3–5 Random Days per Week**
Each week, the bot picks 3 to 5 random days (including weekends) to commit.

- πŸ”’ **Multiple Commits per Day**
Generates between **3 to 15 commits** on each commit day, with natural variation.

- πŸ•’ **Runs Three Times Daily**
Scheduled runs spread throughout the day (Morning, Afternoon, Evening) to simulate organic activity.

- 🧠 **Human-like Commit Messages and Quotes**
Uses randomly selected inspirational quotes and emojis to simulate real development habits.

- πŸ“œ **Commit History Logging**
Logs all commits in `commit_log.txt` for transparency and tracking.

- πŸ§ͺ **Educational Use Only**
Designed as a learning tool for GitHub Actions, automation, and CI/CD workflows.

---

## βš™οΈ How It Works

This project uses a `commit.py` Python script executed through a scheduled GitHub Actions workflow (`.github/workflows/activity.yml`).

The workflow runs daily at three times:

- πŸŒ… **Morning:** `06:00 UTC` (11:30 AM IST)
- 🌞 **Afternoon:** `12:00 UTC` (5:30 PM IST)
- πŸŒ™ **Evening:** `15:45 UTC` (9:15 PM IST)

Each run performs:

1. 🧾 Git checkout
2. βš™οΈ Git identity setup
3. 🎲 Weekly randomization of 3–5 commit days
4. ✍️ Running `commit.py` to generate 3–15 commits on commit days
5. πŸ—‚οΈ Updating random files with quotes and messages
6. πŸ”„ Pull latest changes with rebase
7. πŸ“€ Push commits if ahead

---

## πŸš€ Getting Started

### Clone the repo:

```bash
git clone https://github.com/YOUR_USERNAME/green-squares-bot.git
cd green-squares-bot
```

### Push to your own GitHub repository:

```bash
git remote rename origin old-origin
git remote add origin https://github.com/YOUR_USERNAME/green-squares-bot.git
git push -u origin master
```

Make sure the repository is **public** so commits show up on your GitHub profile contribution graph!

---

## πŸ”§ File Structure

```
green-squares-bot/
β”œβ”€β”€ commit.py # Main commit generator script
β”œβ”€β”€ daily_log.txt # Rotating dummy file
β”œβ”€β”€ progress.md # Rotating dummy file
β”œβ”€β”€ inspiration.txt # Rotating dummy file
β”œβ”€β”€ commit_log.txt # Records commit history
└── .github/
└── workflows/
└── activity.yml # GitHub Actions workflow
```

---

## 🀝 Contributing

Contributions are welcome! πŸŽ‰
If you have ideas for:
- Better commit logic
- Cool new features
- Code cleanup or optimization

Feel free to fork this repo and open a pull request.

---

## ⚠️ **Disclaimer**

> **This project is for educational and demonstration purposes only.**
> It is designed to show how GitHub Actions can be used for scheduled automation tasks β€” not for inflating contributions or misleading viewers.

Automating your GitHub activity can be a **fun and informative** way to learn about CI/CD, bots, scripting, and workflows β€” but it's important to use this responsibly:

- Be **transparent** in your usage
- Avoid **spammy or misleading behavior**
- Present it clearly as a **testbed for learning automation**

---

πŸ§ͺ Built for learning, not for production.
πŸ’š Happy green squares!
πŸ“… Automation starts from: `2025-07-01`

---

## πŸ“„ License

This project is licensed under the [MIT License](LICENSE).
Feel free to use, modify, and distribute it for learning and personal projects.
See the full license in the [LICENSE](LICENSE) file.