Skip to main content

CLI tool for maintaining consistent Git commits automatically

Project description

CommitFlow

Python License Build Tests PyPI

CommitFlow is a lightweight command-line tool that helps developers maintain consistent Git commits automatically without interrupting their workflow . It provides a simple interface to commit progress, automate daily commits and keep your GitHub contribution graph active while you focus on actual development.

Why CommitFlow?

CommitFlow is built to simplify a common developer habit: committing progress regularly.

Developers often forget to commit progress regularly while working across multiple projects. CommitFlow simplifies this by providing a clean command-line workflow that helps automate and manage daily commits. It is designed to be simple, practical and useful for everyday development workflows.

If this tool helps your workflow, feel free to star the repository ! It means a lot !!

Features

  • Automatic repository detection
  • Commit preview before committing
  • Interactive commit workflow
  • Quick commit mode for frequent commits
  • Automatic daily commits (Scheduled runs)
  • Windows Task Scheduler support
  • Linux cron support
  • Configuration file support
  • Logging system
  • Cross-platform terminal color support

Installation

Install CommitFlow directly from PyPI:

pip install commitflow

Verify installation:

commitflow --version

Quick Start

Run CommitFlow in interactive mode. This mode guides you through the commit process step by step.

commitflow

You will be prompted for:

  • repository path
  • files to add
  • commit message
  • push confirmation

CommitFlow shows a preview before committing.

CLI Commands

Interactive Mode (Default)

Run the standard interactive workflow:

commitflow

Quick Mode

Use repository settings from your configuration file.

commitflow --quick

Quick mode skips repository selection and speeds up the commit process.

Auto Mode

Fully automatic commit process:

commitflow --auto

This mode:

  • adds files automatically
  • commits with a default message
  • optionally pushes to remote

Auto mode is mainly used by schedulers.

Setup Wizard

Run the configuration wizard:

commitflow --setup

The setup wizard asks for:

  • repository path
  • automatic push preference
  • default commit message
  • daily schedule time

It can also configure the system scheduler automatically.

Scheduler Setup

Create an automated daily commit task:

commitflow --schedule

CommitFlow supports:

  • Windows Task Scheduler
  • Linux/macOS cron

Scheduler settings such as power conditions and retry behavior can be customized during setup.

Example Workflow

Typical setup:

commitflow --setup

After configuration, CommitFlow can run automatic commits daily.

Manual commits can also be executed anytime:

commitflow --quick

Configuration File

CommitFlow stores configuration in:

~/.commitflow_config.json

Example configuration:

{
  "repo": "/projects/my-project",
  "auto_push": true,
  "auto_add": ".",
  "commit_message": "daily progress update"
}

Logs

CommitFlow keeps logs for debugging and activity tracking. Default log location:

~/.commitflow.log

Log entries include:

  • commit operations
  • warnings
  • errors
  • scheduler events

Supported Platforms

  • Windows
  • Linux

Contributing

Contributions are welcome. If you would like to improve CommitFlow:

  • Fork the repository
  • Create a feature branch
  • Submit a pull request

Bug reports and feature suggestions are appreciated.

License

This project is licensed under the MIT License.

Author

Abhinav Kumar Singh

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

commitflow-1.0.4.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

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

commitflow-1.0.4-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file commitflow-1.0.4.tar.gz.

File metadata

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

File hashes

Hashes for commitflow-1.0.4.tar.gz
Algorithm Hash digest
SHA256 00dc9d4ecd7c289ea59450e7766f036b2dabc2d8ddb45e483d6c5e4ab5175a1a
MD5 9174131da5bbe006589c541ece86e270
BLAKE2b-256 5807176e7a474c14834bbc5f29869fab0d54ecd058e490c70a54b099096b0fd4

See more details on using hashes here.

File details

Details for the file commitflow-1.0.4-py3-none-any.whl.

File metadata

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

File hashes

Hashes for commitflow-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b67019c66dec6915e4b613c5b7e63c1b7fcfe96d022f201a902c5abc9dc1d240
MD5 dc80ddc3fb7ba7484609b354a550db9a
BLAKE2b-256 e6e7199ecac0b3eb58aa8a3d43c338b4652a0626b8bd60eda571eda31fb6c830

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