git-auto-pro 1.1.0__tar.gz → 2.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.
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/.editorconfig +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/.gitattributes +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/.gitignore +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/.pre-commit-config.yaml +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/CHANGELOG.md +0 -0
- git_auto_pro-2.0.0/CONTRIBUTING.md +444 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/PKG-INFO +65 -6
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/README.md +60 -2
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/SETUP_GUIDE.md +1 -1
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/docs/api.md +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/docs/troubleshooting.md +3 -3
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/examples/advanced_usage.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/examples/basic_usage.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/__init__.py +1 -1
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/backup.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/cli.py +144 -4
- git_auto_pro-2.0.0/git_auto_pro/commands/__init__.py +1 -0
- git_auto_pro-2.0.0/git_auto_pro/commands/doctor.py +135 -0
- git_auto_pro-2.0.0/git_auto_pro/commands/release.py +259 -0
- git_auto_pro-2.0.0/git_auto_pro/commands/safe_flow.py +145 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/config.py +4 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/git_commands.py +103 -2
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/github.py +52 -11
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/github_issues.py +15 -3
- git_auto_pro-2.0.0/git_auto_pro/github_pr/__init__.py +1 -0
- git_auto_pro-2.0.0/git_auto_pro/github_pr/pr_manager.py +254 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/gitignore_manager.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/scaffolding/__init__.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/scaffolding/github_templates.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/scaffolding/gitignore.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/scaffolding/hooks.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/scaffolding/license.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/scaffolding/project.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/scaffolding/readme.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/scaffolding/templates.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro/scaffolding/workflows.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro.egg-info/PKG-INFO +65 -6
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro.egg-info/SOURCES.txt +11 -3
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/pyproject.toml +4 -3
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/requirements-dev.txt +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/requirements.txt +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/scripts/build.sh +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/scripts/install.sh +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/scripts/test.sh +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/setup.py +5 -5
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/tests/__init__.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/tests/conftest.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/tests/test_cli.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/tests/test_config.py +0 -0
- git_auto_pro-2.0.0/tests/test_doctor.py +77 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/tests/test_github.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/tests/test_github_issues.py +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/tests/test_gitignore_manager.py +0 -0
- git_auto_pro-2.0.0/tests/test_release.py +132 -0
- git_auto_pro-2.0.0/tests/test_safe_flow.py +93 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/tests/test_scaffolding.py +0 -0
- git_auto_pro-1.1.0/CONTRIBUTING.md → git_auto_pro-2.0.0/tests/test_undo.py +0 -0
- git_auto_pro-1.1.0/COMPLETE_FILE_LIST.md +0 -253
- git_auto_pro-1.1.0/PROJECT_CHECKLIST.md +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/LICENSE +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/docs/examples.md +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/docs/usage.md +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro.egg-info/dependency_links.txt +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro.egg-info/entry_points.txt +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro.egg-info/requires.txt +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/git_auto_pro.egg-info/top_level.txt +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/setup.cfg +0 -0
- {git_auto_pro-1.1.0 → git_auto_pro-2.0.0}/tests/test_git_commands.py +0 -0
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
# Contributing to git-auto-pro
|
|
2
|
+
|
|
3
|
+
First off, thank you for considering contributing to git-auto-pro! It's people like you that make git-auto-pro such a great tool.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Code of Conduct](#code-of-conduct)
|
|
8
|
+
- [Getting Started](#getting-started)
|
|
9
|
+
- [How Can I Contribute?](#how-can-i-contribute)
|
|
10
|
+
- [Development Setup](#development-setup)
|
|
11
|
+
- [Coding Standards](#coding-standards)
|
|
12
|
+
- [Commit Guidelines](#commit-guidelines)
|
|
13
|
+
- [Pull Request Process](#pull-request-process)
|
|
14
|
+
- [Reporting Bugs](#reporting-bugs)
|
|
15
|
+
- [Suggesting Enhancements](#suggesting-enhancements)
|
|
16
|
+
- [Community](#community)
|
|
17
|
+
|
|
18
|
+
## Code of Conduct
|
|
19
|
+
|
|
20
|
+
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
|
|
21
|
+
|
|
22
|
+
### Our Standards
|
|
23
|
+
|
|
24
|
+
- **Be respectful**: Treat everyone with respect and kindness
|
|
25
|
+
- **Be collaborative**: Work together towards the common goal
|
|
26
|
+
- **Be inclusive**: Welcome diverse perspectives and backgrounds
|
|
27
|
+
- **Be patient**: Remember that everyone has different skill levels
|
|
28
|
+
- **Be constructive**: Provide helpful feedback and suggestions
|
|
29
|
+
|
|
30
|
+
## Getting Started
|
|
31
|
+
|
|
32
|
+
### Prerequisites
|
|
33
|
+
|
|
34
|
+
Before you begin, ensure you have:
|
|
35
|
+
- Git installed on your system
|
|
36
|
+
- A GitHub account
|
|
37
|
+
- Basic understanding of version control concepts
|
|
38
|
+
- Familiarity with the command line
|
|
39
|
+
|
|
40
|
+
### First Time Setup
|
|
41
|
+
|
|
42
|
+
1. **Fork the repository**: Click the 'Fork' button at the top right of the repository page
|
|
43
|
+
2. **Clone your fork**:
|
|
44
|
+
```bash
|
|
45
|
+
git clone https://github.com/YOUR-USERNAME/git-auto-pro.git
|
|
46
|
+
cd git-auto-pro
|
|
47
|
+
```
|
|
48
|
+
3. **Add upstream remote**:
|
|
49
|
+
```bash
|
|
50
|
+
git remote add upstream https://github.com/HimanshuSingh-966/git-auto-pro.git
|
|
51
|
+
```
|
|
52
|
+
4. **Verify remotes**:
|
|
53
|
+
```bash
|
|
54
|
+
git remote -v
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## How Can I Contribute?
|
|
58
|
+
|
|
59
|
+
### Types of Contributions
|
|
60
|
+
|
|
61
|
+
We welcome various types of contributions:
|
|
62
|
+
|
|
63
|
+
- **Code contributions**: Bug fixes, new features, performance improvements
|
|
64
|
+
- **Documentation**: Improve README, add examples, write tutorials
|
|
65
|
+
- **Testing**: Write tests, report bugs, verify fixes
|
|
66
|
+
- **Design**: UI/UX improvements, logo design, graphics
|
|
67
|
+
- **Community**: Answer questions, help others, spread the word
|
|
68
|
+
|
|
69
|
+
### Good First Issues
|
|
70
|
+
|
|
71
|
+
Look for issues labeled `good first issue` or `help wanted`. These are great starting points for new contributors.
|
|
72
|
+
|
|
73
|
+
## Development Setup
|
|
74
|
+
|
|
75
|
+
### Installation
|
|
76
|
+
|
|
77
|
+
1. **Install dependencies** (if applicable):
|
|
78
|
+
```bash
|
|
79
|
+
# Add installation commands specific to your project
|
|
80
|
+
npm install
|
|
81
|
+
# or
|
|
82
|
+
pip install -r requirements.txt
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
2. **Configure development environment**:
|
|
86
|
+
```bash
|
|
87
|
+
# Add any environment setup commands
|
|
88
|
+
cp .env.example .env
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
3. **Run tests** to ensure everything is working:
|
|
92
|
+
```bash
|
|
93
|
+
# Add test commands
|
|
94
|
+
npm test
|
|
95
|
+
# or
|
|
96
|
+
pytest
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Building the Project
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Add build commands
|
|
103
|
+
npm run build
|
|
104
|
+
# or
|
|
105
|
+
python setup.py build
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Coding Standards
|
|
109
|
+
|
|
110
|
+
### General Guidelines
|
|
111
|
+
|
|
112
|
+
- Write clear, readable, and maintainable code
|
|
113
|
+
- Follow the existing code style and patterns
|
|
114
|
+
- Comment complex logic and non-obvious solutions
|
|
115
|
+
- Keep functions small and focused on a single task
|
|
116
|
+
- Use meaningful variable and function names
|
|
117
|
+
|
|
118
|
+
### Language-Specific Standards
|
|
119
|
+
|
|
120
|
+
**Python**:
|
|
121
|
+
- Follow PEP 8 style guide
|
|
122
|
+
- Use type hints where appropriate
|
|
123
|
+
- Write docstrings for functions and classes
|
|
124
|
+
|
|
125
|
+
**JavaScript**:
|
|
126
|
+
- Use ES6+ features
|
|
127
|
+
- Follow Airbnb style guide
|
|
128
|
+
- Use async/await for asynchronous operations
|
|
129
|
+
|
|
130
|
+
### Code Formatting
|
|
131
|
+
|
|
132
|
+
We use automated formatters to maintain consistent code style:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Python
|
|
136
|
+
black .
|
|
137
|
+
flake8
|
|
138
|
+
|
|
139
|
+
# JavaScript
|
|
140
|
+
npm run lint
|
|
141
|
+
npm run format
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Commit Guidelines
|
|
145
|
+
|
|
146
|
+
We follow the [Conventional Commits](https://www.conventionalcommits.org/) specification for commit messages.
|
|
147
|
+
|
|
148
|
+
### Commit Message Format
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
<type>(<scope>): <subject>
|
|
152
|
+
|
|
153
|
+
<body>
|
|
154
|
+
|
|
155
|
+
<footer>
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Types
|
|
159
|
+
|
|
160
|
+
- `feat`: A new feature
|
|
161
|
+
- `fix`: A bug fix
|
|
162
|
+
- `docs`: Documentation only changes
|
|
163
|
+
- `style`: Changes that don't affect code meaning (formatting, etc.)
|
|
164
|
+
- `refactor`: Code changes that neither fix bugs nor add features
|
|
165
|
+
- `perf`: Performance improvements
|
|
166
|
+
- `test`: Adding or updating tests
|
|
167
|
+
- `chore`: Changes to build process or auxiliary tools
|
|
168
|
+
|
|
169
|
+
### Examples
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
feat(cli): add support for auto-commit scheduling
|
|
173
|
+
|
|
174
|
+
Implemented a new scheduling feature that allows users to
|
|
175
|
+
configure automatic commits at specified intervals.
|
|
176
|
+
|
|
177
|
+
Closes #123
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
fix(auth): resolve token expiration issue
|
|
182
|
+
|
|
183
|
+
Fixed a bug where authentication tokens would expire
|
|
184
|
+
prematurely, causing users to be logged out unexpectedly.
|
|
185
|
+
|
|
186
|
+
Fixes #456
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Commit Best Practices
|
|
190
|
+
|
|
191
|
+
- Use the imperative mood ("Add feature" not "Added feature")
|
|
192
|
+
- Keep the subject line under 50 characters
|
|
193
|
+
- Wrap the body at 72 characters
|
|
194
|
+
- Reference issues and pull requests in the footer
|
|
195
|
+
- Separate subject from body with a blank line
|
|
196
|
+
|
|
197
|
+
## Pull Request Process
|
|
198
|
+
|
|
199
|
+
### Before Submitting
|
|
200
|
+
|
|
201
|
+
1. **Update your fork**:
|
|
202
|
+
```bash
|
|
203
|
+
git fetch upstream
|
|
204
|
+
git checkout main
|
|
205
|
+
git merge upstream/main
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
2. **Create a feature branch**:
|
|
209
|
+
```bash
|
|
210
|
+
git checkout -b feature/your-feature-name
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
3. **Make your changes**:
|
|
214
|
+
- Write code
|
|
215
|
+
- Add tests
|
|
216
|
+
- Update documentation
|
|
217
|
+
- Ensure all tests pass
|
|
218
|
+
|
|
219
|
+
4. **Commit your changes**:
|
|
220
|
+
```bash
|
|
221
|
+
git add .
|
|
222
|
+
git commit -m "feat: your feature description"
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
5. **Push to your fork**:
|
|
226
|
+
```bash
|
|
227
|
+
git push origin feature/your-feature-name
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Submitting a Pull Request
|
|
231
|
+
|
|
232
|
+
1. Go to the original repository on GitHub
|
|
233
|
+
2. Click "New Pull Request"
|
|
234
|
+
3. Select your fork and branch
|
|
235
|
+
4. Fill out the PR template with:
|
|
236
|
+
- Clear description of changes
|
|
237
|
+
- Related issue numbers
|
|
238
|
+
- Screenshots (if applicable)
|
|
239
|
+
- Testing steps
|
|
240
|
+
|
|
241
|
+
### PR Guidelines
|
|
242
|
+
|
|
243
|
+
- **One feature per PR**: Keep PRs focused on a single feature or fix
|
|
244
|
+
- **Update documentation**: Ensure docs reflect your changes
|
|
245
|
+
- **Write tests**: Add tests for new features and bug fixes
|
|
246
|
+
- **Follow code style**: Maintain consistent formatting
|
|
247
|
+
- **Resolve conflicts**: Rebase if your branch is behind main
|
|
248
|
+
- **Be responsive**: Address review comments promptly
|
|
249
|
+
|
|
250
|
+
### PR Review Process
|
|
251
|
+
|
|
252
|
+
1. Maintainers will review your PR within a few days
|
|
253
|
+
2. Address any requested changes
|
|
254
|
+
3. Once approved, a maintainer will merge your PR
|
|
255
|
+
4. Celebrate! 🎉 You're now a contributor!
|
|
256
|
+
|
|
257
|
+
### After Your PR is Merged
|
|
258
|
+
|
|
259
|
+
- Delete your feature branch:
|
|
260
|
+
```bash
|
|
261
|
+
git branch -d feature/your-feature-name
|
|
262
|
+
git push origin --delete feature/your-feature-name
|
|
263
|
+
```
|
|
264
|
+
- Update your local main branch:
|
|
265
|
+
```bash
|
|
266
|
+
git checkout main
|
|
267
|
+
git pull upstream main
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Reporting Bugs
|
|
271
|
+
|
|
272
|
+
### Before Submitting a Bug Report
|
|
273
|
+
|
|
274
|
+
- Check the [existing issues](https://github.com/HimanshuSingh-966/git-auto-pro/issues) to avoid duplicates
|
|
275
|
+
- Verify you're using the latest version
|
|
276
|
+
- Try to reproduce the issue with minimal configuration
|
|
277
|
+
- Collect relevant information (logs, screenshots, error messages)
|
|
278
|
+
|
|
279
|
+
### How to Submit a Bug Report
|
|
280
|
+
|
|
281
|
+
Create an issue with the following information:
|
|
282
|
+
|
|
283
|
+
**Title**: Clear, descriptive summary
|
|
284
|
+
|
|
285
|
+
**Description**:
|
|
286
|
+
- Expected behavior
|
|
287
|
+
- Actual behavior
|
|
288
|
+
- Steps to reproduce
|
|
289
|
+
- System information (OS, version, etc.)
|
|
290
|
+
- Screenshots or error logs (if applicable)
|
|
291
|
+
|
|
292
|
+
**Example**:
|
|
293
|
+
|
|
294
|
+
```markdown
|
|
295
|
+
**Environment:**
|
|
296
|
+
- OS: Ubuntu 22.04
|
|
297
|
+
- Version: v1.2.3
|
|
298
|
+
- Git version: 2.39.0
|
|
299
|
+
|
|
300
|
+
**Steps to Reproduce:**
|
|
301
|
+
1. Run `git-auto-pro init`
|
|
302
|
+
2. Configure with X settings
|
|
303
|
+
3. Execute command Y
|
|
304
|
+
|
|
305
|
+
**Expected Behavior:**
|
|
306
|
+
The tool should automatically commit changes
|
|
307
|
+
|
|
308
|
+
**Actual Behavior:**
|
|
309
|
+
Error: "Unable to detect changes"
|
|
310
|
+
|
|
311
|
+
**Error Log:**
|
|
312
|
+
[Paste error log here]
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
## Suggesting Enhancements
|
|
316
|
+
|
|
317
|
+
### Before Submitting an Enhancement
|
|
318
|
+
|
|
319
|
+
- Check if the feature already exists
|
|
320
|
+
- Review open feature requests
|
|
321
|
+
- Ensure it aligns with project goals
|
|
322
|
+
- Consider if it would benefit most users
|
|
323
|
+
|
|
324
|
+
### How to Submit an Enhancement
|
|
325
|
+
|
|
326
|
+
Create an issue with:
|
|
327
|
+
|
|
328
|
+
- **Clear title**: Describe the enhancement concisely
|
|
329
|
+
- **Problem statement**: What problem does this solve?
|
|
330
|
+
- **Proposed solution**: How should it work?
|
|
331
|
+
- **Alternatives**: Other solutions you've considered
|
|
332
|
+
- **Benefits**: Why is this valuable?
|
|
333
|
+
- **Implementation ideas**: (Optional) Technical approach
|
|
334
|
+
|
|
335
|
+
## Testing
|
|
336
|
+
|
|
337
|
+
### Running Tests
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
# Run all tests
|
|
341
|
+
npm test
|
|
342
|
+
|
|
343
|
+
# Run specific test suite
|
|
344
|
+
npm test -- --grep "authentication"
|
|
345
|
+
|
|
346
|
+
# Run with coverage
|
|
347
|
+
npm run test:coverage
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### Writing Tests
|
|
351
|
+
|
|
352
|
+
- Write tests for all new features
|
|
353
|
+
- Ensure tests are deterministic and isolated
|
|
354
|
+
- Use descriptive test names
|
|
355
|
+
- Follow the AAA pattern: Arrange, Act, Assert
|
|
356
|
+
|
|
357
|
+
Example:
|
|
358
|
+
```javascript
|
|
359
|
+
describe('AutoCommit', () => {
|
|
360
|
+
it('should commit changes when file is modified', async () => {
|
|
361
|
+
// Arrange
|
|
362
|
+
const autoCommit = new AutoCommit();
|
|
363
|
+
const testFile = 'test.txt';
|
|
364
|
+
|
|
365
|
+
// Act
|
|
366
|
+
await autoCommit.watch(testFile);
|
|
367
|
+
fs.writeFileSync(testFile, 'new content');
|
|
368
|
+
|
|
369
|
+
// Assert
|
|
370
|
+
const commits = await getLatestCommit();
|
|
371
|
+
expect(commits).toContain('Auto-commit: test.txt modified');
|
|
372
|
+
});
|
|
373
|
+
});
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
## Documentation
|
|
377
|
+
|
|
378
|
+
### Documentation Guidelines
|
|
379
|
+
|
|
380
|
+
- Write clear, concise explanations
|
|
381
|
+
- Include code examples
|
|
382
|
+
- Update README when adding features
|
|
383
|
+
- Use proper Markdown formatting
|
|
384
|
+
- Add diagrams for complex concepts
|
|
385
|
+
|
|
386
|
+
### Documentation Structure
|
|
387
|
+
|
|
388
|
+
```
|
|
389
|
+
docs/
|
|
390
|
+
├── README.md # Main documentation
|
|
391
|
+
├── CONTRIBUTING.md # This file
|
|
392
|
+
├── INSTALLATION.md # Setup instructions
|
|
393
|
+
├── USAGE.md # How to use the tool
|
|
394
|
+
├── API.md # API reference
|
|
395
|
+
└── TROUBLESHOOTING.md # Common issues
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
## Community
|
|
399
|
+
|
|
400
|
+
### Getting Help
|
|
401
|
+
|
|
402
|
+
- **Issues**: For bug reports and feature requests
|
|
403
|
+
- **Discussions**: For questions and general discussion
|
|
404
|
+
- **Discord/Slack**: (If applicable) Real-time chat with community
|
|
405
|
+
- **Email**: Contact maintainers directly for sensitive issues
|
|
406
|
+
|
|
407
|
+
### Stay Updated
|
|
408
|
+
|
|
409
|
+
- Watch the repository for updates
|
|
410
|
+
- Star the repo to show support
|
|
411
|
+
- Follow the maintainers on GitHub
|
|
412
|
+
- Check the changelog for new releases
|
|
413
|
+
|
|
414
|
+
## Recognition
|
|
415
|
+
|
|
416
|
+
Contributors are recognized in several ways:
|
|
417
|
+
|
|
418
|
+
- Listed in CONTRIBUTORS.md
|
|
419
|
+
- Mentioned in release notes
|
|
420
|
+
- GitHub contributor badge
|
|
421
|
+
- Our eternal gratitude! 💙
|
|
422
|
+
|
|
423
|
+
## License
|
|
424
|
+
|
|
425
|
+
By contributing to git-auto-pro, you agree that your contributions will be licensed under the same license as the project (see LICENSE file).
|
|
426
|
+
|
|
427
|
+
## Questions?
|
|
428
|
+
|
|
429
|
+
Don't hesitate to ask questions! We're here to help:
|
|
430
|
+
|
|
431
|
+
- Open an issue with the `question` label
|
|
432
|
+
- Reach out to maintainers
|
|
433
|
+
- Join our community discussions
|
|
434
|
+
|
|
435
|
+
**Thank you for contributing to git-auto-pro!** 🚀
|
|
436
|
+
|
|
437
|
+
Your contributions help make this project better for everyone. We appreciate your time and effort!
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
**Maintainers:**
|
|
442
|
+
- [@HimanshuSingh-966](https://github.com/HimanshuSingh-966)
|
|
443
|
+
|
|
444
|
+
**Last Updated:** January 2026
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: git-auto-pro
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: Complete Git + GitHub automation CLI tool with interactive file management
|
|
5
|
-
Home-page: https://github.com/
|
|
6
|
-
Author:
|
|
5
|
+
Home-page: https://github.com/HimanshuSingh-966/git-auto-pro
|
|
6
|
+
Author: Himanshu Singh
|
|
7
7
|
Author-email: Himanshu Singh <choudharyhimanshusingh966@gmail.com>
|
|
8
|
+
Maintainer-email: Himanshu Singh <choudharyhimanshusingh966@gmail.com>
|
|
8
9
|
License: MIT
|
|
9
10
|
Project-URL: Homepage, https://github.com/HimanshuSingh-966/git-auto-pro
|
|
10
|
-
Project-URL: Documentation, https://github.com/HimanshuSingh-966/git-auto-pro
|
|
11
|
+
Project-URL: Documentation, https://github.com/HimanshuSingh-966/git-auto-pro/blob/main/README.md
|
|
11
12
|
Project-URL: Repository, https://github.com/HimanshuSingh-966/git-auto-pro
|
|
12
13
|
Project-URL: Issues, https://github.com/HimanshuSingh-966/git-auto-pro/issues
|
|
13
14
|
Keywords: git,github,cli,automation,devtools,gitignore,interactive
|
|
@@ -109,6 +110,24 @@ Git-Auto Pro is a powerful command-line tool that automates your entire developm
|
|
|
109
110
|
- Close issues with comments
|
|
110
111
|
- Update issue properties
|
|
111
112
|
|
|
113
|
+
### 🛡️ Safe Commit Flow (v2.0)
|
|
114
|
+
- Push to test branches automatically (`--safe` flag)
|
|
115
|
+
- Auto-create Pull Requests with review checklists
|
|
116
|
+
- Branch collision detection with timestamp fallback
|
|
117
|
+
- Configurable via settings (`safe_mode`, `test_branch_prefix`)
|
|
118
|
+
|
|
119
|
+
### ⏪ Undo & Release (v2.0)
|
|
120
|
+
- `git-auto undo` — Soft/hard reset with confirmation prompts
|
|
121
|
+
- `git-auto release` — Tag, bump version, push, create GitHub releases
|
|
122
|
+
- Canonical version source from `pyproject.toml`
|
|
123
|
+
|
|
124
|
+
### 🩺 Diagnostics (v2.0)
|
|
125
|
+
- `git-auto doctor` — Git, Python, token, remote, branch consistency checks
|
|
126
|
+
|
|
127
|
+
### 📋 Pull Request Management (v2.0)
|
|
128
|
+
- Create, list, merge, and review PRs from CLI
|
|
129
|
+
- Supports `--draft`, `--reviewer`, `--label`, `--squash`, `--rebase`
|
|
130
|
+
|
|
112
131
|
### 👥 Collaboration
|
|
113
132
|
- Add collaborators to repositories
|
|
114
133
|
- Branch protection rules
|
|
@@ -225,8 +244,10 @@ git-auto commit "message" --amend # Amend last commit
|
|
|
225
244
|
git-auto push # Push
|
|
226
245
|
git-auto push "message" # Add, commit, and push
|
|
227
246
|
git-auto push --force # Force push
|
|
247
|
+
git-auto push --safe "message" # Safe commit flow (test branch + PR)
|
|
228
248
|
git-auto pull # Pull (merge strategy)
|
|
229
249
|
git-auto pull --rebase # Pull with rebase
|
|
250
|
+
git-auto pull --rebase # Pull with rebase
|
|
230
251
|
git-auto pull --no-rebase # Pull with merge (default)
|
|
231
252
|
git-auto pull --ff-only # Only fast-forward
|
|
232
253
|
git-auto pull -b main --rebase # Pull specific branch with rebase
|
|
@@ -385,6 +406,40 @@ git-auto --help # Show help
|
|
|
385
406
|
git-auto COMMAND --help # Command-specific help
|
|
386
407
|
```
|
|
387
408
|
|
|
409
|
+
### Undo
|
|
410
|
+
```bash
|
|
411
|
+
git-auto undo # Soft reset (keep changes staged)
|
|
412
|
+
git-auto undo --hard --yes # Hard reset (discard changes)
|
|
413
|
+
git-auto undo --push --yes # Soft reset + force push
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### Release
|
|
417
|
+
```bash
|
|
418
|
+
git-auto release patch # Bump patch version
|
|
419
|
+
git-auto release minor # Bump minor version
|
|
420
|
+
git-auto release major # Bump major version
|
|
421
|
+
git-auto release 2.1.0 # Set exact version
|
|
422
|
+
git-auto release patch --draft # Create draft release
|
|
423
|
+
git-auto release minor --notes "Custom notes" # With release notes
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
### Doctor
|
|
427
|
+
```bash
|
|
428
|
+
git-auto doctor # Run all diagnostics
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
### Pull Requests
|
|
432
|
+
```bash
|
|
433
|
+
git-auto pr "Fix login bug" # Create PR from current branch
|
|
434
|
+
git-auto pr "Feature" --draft # Create draft PR
|
|
435
|
+
git-auto pr "Fix" --reviewer user1 --label bug # With reviewer and label
|
|
436
|
+
git-auto prs # List open PRs
|
|
437
|
+
git-auto prs --state closed # List closed PRs
|
|
438
|
+
git-auto merge-pr 42 # Merge PR
|
|
439
|
+
git-auto merge-pr 42 --squash # Squash merge
|
|
440
|
+
git-auto review-pr 42 # Open PR in browser
|
|
441
|
+
```
|
|
442
|
+
|
|
388
443
|
## 🎯 Use Cases
|
|
389
444
|
|
|
390
445
|
### Starting a New Python Project
|
|
@@ -464,10 +519,14 @@ Available options:
|
|
|
464
519
|
- `editor`: Default text editor
|
|
465
520
|
- `git_user_name`: Git username
|
|
466
521
|
- `git_user_email`: Git email
|
|
522
|
+
- `safe_mode`: Enable safe commit flow by default (default: `false`)
|
|
523
|
+
- `test_branch_prefix`: Prefix for test branches (default: `test`)
|
|
524
|
+
- `auto_create_pr`: Auto-create PR on safe push (default: `true`)
|
|
525
|
+
- `pr_base_branch`: Base branch for PRs (default: `main`)
|
|
467
526
|
|
|
468
527
|
## 🤝 Contributing
|
|
469
528
|
|
|
470
|
-
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
|
529
|
+
Contributions are welcome! Please see [CONTRIBUTING.md](https://github.com/HimanshuSingh-966/git-auto-pro/blob/main/CONTRIBUTING.md) for details.
|
|
471
530
|
|
|
472
531
|
1. Fork the repository
|
|
473
532
|
2. Create a feature branch (`git-auto switch -c feature/amazing`)
|
|
@@ -477,7 +536,7 @@ Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for det
|
|
|
477
536
|
|
|
478
537
|
## 📝 License
|
|
479
538
|
|
|
480
|
-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
539
|
+
This project is licensed under the MIT License - see the [LICENSE](https://github.com/HimanshuSingh-966/git-auto-pro/blob/main/LICENSE) file for details.
|
|
481
540
|
|
|
482
541
|
## 🙏 Acknowledgments
|
|
483
542
|
|
|
@@ -66,6 +66,24 @@ Git-Auto Pro is a powerful command-line tool that automates your entire developm
|
|
|
66
66
|
- Close issues with comments
|
|
67
67
|
- Update issue properties
|
|
68
68
|
|
|
69
|
+
### 🛡️ Safe Commit Flow (v2.0)
|
|
70
|
+
- Push to test branches automatically (`--safe` flag)
|
|
71
|
+
- Auto-create Pull Requests with review checklists
|
|
72
|
+
- Branch collision detection with timestamp fallback
|
|
73
|
+
- Configurable via settings (`safe_mode`, `test_branch_prefix`)
|
|
74
|
+
|
|
75
|
+
### ⏪ Undo & Release (v2.0)
|
|
76
|
+
- `git-auto undo` — Soft/hard reset with confirmation prompts
|
|
77
|
+
- `git-auto release` — Tag, bump version, push, create GitHub releases
|
|
78
|
+
- Canonical version source from `pyproject.toml`
|
|
79
|
+
|
|
80
|
+
### 🩺 Diagnostics (v2.0)
|
|
81
|
+
- `git-auto doctor` — Git, Python, token, remote, branch consistency checks
|
|
82
|
+
|
|
83
|
+
### 📋 Pull Request Management (v2.0)
|
|
84
|
+
- Create, list, merge, and review PRs from CLI
|
|
85
|
+
- Supports `--draft`, `--reviewer`, `--label`, `--squash`, `--rebase`
|
|
86
|
+
|
|
69
87
|
### 👥 Collaboration
|
|
70
88
|
- Add collaborators to repositories
|
|
71
89
|
- Branch protection rules
|
|
@@ -182,8 +200,10 @@ git-auto commit "message" --amend # Amend last commit
|
|
|
182
200
|
git-auto push # Push
|
|
183
201
|
git-auto push "message" # Add, commit, and push
|
|
184
202
|
git-auto push --force # Force push
|
|
203
|
+
git-auto push --safe "message" # Safe commit flow (test branch + PR)
|
|
185
204
|
git-auto pull # Pull (merge strategy)
|
|
186
205
|
git-auto pull --rebase # Pull with rebase
|
|
206
|
+
git-auto pull --rebase # Pull with rebase
|
|
187
207
|
git-auto pull --no-rebase # Pull with merge (default)
|
|
188
208
|
git-auto pull --ff-only # Only fast-forward
|
|
189
209
|
git-auto pull -b main --rebase # Pull specific branch with rebase
|
|
@@ -342,6 +362,40 @@ git-auto --help # Show help
|
|
|
342
362
|
git-auto COMMAND --help # Command-specific help
|
|
343
363
|
```
|
|
344
364
|
|
|
365
|
+
### Undo
|
|
366
|
+
```bash
|
|
367
|
+
git-auto undo # Soft reset (keep changes staged)
|
|
368
|
+
git-auto undo --hard --yes # Hard reset (discard changes)
|
|
369
|
+
git-auto undo --push --yes # Soft reset + force push
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
### Release
|
|
373
|
+
```bash
|
|
374
|
+
git-auto release patch # Bump patch version
|
|
375
|
+
git-auto release minor # Bump minor version
|
|
376
|
+
git-auto release major # Bump major version
|
|
377
|
+
git-auto release 2.1.0 # Set exact version
|
|
378
|
+
git-auto release patch --draft # Create draft release
|
|
379
|
+
git-auto release minor --notes "Custom notes" # With release notes
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
### Doctor
|
|
383
|
+
```bash
|
|
384
|
+
git-auto doctor # Run all diagnostics
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
### Pull Requests
|
|
388
|
+
```bash
|
|
389
|
+
git-auto pr "Fix login bug" # Create PR from current branch
|
|
390
|
+
git-auto pr "Feature" --draft # Create draft PR
|
|
391
|
+
git-auto pr "Fix" --reviewer user1 --label bug # With reviewer and label
|
|
392
|
+
git-auto prs # List open PRs
|
|
393
|
+
git-auto prs --state closed # List closed PRs
|
|
394
|
+
git-auto merge-pr 42 # Merge PR
|
|
395
|
+
git-auto merge-pr 42 --squash # Squash merge
|
|
396
|
+
git-auto review-pr 42 # Open PR in browser
|
|
397
|
+
```
|
|
398
|
+
|
|
345
399
|
## 🎯 Use Cases
|
|
346
400
|
|
|
347
401
|
### Starting a New Python Project
|
|
@@ -421,10 +475,14 @@ Available options:
|
|
|
421
475
|
- `editor`: Default text editor
|
|
422
476
|
- `git_user_name`: Git username
|
|
423
477
|
- `git_user_email`: Git email
|
|
478
|
+
- `safe_mode`: Enable safe commit flow by default (default: `false`)
|
|
479
|
+
- `test_branch_prefix`: Prefix for test branches (default: `test`)
|
|
480
|
+
- `auto_create_pr`: Auto-create PR on safe push (default: `true`)
|
|
481
|
+
- `pr_base_branch`: Base branch for PRs (default: `main`)
|
|
424
482
|
|
|
425
483
|
## 🤝 Contributing
|
|
426
484
|
|
|
427
|
-
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
|
485
|
+
Contributions are welcome! Please see [CONTRIBUTING.md](https://github.com/HimanshuSingh-966/git-auto-pro/blob/main/CONTRIBUTING.md) for details.
|
|
428
486
|
|
|
429
487
|
1. Fork the repository
|
|
430
488
|
2. Create a feature branch (`git-auto switch -c feature/amazing`)
|
|
@@ -434,7 +492,7 @@ Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for det
|
|
|
434
492
|
|
|
435
493
|
## 📝 License
|
|
436
494
|
|
|
437
|
-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
495
|
+
This project is licensed under the MIT License - see the [LICENSE](https://github.com/HimanshuSingh-966/git-auto-pro/blob/main/LICENSE) file for details.
|
|
438
496
|
|
|
439
497
|
## 🙏 Acknowledgments
|
|
440
498
|
|
|
File without changes
|
|
@@ -198,8 +198,8 @@ bash scripts/install.sh
|
|
|
198
198
|
|
|
199
199
|
If issues persist:
|
|
200
200
|
|
|
201
|
-
1. Check [GitHub Issues](https://github.com/
|
|
202
|
-
2. Search [Discussions](https://github.com/
|
|
201
|
+
1. Check [GitHub Issues](https://github.com/HimanshuSingh-966/git-auto-pro/issues)
|
|
202
|
+
2. Search [Discussions](https://github.com/HimanshuSingh-966/git-auto-pro/discussions)
|
|
203
203
|
3. Open a new issue with:
|
|
204
204
|
- Your OS and Python version
|
|
205
205
|
- Error message or logs
|
|
@@ -242,4 +242,4 @@ pip install -e .
|
|
|
242
242
|
|
|
243
243
|
# Test
|
|
244
244
|
git-auto --help
|
|
245
|
-
```
|
|
245
|
+
```
|
|
File without changes
|
|
File without changes
|