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

https://github.com/rahil1202/let-him-commit

The package for doing git commit but in history
https://github.com/rahil1202/let-him-commit

commit git github history javascript nodejs npm npm-package

Last synced: 2 months ago
JSON representation

The package for doing git commit but in history

Awesome Lists containing this project

README

          

# 🍳 Hold Up! Let-Him-Commit

**By [Rahil Vahora](https://github.com/rahil1202)**
_β€œBecause sometimes, you just gotta let him commit...”_

---

## πŸ”§ What is this?

**Let-Him-Commit** is a fun yet educational CLI tool that automates **GitHub commit generation** and let you commit in the **Past, yes you can commit in the past/history**β€”
think of it as your *Git time machine*.

It helps you learn how automation, APIs, and date-based commit scripting work, all while producing beautiful commit graphs.

> ⚠️ **Disclaimer:** This is for **educational purposes only**.
> Do **not** use it to mislead others or fake contributions.
> Always use your **own GitHub account** and **private repos**.

---

## πŸš€ Quick Start

You can use **Let-Him-Commit** directly with npm β€” no cloning required!

### πŸ”Ή Option 1: Run instantly using NPX
```bash
npx let-him-commit
````

### πŸ”Ή Option 2: Install globally

```bash
npm install -g let-him-commit
```

Then just run:

```bash
let-him-commit
```

### πŸ”Ή Option 3: Clone manually

If you want to explore or modify the source code:

```bash
git clone https://github.com/rahil1202/let-him-commit.git
cd let-him-commit
npm install
npm run start
```

---

## βš™οΈ How It Works

1. The tool clones or creates a **private repository** (default: `let-him-cook` 🍳).
2. It generates **commits across selected dates** using a customizable commit range (default: 2–5 per day).
3. Each commit message is templated β€” you can customize or randomize it.
4. It automatically pushes commits in controlled batches to prevent GitHub rate limits.
5. You get a **beautiful commit history** in minutes.

---

## πŸ’‘ Example Usage

```bash
let-him-commit
```

Then follow the prompts to:

* Paste your **GitHub Personal Access Token**
* Enter a **repo name** (`let-him-cook` by default)
* Select **start & end dates**
* Set a **commit range per day**
* Confirm and watch the magic happen ✨

---

## 🎯 Educational Goals

* Learn how to automate Git commits using Node.js and TypeScript
* Understand GitHub API integration and repo automation
* Practice CLI UX design and prompt flows
* Explore date-based scripting and commit batching

---

## 🧩 Tech Stack

* **Node.js + TypeScript**
* **Inquirer** for CLI interaction
* **Axios** for GitHub API calls
* **Chalk** for colored terminal output
* **CLI-Progress** for progress visualization
* **Zod** for input validation

---

## 🧱 Repo Info

This repository (`let-him-cook`) is automatically generated by **Let-Him-Commit**.
It demonstrates backdated commit creation for learning and experimentation.

---

## πŸͺͺ License

**Apache License** Β© 2025 [Rahil Vahora](https://github.com/rahil1202)

---

## πŸ’¬ Contributing

Want to improve this or add new features (like funky commit messages or new templates)?
Pull requests are welcome! πŸ™Œ
πŸ‘‰ [GitHub Repository](https://github.com/rahil1202/let-him-commit)

---

## ❀️ Fun Fact

> β€œGive a dev a repo, and he commits for a day.
> Teach a dev to automate commits, and he’ll let him commit forever.” 😎
---