gitdrip
v1.2.8
Published
CLI tool that automatically commit ai generated messages and push it to origin
Maintainers
Readme
✨ What is gitdrip?
gitdrip is a lightweight CLI tool that:
- Auto-stages your Git changes
- Uses AI to generate clean commit messages based on your
git diff - Pushes commits to the remote repo
- Supports managing and pushing multiple repositories at once
- Stores your OpenRouter API key securely
- NEW: SSH key generation and GitHub integration
- NEW: Background daemon mode for automatic commits
- NEW: Auto-start setup for system integration
Say goodbye to "final-final-fix-2" commits 😄
📦 Installation
npm install -g gitdripRequires Node.js 18+
🔧 Setup
First, set your OpenRouter API key and SSH configuration:
gitdrip setupThis will:
- Prompt for your OpenRouter API key
- Generate SSH keys if not present
- Open GitHub SSH settings page in your browser
- Trust GitHub's SSH host
🚀 Usage
🔁 Push Current Repo with AI Commit
gitdrip pushStages all changes, generates an AI commit message, and pushes to origin.
🔁 Push All Tracked Repos
gitdrip push --allLoops through all added repos and performs the same commit + push operation.
📂 Repo Management
Use the repo namespace to manage your tracked repositories:
➕ Add a Repo
gitdrip repo add /path/to/repoAdds a single Git repo to be managed.
🔍 Scan and Add All Git Repos in a Directory
gitdrip repo scan /path/to/parent-folderRecursively finds all .git folders and adds them as managed repos.
🧹 Remove a Repo
gitdrip repo remove /path/to/repoRemoves a single repo from the managed list.
🔥 Remove All Managed Repos
gitdrip repo remove --allClears the list of all managed repos.
📋 List All Managed Repos
gitdrip repo listDisplays all currently tracked repositories.
🔄 Background Operations
🖥️ Run Daemon Mode
gitdrip daemonRuns gitdrip in the background, automatically committing and pushing changes every 6 hours (configurable).
🚀 Setup Auto-Start
gitdrip setup-autostartSets up gitdrip to automatically start on system login:
- Linux: Creates a systemd user service
- macOS: Provides instructions for LaunchAgent setup
- Windows: Provides instructions for Task Scheduler setup
🧠 How It Works
- Uses
simple-gitto interact with local repos - Generates commit messages via OpenRouter + OpenAI models
- Diff is trimmed to 4000 characters to stay within token limits
- Stores configuration in
~/.gitdrip/config.json - NEW: Automatically generates and configures SSH keys for GitHub
- NEW: Background daemon runs scheduled commits every 6 hours
- NEW: System integration for auto-start on login
📚 Commands Summary
| Command | Description |
| ---------------------------- | --------------------------------- |
| gitdrip setup | Set your OpenRouter API key & SSH |
| gitdrip push | Commit and push the current repo |
| gitdrip push --all | Commit and push all managed repos |
| gitdrip daemon | Run gitdrip in background mode |
| gitdrip setup-autostart | Setup auto-start on system login |
| gitdrip repo add <path> | Add a single repo |
| gitdrip repo remove [path] | Remove a repo |
| gitdrip repo remove --all | Remove all repos |
| gitdrip repo scan <dir> | Scan a directory for Git repos |
| gitdrip repo list | Show all managed repos |
🔧 Configuration
Daemon Frequency
The daemon runs every 6 hours by default. You can modify this by editing ~/.gitdrip/config.json:
{
"repos": ["/path/to/repo1", "/path/to/repo2"],
"frequency": 6
}Logs
Daemon logs are stored in ~/.gitdrip/gitdrip.log for monitoring background operations.
📄 License
MIT © 2025 Priyanshu Chaurasia
💡 What's Next?
- [ ] Add
git pullbefore commit option - [ ] Support for
.gitignoreparsing - [ ] Add support for
.gitdriprcconfig overrides - [ ] Custom AI model selection
- [ ] Webhook notifications for failed commits
- [ ] Branch-specific commit strategies
🌟 Like the project?
- Leave a ⭐ on GitHub
- Share it on socials!
- Contribute or file issues to make it better 💥
