Skip to main content

Automatic GitHub commit bot that logs developer activity.

Project description

๐Ÿš€ AutoCommitBot (v1.2.2)

Python Version License GitHub activity

Maintain a professional GitHub presence with AI-powered automation and built-in security.

AutoCommitBot is an intelligent, cross-platform CLI tool designed for developers who want to maintain a consistent contribution history without the manual overhead. It monitors your local repositories, generates meaningful commit messages using Google's Gemini AI, and manages the full Git lifecycle automatically.


๐Ÿ–ฅ๏ธ Preview

AutoCommitBot CLI


๐ŸŒŸ Why AutoCommitBot?

  • AI Commit Messages โ€” Generates meaningful, context-aware commits instead of generic updates
  • Security (Secret Shield) โ€” Prevents accidental exposure of sensitive files and credentials
  • Natural Activity Mode โ€” Simulates realistic developer commit patterns
  • Backup & Restore โ€” Enables complete rollback of local and remote states
  • Automated Execution โ€” Runs seamlessly in the background on system logon

โœจ Features

Core Capabilities

  • AI Commit Generation โ€” Context-aware commit messages using Gemini with model fallback
  • Security Layer (Secret Shield) โ€” Automatic protection against sensitive file and credential exposure
  • Scheduling Engine โ€” Supports logon, fixed-time, and natural activity-based execution
  • Backup & Restore โ€” Pre-commit snapshots with full local and remote rollback capability
  • Dashboard & Analytics โ€” CLI-based insights into commit history and activity
  • Execution Reliability โ€” Built-in retry logic, conflict handling, and network checks and much more... Check Below ๐Ÿ‘‡๐Ÿป
๐Ÿ” View Full Feature Breakdown

โš™๏ธ Setup & Configuration

  • GitHub Repository Discovery via API
  • Interactive multi-select repo setup
  • Base folder configuration
  • Automatic cloning of missing repos
  • Git authentication verification
  • Backward navigation during setup

๐Ÿ• Scheduling System

  • Logon trigger (Windows Task Scheduler)
  • Fixed-time daily scheduling
  • Randomized daily execution (9 AM โ€“ 11 PM)
  • Natural Activity Mode (probabilistic commits with 48h enforcement)
  • Runs with highest privileges
  • Works on battery power

๐Ÿ” Commit Engine

  • Smart change detection across repositories
  • Commits real user changes with descriptive messages
  • Generates fallback activity commits when idle
  • Automatic pull โ†’ merge โ†’ push workflow
  • Push retry logic on failure

๐Ÿค– AI Commit System

  • Gemini AI integration for commit messages
  • AI Key Validation โ€” Real-time verification of your API key during setup
  • Model fallback chain: 2.5 Flash โ†’ 2.0 Flash โ†’ 1.5 Flash โ†’ Pro
  • Diff truncation for large inputs (8000 chars)

๐Ÿ’พ Backup & Restore

  • ZIP snapshot before every commit
  • Configurable backup retention (config-backup)
  • Restore command with snapshot selection
  • Automatic GitHub rollback via force push

๐Ÿ“Š Dashboard & Management

  • Dashboard with last 50 commits (rich table view)
  • Commit classification (User vs Activity)
  • Status command for tracked repos
  • Add/remove repositories dynamically
  • Persistent history tracking (500 entries)
  • Clean uninstall command โ€” removes scheduler task before uninstalling
  • Version check command โ€” shows installed version and detects available updates

๐ŸŒ Reliability Layer

  • Internet availability check (retry up to 2 minutes)
  • Automatic admin privilege escalation
  • Resilient Git operations with fallback handling

โš™๏ธ How It Works

  1. Detects changes in tracked repositories
  2. Syncs with remote using git pull
  3. Analyzes git diff using Gemini AI
  4. Generates a contextual commit message
  5. Runs security checks (Secret Shield)
  6. Commits and pushes changes
  7. Stores a backup snapshot

All of this runs automatically in the background.


๐Ÿš€ Getting Started

Prerequisites


๐Ÿ“ฆ Installation

Option 1: From Source

git clone https://github.com/RohitKSahoo/auto-commit-bot.git
cd auto-commit-bot
pip install -e .

Option 2: Via pip (Recommended)

pip install autocommitbot

๐Ÿ› ๏ธ Usage

All commands follow the pattern: autocommit <command>

Run autocommit <command> --help for full details on any command.

โš™๏ธ Setup & Config

Command What it does
autocommit setup First-time wizard, or edit repos / schedule / AI
autocommit config-backup <days> Set how long backups are kept

Tip: Running autocommit setup again on a configured machine shows a short menu so you can update just one section (Repositories, Schedule, or AI key) without repeating the full wizard.

๐Ÿ“ Repositories

Command What it does
autocommit add [path] Track a new local git repo
autocommit remove Stop tracking a repo
autocommit status List all tracked repos

๐Ÿ” Automation

Command What it does
autocommit run Commit & push all changes now
autocommit enable Register the Windows auto-start task
autocommit disable Remove the Windows auto-start task

๐Ÿ“Š History & System

Command What it does
autocommit dashboard View commit history & stats
autocommit restore Roll back a bot commit from snapshot
autocommit version Check installed version & updates
autocommit uninstall Remove scheduler task then pip uninstall

โš ๏ธ Notes

  • Automation runs only on tracked repositories
  • restore performs a force push โ€” rewrites remote history, use with caution
  • run is for manual triggering, not regular use
  • Internet connection required for push, version check, and AI commit messages
  • Always use autocommit uninstall instead of pip uninstall directly โ€” running pip uninstall alone will leave an orphaned task in Windows Task Scheduler that silently fails on every trigger

๐Ÿ”„ Staying Up to Date

Run the following command to check your current version and see if a newer release is available:

autocommit version

Example output when up to date:

AutoCommitBot  v1.1.6
Checking for updates...
โœ” You are on the latest version (1.1.6).

Example output when an update is available:

AutoCommitBot  v1.1.5
Checking for updates...
โšก New version available: 1.1.6 (you have 1.1.5)
Run to update:  pip install --upgrade autocommitbot

To update manually at any time:

pip install --upgrade autocommitbot

๐Ÿ” Security Notes

  • Your code is not stored externally (only analyzed for commit messages)
  • Sensitive files are automatically excluded via .gitignore
  • restore uses force push โ€” use with caution

๐Ÿ†˜ Support & Contributions


๐Ÿ‘ค Maintainer

Maintained by @RohitKSahoo


๐Ÿ“„ License

Licensed under the MIT License. See LICENSE for details.


๐Ÿงพ TL;DR

AutoCommitBot is not just automationโ€” itโ€™s a smart Git workflow layer with AI, security, and recovery built in.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autocommitbot-1.2.2.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autocommitbot-1.2.2-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file autocommitbot-1.2.2.tar.gz.

File metadata

  • Download URL: autocommitbot-1.2.2.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for autocommitbot-1.2.2.tar.gz
Algorithm Hash digest
SHA256 20b9e7446a4e2ee624779b3dac6d41e1e6d5c8dbb07aa09130c2c97e855eb51e
MD5 e6a8f4aea578c13c278cdc71c3a9aee4
BLAKE2b-256 7ea7c89e641231b47feb74da5216524f1c3c1323bf87697ba4290a26b8861f98

See more details on using hashes here.

File details

Details for the file autocommitbot-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: autocommitbot-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for autocommitbot-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 772a423c1807c3a7c4d0b2e6821845f86b84205e5ab039dcb808c036204561d3
MD5 586ae072d804d3eecb5a5e85d8774357
BLAKE2b-256 5c29f1442391550f74cadcb8ab33923e250e68b6a4733d29866824c32e33bf43

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page