commitflow 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- commitflow-1.0.0/LICENSE +21 -0
- commitflow-1.0.0/PKG-INFO +216 -0
- commitflow-1.0.0/README.md +199 -0
- commitflow-1.0.0/commitflow.egg-info/PKG-INFO +216 -0
- commitflow-1.0.0/commitflow.egg-info/SOURCES.txt +25 -0
- commitflow-1.0.0/commitflow.egg-info/dependency_links.txt +1 -0
- commitflow-1.0.0/commitflow.egg-info/entry_points.txt +2 -0
- commitflow-1.0.0/commitflow.egg-info/requires.txt +1 -0
- commitflow-1.0.0/commitflow.egg-info/top_level.txt +1 -0
- commitflow-1.0.0/daily_git_assistant/__init__.py +1 -0
- commitflow-1.0.0/daily_git_assistant/config.py +126 -0
- commitflow-1.0.0/daily_git_assistant/git_utils.py +165 -0
- commitflow-1.0.0/daily_git_assistant/logger.py +105 -0
- commitflow-1.0.0/daily_git_assistant/main.py +108 -0
- commitflow-1.0.0/daily_git_assistant/modes/__init__.py +0 -0
- commitflow-1.0.0/daily_git_assistant/modes/auto.py +118 -0
- commitflow-1.0.0/daily_git_assistant/modes/interactive.py +172 -0
- commitflow-1.0.0/daily_git_assistant/modes/quick.py +143 -0
- commitflow-1.0.0/daily_git_assistant/modes/setup.py +90 -0
- commitflow-1.0.0/daily_git_assistant/repo_scanner.py +127 -0
- commitflow-1.0.0/daily_git_assistant/scheduler.py +259 -0
- commitflow-1.0.0/daily_git_assistant/ui.py +149 -0
- commitflow-1.0.0/setup.cfg +4 -0
- commitflow-1.0.0/setup.py +89 -0
- commitflow-1.0.0/tests/test_commit_flow.py +39 -0
- commitflow-1.0.0/tests/test_config.py +23 -0
- commitflow-1.0.0/tests/test_git_utils.py +23 -0
commitflow-1.0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Abhinav Kumar Singh
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: commitflow
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: CLI tool for maintaining consistent Git commits automatically
|
|
5
|
+
Author: Abhinav Kumar Singh
|
|
6
|
+
Requires-Python: >=3.8
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Requires-Dist: colorama
|
|
10
|
+
Dynamic: author
|
|
11
|
+
Dynamic: description
|
|
12
|
+
Dynamic: description-content-type
|
|
13
|
+
Dynamic: license-file
|
|
14
|
+
Dynamic: requires-dist
|
|
15
|
+
Dynamic: requires-python
|
|
16
|
+
Dynamic: summary
|
|
17
|
+
|
|
18
|
+
# CommitFlow
|
|
19
|
+
|
|
20
|
+

|
|
21
|
+

|
|
22
|
+

|
|
23
|
+
<!--
|
|
24
|
+

|
|
25
|
+
|
|
26
|
+
-->
|
|
27
|
+
CommitFlow is a lightweight command-line tool that helps developers maintain consistent Git commits automatically without interrupting their workflow .
|
|
28
|
+
It provides a simple interface to commit progress, automate daily commits and keep your GitHub contribution graph active while you focus on actual development.
|
|
29
|
+
|
|
30
|
+
## Why CommitFlow?
|
|
31
|
+
> ### CommitFlow is built to simplify a common developer habit: committing progress regularly.
|
|
32
|
+
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.
|
|
33
|
+
> ### If this tool helps your workflow, feel free to star the repository ! It means a lot !!
|
|
34
|
+
|
|
35
|
+
## Features
|
|
36
|
+
- Automatic repository detection
|
|
37
|
+
- Commit preview before committing
|
|
38
|
+
- Interactive commit workflow
|
|
39
|
+
- Quick commit mode for frequent commits
|
|
40
|
+
- Automatic daily commits (Scheduled runs)
|
|
41
|
+
- Windows Task Scheduler support
|
|
42
|
+
- Linux cron support
|
|
43
|
+
- Configuration file support
|
|
44
|
+
- Logging system
|
|
45
|
+
- Cross-platform terminal color support
|
|
46
|
+
|
|
47
|
+
<!--
|
|
48
|
+
## Usage
|
|
49
|
+
commitflow
|
|
50
|
+
commitflow --quick
|
|
51
|
+
commitflow --auto
|
|
52
|
+
commitflow --setup
|
|
53
|
+
commitflow --schedule
|
|
54
|
+
---
|
|
55
|
+
-->
|
|
56
|
+
## Installation
|
|
57
|
+
Install CommitFlow directly from PyPI:
|
|
58
|
+
```bash
|
|
59
|
+
pip install commitflow
|
|
60
|
+
```
|
|
61
|
+
Verify installation:
|
|
62
|
+
```bash
|
|
63
|
+
commitflow --version
|
|
64
|
+
```
|
|
65
|
+
## Quick Start
|
|
66
|
+
Run CommitFlow in interactive mode. This mode guides you through the commit process step by step.
|
|
67
|
+
```bash
|
|
68
|
+
commitflow
|
|
69
|
+
```
|
|
70
|
+
You will be prompted for:
|
|
71
|
+
- repository path
|
|
72
|
+
- files to add
|
|
73
|
+
- commit message
|
|
74
|
+
- push confirmation
|
|
75
|
+
|
|
76
|
+
CommitFlow shows a preview before committing.
|
|
77
|
+
|
|
78
|
+
## CLI Commands
|
|
79
|
+
### Interactive Mode (Default)
|
|
80
|
+
Run the standard interactive workflow:
|
|
81
|
+
```bash
|
|
82
|
+
commitflow
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Quick Mode
|
|
86
|
+
Use repository settings from your configuration file.
|
|
87
|
+
``` bash
|
|
88
|
+
commitflow --quick
|
|
89
|
+
```
|
|
90
|
+
Quick mode skips repository selection and speeds up the commit process.
|
|
91
|
+
|
|
92
|
+
### Auto Mode
|
|
93
|
+
Fully automatic commit process:
|
|
94
|
+
``` bash
|
|
95
|
+
commitflow --auto
|
|
96
|
+
```
|
|
97
|
+
This mode:
|
|
98
|
+
- adds files automatically
|
|
99
|
+
- commits with a default message
|
|
100
|
+
- optionally pushes to remote
|
|
101
|
+
|
|
102
|
+
Auto mode is mainly used by schedulers.
|
|
103
|
+
|
|
104
|
+
### Setup Wizard
|
|
105
|
+
Run the configuration wizard:
|
|
106
|
+
``` bash
|
|
107
|
+
commitflow --setup
|
|
108
|
+
```
|
|
109
|
+
The setup wizard asks for:
|
|
110
|
+
- repository path
|
|
111
|
+
- automatic push preference
|
|
112
|
+
- default commit message
|
|
113
|
+
- daily schedule time
|
|
114
|
+
|
|
115
|
+
It can also configure the system scheduler automatically.
|
|
116
|
+
|
|
117
|
+
### Scheduler Setup
|
|
118
|
+
Create an automated daily commit task:
|
|
119
|
+
```bash
|
|
120
|
+
commitflow --schedule
|
|
121
|
+
```
|
|
122
|
+
CommitFlow supports:
|
|
123
|
+
- Windows Task Scheduler
|
|
124
|
+
- Linux/macOS cron
|
|
125
|
+
|
|
126
|
+
Scheduler settings such as power conditions and retry behavior can be customized during setup.
|
|
127
|
+
|
|
128
|
+
### Example Workflow
|
|
129
|
+
Typical setup:
|
|
130
|
+
``` bash
|
|
131
|
+
commitflow --setup
|
|
132
|
+
```
|
|
133
|
+
After configuration, CommitFlow can run automatic commits daily.
|
|
134
|
+
|
|
135
|
+
Manual commits can also be executed anytime:
|
|
136
|
+
``` bash
|
|
137
|
+
commitflow --quick
|
|
138
|
+
```
|
|
139
|
+
### Configuration File
|
|
140
|
+
CommitFlow stores configuration in:
|
|
141
|
+
``` bash
|
|
142
|
+
~/.commitflow_config.json
|
|
143
|
+
```
|
|
144
|
+
Example configuration:
|
|
145
|
+
```bash
|
|
146
|
+
{
|
|
147
|
+
"repo": "/projects/my-project",
|
|
148
|
+
"auto_push": true,
|
|
149
|
+
"auto_add": ".",
|
|
150
|
+
"commit_message": "daily progress update"
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
### Logs
|
|
154
|
+
CommitFlow keeps logs for debugging and activity tracking.
|
|
155
|
+
Default log location:
|
|
156
|
+
``` bash
|
|
157
|
+
~/.commitflow.log
|
|
158
|
+
```
|
|
159
|
+
Log entries include:
|
|
160
|
+
- commit operations
|
|
161
|
+
- warnings
|
|
162
|
+
- errors
|
|
163
|
+
- scheduler events
|
|
164
|
+
|
|
165
|
+
### Supported Platforms
|
|
166
|
+
- Windows
|
|
167
|
+
- Linux
|
|
168
|
+
<!--
|
|
169
|
+
Schedulers supported:
|
|
170
|
+
- Windows Task Scheduler
|
|
171
|
+
- cron
|
|
172
|
+
-->
|
|
173
|
+
<!--
|
|
174
|
+
Running Tests
|
|
175
|
+
|
|
176
|
+
Install development dependencies:
|
|
177
|
+
|
|
178
|
+
pip install pytest
|
|
179
|
+
|
|
180
|
+
Run tests:
|
|
181
|
+
|
|
182
|
+
pytest
|
|
183
|
+
|
|
184
|
+
GitHub Actions automatically runs tests on each push.
|
|
185
|
+
|
|
186
|
+
Project Structure
|
|
187
|
+
commitflow
|
|
188
|
+
│
|
|
189
|
+
├── daily_git_assistant
|
|
190
|
+
│ ├── main.py
|
|
191
|
+
│ ├── config.py
|
|
192
|
+
│ ├── git_utils.py
|
|
193
|
+
│ ├── logger.py
|
|
194
|
+
│ ├── repo_scanner.py
|
|
195
|
+
│ ├── scheduler.py
|
|
196
|
+
│ ├── ui.py
|
|
197
|
+
│ └── modes
|
|
198
|
+
│
|
|
199
|
+
├── tests
|
|
200
|
+
├── setup.py
|
|
201
|
+
└── README.md
|
|
202
|
+
-->
|
|
203
|
+
|
|
204
|
+
### Contributing
|
|
205
|
+
Contributions are welcome. If you would like to improve CommitFlow:
|
|
206
|
+
- Fork the repository
|
|
207
|
+
- Create a feature branch
|
|
208
|
+
- Submit a pull request
|
|
209
|
+
|
|
210
|
+
Bug reports and feature suggestions are appreciated.
|
|
211
|
+
|
|
212
|
+
### License
|
|
213
|
+
This project is licensed under the MIT License.
|
|
214
|
+
|
|
215
|
+
### Author
|
|
216
|
+
Abhinav Kumar Singh
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# CommitFlow
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+
<!--
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
-->
|
|
10
|
+
CommitFlow is a lightweight command-line tool that helps developers maintain consistent Git commits automatically without interrupting their workflow .
|
|
11
|
+
It provides a simple interface to commit progress, automate daily commits and keep your GitHub contribution graph active while you focus on actual development.
|
|
12
|
+
|
|
13
|
+
## Why CommitFlow?
|
|
14
|
+
> ### CommitFlow is built to simplify a common developer habit: committing progress regularly.
|
|
15
|
+
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.
|
|
16
|
+
> ### If this tool helps your workflow, feel free to star the repository ! It means a lot !!
|
|
17
|
+
|
|
18
|
+
## Features
|
|
19
|
+
- Automatic repository detection
|
|
20
|
+
- Commit preview before committing
|
|
21
|
+
- Interactive commit workflow
|
|
22
|
+
- Quick commit mode for frequent commits
|
|
23
|
+
- Automatic daily commits (Scheduled runs)
|
|
24
|
+
- Windows Task Scheduler support
|
|
25
|
+
- Linux cron support
|
|
26
|
+
- Configuration file support
|
|
27
|
+
- Logging system
|
|
28
|
+
- Cross-platform terminal color support
|
|
29
|
+
|
|
30
|
+
<!--
|
|
31
|
+
## Usage
|
|
32
|
+
commitflow
|
|
33
|
+
commitflow --quick
|
|
34
|
+
commitflow --auto
|
|
35
|
+
commitflow --setup
|
|
36
|
+
commitflow --schedule
|
|
37
|
+
---
|
|
38
|
+
-->
|
|
39
|
+
## Installation
|
|
40
|
+
Install CommitFlow directly from PyPI:
|
|
41
|
+
```bash
|
|
42
|
+
pip install commitflow
|
|
43
|
+
```
|
|
44
|
+
Verify installation:
|
|
45
|
+
```bash
|
|
46
|
+
commitflow --version
|
|
47
|
+
```
|
|
48
|
+
## Quick Start
|
|
49
|
+
Run CommitFlow in interactive mode. This mode guides you through the commit process step by step.
|
|
50
|
+
```bash
|
|
51
|
+
commitflow
|
|
52
|
+
```
|
|
53
|
+
You will be prompted for:
|
|
54
|
+
- repository path
|
|
55
|
+
- files to add
|
|
56
|
+
- commit message
|
|
57
|
+
- push confirmation
|
|
58
|
+
|
|
59
|
+
CommitFlow shows a preview before committing.
|
|
60
|
+
|
|
61
|
+
## CLI Commands
|
|
62
|
+
### Interactive Mode (Default)
|
|
63
|
+
Run the standard interactive workflow:
|
|
64
|
+
```bash
|
|
65
|
+
commitflow
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Quick Mode
|
|
69
|
+
Use repository settings from your configuration file.
|
|
70
|
+
``` bash
|
|
71
|
+
commitflow --quick
|
|
72
|
+
```
|
|
73
|
+
Quick mode skips repository selection and speeds up the commit process.
|
|
74
|
+
|
|
75
|
+
### Auto Mode
|
|
76
|
+
Fully automatic commit process:
|
|
77
|
+
``` bash
|
|
78
|
+
commitflow --auto
|
|
79
|
+
```
|
|
80
|
+
This mode:
|
|
81
|
+
- adds files automatically
|
|
82
|
+
- commits with a default message
|
|
83
|
+
- optionally pushes to remote
|
|
84
|
+
|
|
85
|
+
Auto mode is mainly used by schedulers.
|
|
86
|
+
|
|
87
|
+
### Setup Wizard
|
|
88
|
+
Run the configuration wizard:
|
|
89
|
+
``` bash
|
|
90
|
+
commitflow --setup
|
|
91
|
+
```
|
|
92
|
+
The setup wizard asks for:
|
|
93
|
+
- repository path
|
|
94
|
+
- automatic push preference
|
|
95
|
+
- default commit message
|
|
96
|
+
- daily schedule time
|
|
97
|
+
|
|
98
|
+
It can also configure the system scheduler automatically.
|
|
99
|
+
|
|
100
|
+
### Scheduler Setup
|
|
101
|
+
Create an automated daily commit task:
|
|
102
|
+
```bash
|
|
103
|
+
commitflow --schedule
|
|
104
|
+
```
|
|
105
|
+
CommitFlow supports:
|
|
106
|
+
- Windows Task Scheduler
|
|
107
|
+
- Linux/macOS cron
|
|
108
|
+
|
|
109
|
+
Scheduler settings such as power conditions and retry behavior can be customized during setup.
|
|
110
|
+
|
|
111
|
+
### Example Workflow
|
|
112
|
+
Typical setup:
|
|
113
|
+
``` bash
|
|
114
|
+
commitflow --setup
|
|
115
|
+
```
|
|
116
|
+
After configuration, CommitFlow can run automatic commits daily.
|
|
117
|
+
|
|
118
|
+
Manual commits can also be executed anytime:
|
|
119
|
+
``` bash
|
|
120
|
+
commitflow --quick
|
|
121
|
+
```
|
|
122
|
+
### Configuration File
|
|
123
|
+
CommitFlow stores configuration in:
|
|
124
|
+
``` bash
|
|
125
|
+
~/.commitflow_config.json
|
|
126
|
+
```
|
|
127
|
+
Example configuration:
|
|
128
|
+
```bash
|
|
129
|
+
{
|
|
130
|
+
"repo": "/projects/my-project",
|
|
131
|
+
"auto_push": true,
|
|
132
|
+
"auto_add": ".",
|
|
133
|
+
"commit_message": "daily progress update"
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
### Logs
|
|
137
|
+
CommitFlow keeps logs for debugging and activity tracking.
|
|
138
|
+
Default log location:
|
|
139
|
+
``` bash
|
|
140
|
+
~/.commitflow.log
|
|
141
|
+
```
|
|
142
|
+
Log entries include:
|
|
143
|
+
- commit operations
|
|
144
|
+
- warnings
|
|
145
|
+
- errors
|
|
146
|
+
- scheduler events
|
|
147
|
+
|
|
148
|
+
### Supported Platforms
|
|
149
|
+
- Windows
|
|
150
|
+
- Linux
|
|
151
|
+
<!--
|
|
152
|
+
Schedulers supported:
|
|
153
|
+
- Windows Task Scheduler
|
|
154
|
+
- cron
|
|
155
|
+
-->
|
|
156
|
+
<!--
|
|
157
|
+
Running Tests
|
|
158
|
+
|
|
159
|
+
Install development dependencies:
|
|
160
|
+
|
|
161
|
+
pip install pytest
|
|
162
|
+
|
|
163
|
+
Run tests:
|
|
164
|
+
|
|
165
|
+
pytest
|
|
166
|
+
|
|
167
|
+
GitHub Actions automatically runs tests on each push.
|
|
168
|
+
|
|
169
|
+
Project Structure
|
|
170
|
+
commitflow
|
|
171
|
+
│
|
|
172
|
+
├── daily_git_assistant
|
|
173
|
+
│ ├── main.py
|
|
174
|
+
│ ├── config.py
|
|
175
|
+
│ ├── git_utils.py
|
|
176
|
+
│ ├── logger.py
|
|
177
|
+
│ ├── repo_scanner.py
|
|
178
|
+
│ ├── scheduler.py
|
|
179
|
+
│ ├── ui.py
|
|
180
|
+
│ └── modes
|
|
181
|
+
│
|
|
182
|
+
├── tests
|
|
183
|
+
├── setup.py
|
|
184
|
+
└── README.md
|
|
185
|
+
-->
|
|
186
|
+
|
|
187
|
+
### Contributing
|
|
188
|
+
Contributions are welcome. If you would like to improve CommitFlow:
|
|
189
|
+
- Fork the repository
|
|
190
|
+
- Create a feature branch
|
|
191
|
+
- Submit a pull request
|
|
192
|
+
|
|
193
|
+
Bug reports and feature suggestions are appreciated.
|
|
194
|
+
|
|
195
|
+
### License
|
|
196
|
+
This project is licensed under the MIT License.
|
|
197
|
+
|
|
198
|
+
### Author
|
|
199
|
+
Abhinav Kumar Singh
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: commitflow
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: CLI tool for maintaining consistent Git commits automatically
|
|
5
|
+
Author: Abhinav Kumar Singh
|
|
6
|
+
Requires-Python: >=3.8
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Requires-Dist: colorama
|
|
10
|
+
Dynamic: author
|
|
11
|
+
Dynamic: description
|
|
12
|
+
Dynamic: description-content-type
|
|
13
|
+
Dynamic: license-file
|
|
14
|
+
Dynamic: requires-dist
|
|
15
|
+
Dynamic: requires-python
|
|
16
|
+
Dynamic: summary
|
|
17
|
+
|
|
18
|
+
# CommitFlow
|
|
19
|
+
|
|
20
|
+

|
|
21
|
+

|
|
22
|
+

|
|
23
|
+
<!--
|
|
24
|
+

|
|
25
|
+
|
|
26
|
+
-->
|
|
27
|
+
CommitFlow is a lightweight command-line tool that helps developers maintain consistent Git commits automatically without interrupting their workflow .
|
|
28
|
+
It provides a simple interface to commit progress, automate daily commits and keep your GitHub contribution graph active while you focus on actual development.
|
|
29
|
+
|
|
30
|
+
## Why CommitFlow?
|
|
31
|
+
> ### CommitFlow is built to simplify a common developer habit: committing progress regularly.
|
|
32
|
+
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.
|
|
33
|
+
> ### If this tool helps your workflow, feel free to star the repository ! It means a lot !!
|
|
34
|
+
|
|
35
|
+
## Features
|
|
36
|
+
- Automatic repository detection
|
|
37
|
+
- Commit preview before committing
|
|
38
|
+
- Interactive commit workflow
|
|
39
|
+
- Quick commit mode for frequent commits
|
|
40
|
+
- Automatic daily commits (Scheduled runs)
|
|
41
|
+
- Windows Task Scheduler support
|
|
42
|
+
- Linux cron support
|
|
43
|
+
- Configuration file support
|
|
44
|
+
- Logging system
|
|
45
|
+
- Cross-platform terminal color support
|
|
46
|
+
|
|
47
|
+
<!--
|
|
48
|
+
## Usage
|
|
49
|
+
commitflow
|
|
50
|
+
commitflow --quick
|
|
51
|
+
commitflow --auto
|
|
52
|
+
commitflow --setup
|
|
53
|
+
commitflow --schedule
|
|
54
|
+
---
|
|
55
|
+
-->
|
|
56
|
+
## Installation
|
|
57
|
+
Install CommitFlow directly from PyPI:
|
|
58
|
+
```bash
|
|
59
|
+
pip install commitflow
|
|
60
|
+
```
|
|
61
|
+
Verify installation:
|
|
62
|
+
```bash
|
|
63
|
+
commitflow --version
|
|
64
|
+
```
|
|
65
|
+
## Quick Start
|
|
66
|
+
Run CommitFlow in interactive mode. This mode guides you through the commit process step by step.
|
|
67
|
+
```bash
|
|
68
|
+
commitflow
|
|
69
|
+
```
|
|
70
|
+
You will be prompted for:
|
|
71
|
+
- repository path
|
|
72
|
+
- files to add
|
|
73
|
+
- commit message
|
|
74
|
+
- push confirmation
|
|
75
|
+
|
|
76
|
+
CommitFlow shows a preview before committing.
|
|
77
|
+
|
|
78
|
+
## CLI Commands
|
|
79
|
+
### Interactive Mode (Default)
|
|
80
|
+
Run the standard interactive workflow:
|
|
81
|
+
```bash
|
|
82
|
+
commitflow
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Quick Mode
|
|
86
|
+
Use repository settings from your configuration file.
|
|
87
|
+
``` bash
|
|
88
|
+
commitflow --quick
|
|
89
|
+
```
|
|
90
|
+
Quick mode skips repository selection and speeds up the commit process.
|
|
91
|
+
|
|
92
|
+
### Auto Mode
|
|
93
|
+
Fully automatic commit process:
|
|
94
|
+
``` bash
|
|
95
|
+
commitflow --auto
|
|
96
|
+
```
|
|
97
|
+
This mode:
|
|
98
|
+
- adds files automatically
|
|
99
|
+
- commits with a default message
|
|
100
|
+
- optionally pushes to remote
|
|
101
|
+
|
|
102
|
+
Auto mode is mainly used by schedulers.
|
|
103
|
+
|
|
104
|
+
### Setup Wizard
|
|
105
|
+
Run the configuration wizard:
|
|
106
|
+
``` bash
|
|
107
|
+
commitflow --setup
|
|
108
|
+
```
|
|
109
|
+
The setup wizard asks for:
|
|
110
|
+
- repository path
|
|
111
|
+
- automatic push preference
|
|
112
|
+
- default commit message
|
|
113
|
+
- daily schedule time
|
|
114
|
+
|
|
115
|
+
It can also configure the system scheduler automatically.
|
|
116
|
+
|
|
117
|
+
### Scheduler Setup
|
|
118
|
+
Create an automated daily commit task:
|
|
119
|
+
```bash
|
|
120
|
+
commitflow --schedule
|
|
121
|
+
```
|
|
122
|
+
CommitFlow supports:
|
|
123
|
+
- Windows Task Scheduler
|
|
124
|
+
- Linux/macOS cron
|
|
125
|
+
|
|
126
|
+
Scheduler settings such as power conditions and retry behavior can be customized during setup.
|
|
127
|
+
|
|
128
|
+
### Example Workflow
|
|
129
|
+
Typical setup:
|
|
130
|
+
``` bash
|
|
131
|
+
commitflow --setup
|
|
132
|
+
```
|
|
133
|
+
After configuration, CommitFlow can run automatic commits daily.
|
|
134
|
+
|
|
135
|
+
Manual commits can also be executed anytime:
|
|
136
|
+
``` bash
|
|
137
|
+
commitflow --quick
|
|
138
|
+
```
|
|
139
|
+
### Configuration File
|
|
140
|
+
CommitFlow stores configuration in:
|
|
141
|
+
``` bash
|
|
142
|
+
~/.commitflow_config.json
|
|
143
|
+
```
|
|
144
|
+
Example configuration:
|
|
145
|
+
```bash
|
|
146
|
+
{
|
|
147
|
+
"repo": "/projects/my-project",
|
|
148
|
+
"auto_push": true,
|
|
149
|
+
"auto_add": ".",
|
|
150
|
+
"commit_message": "daily progress update"
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
### Logs
|
|
154
|
+
CommitFlow keeps logs for debugging and activity tracking.
|
|
155
|
+
Default log location:
|
|
156
|
+
``` bash
|
|
157
|
+
~/.commitflow.log
|
|
158
|
+
```
|
|
159
|
+
Log entries include:
|
|
160
|
+
- commit operations
|
|
161
|
+
- warnings
|
|
162
|
+
- errors
|
|
163
|
+
- scheduler events
|
|
164
|
+
|
|
165
|
+
### Supported Platforms
|
|
166
|
+
- Windows
|
|
167
|
+
- Linux
|
|
168
|
+
<!--
|
|
169
|
+
Schedulers supported:
|
|
170
|
+
- Windows Task Scheduler
|
|
171
|
+
- cron
|
|
172
|
+
-->
|
|
173
|
+
<!--
|
|
174
|
+
Running Tests
|
|
175
|
+
|
|
176
|
+
Install development dependencies:
|
|
177
|
+
|
|
178
|
+
pip install pytest
|
|
179
|
+
|
|
180
|
+
Run tests:
|
|
181
|
+
|
|
182
|
+
pytest
|
|
183
|
+
|
|
184
|
+
GitHub Actions automatically runs tests on each push.
|
|
185
|
+
|
|
186
|
+
Project Structure
|
|
187
|
+
commitflow
|
|
188
|
+
│
|
|
189
|
+
├── daily_git_assistant
|
|
190
|
+
│ ├── main.py
|
|
191
|
+
│ ├── config.py
|
|
192
|
+
│ ├── git_utils.py
|
|
193
|
+
│ ├── logger.py
|
|
194
|
+
│ ├── repo_scanner.py
|
|
195
|
+
│ ├── scheduler.py
|
|
196
|
+
│ ├── ui.py
|
|
197
|
+
│ └── modes
|
|
198
|
+
│
|
|
199
|
+
├── tests
|
|
200
|
+
├── setup.py
|
|
201
|
+
└── README.md
|
|
202
|
+
-->
|
|
203
|
+
|
|
204
|
+
### Contributing
|
|
205
|
+
Contributions are welcome. If you would like to improve CommitFlow:
|
|
206
|
+
- Fork the repository
|
|
207
|
+
- Create a feature branch
|
|
208
|
+
- Submit a pull request
|
|
209
|
+
|
|
210
|
+
Bug reports and feature suggestions are appreciated.
|
|
211
|
+
|
|
212
|
+
### License
|
|
213
|
+
This project is licensed under the MIT License.
|
|
214
|
+
|
|
215
|
+
### Author
|
|
216
|
+
Abhinav Kumar Singh
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
README.md
|
|
3
|
+
setup.py
|
|
4
|
+
commitflow.egg-info/PKG-INFO
|
|
5
|
+
commitflow.egg-info/SOURCES.txt
|
|
6
|
+
commitflow.egg-info/dependency_links.txt
|
|
7
|
+
commitflow.egg-info/entry_points.txt
|
|
8
|
+
commitflow.egg-info/requires.txt
|
|
9
|
+
commitflow.egg-info/top_level.txt
|
|
10
|
+
daily_git_assistant/__init__.py
|
|
11
|
+
daily_git_assistant/config.py
|
|
12
|
+
daily_git_assistant/git_utils.py
|
|
13
|
+
daily_git_assistant/logger.py
|
|
14
|
+
daily_git_assistant/main.py
|
|
15
|
+
daily_git_assistant/repo_scanner.py
|
|
16
|
+
daily_git_assistant/scheduler.py
|
|
17
|
+
daily_git_assistant/ui.py
|
|
18
|
+
daily_git_assistant/modes/__init__.py
|
|
19
|
+
daily_git_assistant/modes/auto.py
|
|
20
|
+
daily_git_assistant/modes/interactive.py
|
|
21
|
+
daily_git_assistant/modes/quick.py
|
|
22
|
+
daily_git_assistant/modes/setup.py
|
|
23
|
+
tests/test_commit_flow.py
|
|
24
|
+
tests/test_config.py
|
|
25
|
+
tests/test_git_utils.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
colorama
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
daily_git_assistant
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.0.0"
|