CLI tool for maintaining consistent Git commits automatically
Project description
CommitFlow
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file commitflow-1.0.2.tar.gz.
File metadata
- Download URL: commitflow-1.0.2.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
201d6bd446b29407864310b2b847c0b422bbb233681d27791b37a19290c79bd4
|
|
| MD5 |
164613594013e03f8fa544ad3d7ff0e5
|
|
| BLAKE2b-256 |
b66bc7a30f15376bebbeda2959f482993e36b5c122b7c4dc1bee156d6ed7956c
|
File details
Details for the file commitflow-1.0.2-py3-none-any.whl.
File metadata
- Download URL: commitflow-1.0.2-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3456356841bb1a7e3e394bca7cb06373382aceb24f1b00695f0bb6a93bf4617e
|
|
| MD5 |
681ebd2ef42bcafd3352083c974c243b
|
|
| BLAKE2b-256 |
bbb7cfcc9cfc949c7067ac3f9cab51178c8acd2ce278c2022fad9252a401a083
|