git-auto-pro 1.0.0__py3-none-any.whl

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.
@@ -0,0 +1,477 @@
1
+ Metadata-Version: 2.4
2
+ Name: git-auto-pro
3
+ Version: 1.0.0
4
+ Summary: Complete Git + GitHub automation CLI tool with interactive file management
5
+ Home-page: https://github.com/yourusername/git-auto-pro
6
+ Author: Your Name
7
+ Author-email: Your Name <your.email@example.com>
8
+ License: MIT
9
+ Project-URL: Homepage, https://github.com/yourusername/git-auto-pro
10
+ Project-URL: Documentation, https://github.com/yourusername/git-auto-pro#readme
11
+ Project-URL: Repository, https://github.com/yourusername/git-auto-pro
12
+ Project-URL: Issues, https://github.com/yourusername/git-auto-pro/issues
13
+ Keywords: git,github,cli,automation,devtools,gitignore,interactive
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Requires-Python: >=3.8
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: typer[all]>=0.9.0
27
+ Requires-Dist: requests>=2.31.0
28
+ Requires-Dist: keyring>=24.0.0
29
+ Requires-Dist: rich>=13.0.0
30
+ Requires-Dist: gitpython>=3.1.40
31
+ Requires-Dist: pyyaml>=6.0
32
+ Requires-Dist: questionary>=2.0.0
33
+ Provides-Extra: dev
34
+ Requires-Dist: pytest>=7.4.0; extra == "dev"
35
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
36
+ Requires-Dist: black>=23.0.0; extra == "dev"
37
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
38
+ Requires-Dist: mypy>=1.5.0; extra == "dev"
39
+ Dynamic: author
40
+ Dynamic: home-page
41
+ Dynamic: license-file
42
+ Dynamic: requires-python
43
+
44
+ # πŸš€ Git-Auto Pro
45
+
46
+ **Complete Git + GitHub Automation CLI Tool**
47
+
48
+ Git-Auto Pro is a powerful command-line tool that automates your entire development workflow, from Git operations to GitHub repository management, project scaffolding, and CI/CD setup.
49
+
50
+ [![Python Version](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
51
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
52
+ [![PyPI](https://img.shields.io/badge/pypi-git--auto--pro-orange.svg)](https://pypi.org/project/git-auto-pro/)
53
+
54
+ ## ✨ Features
55
+
56
+ ### πŸ” GitHub Authentication
57
+ - Secure token storage using OS-level keyring (Keychain/Credential Manager/Secret Service)
58
+ - Token validation via GitHub API
59
+ - Support for Personal Access Tokens
60
+
61
+ ### πŸ“¦ Repository Management
62
+ - Create public/private repositories
63
+ - Set descriptions, topics, and homepage URLs
64
+ - Automatic remote configuration
65
+ - Repository statistics and analytics
66
+
67
+ ### 🎬 Project Creation
68
+ - Complete project scaffolding with one command
69
+ - Multiple language templates (Python, Node.js, C++, Rust, Go, Web)
70
+ - Automatic Git initialization
71
+ - GitHub repository creation and push
72
+
73
+ ### πŸ’» Git Operations
74
+ - Simplified Git commands with intuitive syntax
75
+ - Branch management (create, switch, delete, list)
76
+ - Stash operations
77
+ - Merge with options (no-ff, squash)
78
+ - Clone with shallow copy support
79
+ - Interactive status and log display
80
+
81
+ ### πŸ“ Generators
82
+ - **README.md**: Professional, customizable README templates
83
+ - **LICENSE**: Multiple license types (MIT, Apache, GPL, BSD, etc.)
84
+ - **.gitignore**: Language-specific templates
85
+ - **Project Templates**: Full project structures for various languages
86
+
87
+ ### βš™οΈ CI/CD Workflows
88
+ - GitHub Actions workflows (CI, CD, testing, release)
89
+ - GitLab CI configuration
90
+ - Pre-configured for Python projects
91
+ - Extensible to other platforms
92
+
93
+ ### πŸͺ Git Hooks
94
+ - Pre-commit: Linting, formatting, testing
95
+ - Pre-push: Full test suite, type checking
96
+ - Commit-msg: Conventional commit validation
97
+ - Post-commit: Custom notifications
98
+
99
+ ### πŸ“‹ GitHub Templates
100
+ - Issue templates (bug reports, feature requests)
101
+ - Pull request templates
102
+ - CONTRIBUTING.md generation
103
+ - Standardized collaboration workflows
104
+
105
+ ### πŸ‘₯ Collaboration
106
+ - Add collaborators to repositories
107
+ - Branch protection rules
108
+ - Permission management
109
+
110
+ ### πŸ’Ύ Backup & Restore
111
+ - Create repository snapshots
112
+ - Compress and archive entire projects
113
+ - Restore from backups
114
+
115
+ ### βš™οΈ Configuration
116
+ - Persistent configuration storage
117
+ - Customizable defaults (branch names, commit messages, licenses)
118
+ - Per-user settings
119
+
120
+ ## πŸ“¦ Installation
121
+
122
+ ### From PyPI
123
+ ```bash
124
+ pip install git-auto-pro
125
+ ```
126
+
127
+ ### From Source
128
+ ```bash
129
+ git clone https://github.com/yourusername/git-auto-pro.git
130
+ cd git-auto-pro
131
+ pip install -e .
132
+ ```
133
+
134
+ ### Requirements
135
+ - Python 3.8 or higher
136
+ - Git installed on your system
137
+ - GitHub Personal Access Token (for GitHub features)
138
+
139
+ ## πŸš€ Quick Start
140
+
141
+ ### 1. Login to GitHub
142
+ ```bash
143
+ git-auto login
144
+ # Enter your GitHub Personal Access Token when prompted
145
+ ```
146
+
147
+ **Creating a Token:**
148
+ 1. Go to https://github.com/settings/tokens
149
+ 2. Click "Generate new token (classic)"
150
+ 3. Select scopes: `repo`, `workflow`, `admin:org`
151
+ 4. Copy the token
152
+
153
+ ### 2. Create a New Project
154
+ ```bash
155
+ git-auto new my-awesome-project
156
+ # This will:
157
+ # - Create project directory
158
+ # - Generate README, LICENSE, .gitignore
159
+ # - Initialize Git repository
160
+ # - Create GitHub repository
161
+ # - Push initial commit
162
+ ```
163
+
164
+ ### 3. Work with Git
165
+ ```bash
166
+ # Stage and commit
167
+ git-auto add --all
168
+ git-auto commit "Add new feature"
169
+
170
+ # Or do it all at once
171
+ git-auto push "Add new feature" --branch main
172
+
173
+ # Check status
174
+ git-auto status
175
+
176
+ # View history
177
+ git-auto log --limit 5 --graph
178
+ ```
179
+
180
+ ## πŸ“– Command Reference
181
+
182
+ ### Authentication
183
+ ```bash
184
+ git-auto login # Login to GitHub
185
+ git-auto login --token YOUR_TOKEN # Login with token directly
186
+ ```
187
+
188
+ ### Repository Management
189
+ ```bash
190
+ git-auto create-repo myrepo # Create public repo
191
+ git-auto create-repo myrepo --private # Create private repo
192
+ git-auto create-repo myrepo \
193
+ --description "My project" \
194
+ --homepage "https://example.com" \
195
+ --topics "python,cli,automation"
196
+ ```
197
+
198
+ ### Project Creation
199
+ ```bash
200
+ git-auto new myproject # Interactive mode
201
+ git-auto new myproject --template python # With template
202
+ git-auto new myproject --private # Private repo
203
+ git-auto new myproject --no-github # Skip GitHub
204
+ ```
205
+
206
+ ### Git Operations
207
+ ```bash
208
+ # Initialize
209
+ git-auto init # Initialize Git
210
+ git-auto init --connect URL # Initialize and connect
211
+
212
+ # Basic commands
213
+ git-auto add file1.py file2.py # Stage specific files
214
+ git-auto add --all # Stage all files
215
+ git-auto commit "message" # Commit
216
+ git-auto commit "message" --conventional # Conventional commit
217
+ git-auto commit "message" --amend # Amend last commit
218
+ git-auto push # Push
219
+ git-auto push "message" # Add, commit, and push
220
+ git-auto push --force # Force push
221
+ git-auto pull # Pull
222
+ git-auto pull --rebase # Pull with rebase
223
+
224
+ # Status and history
225
+ git-auto status # Formatted status
226
+ git-auto status --short # Short format
227
+ git-auto log # Show commits
228
+ git-auto log --limit 20 # Show 20 commits
229
+ git-auto log --oneline # One line per commit
230
+ git-auto log --graph # With graph
231
+
232
+ # Branches
233
+ git-auto branch # List branches
234
+ git-auto branch newbranch # Create branch
235
+ git-auto branch --list # List all branches
236
+ git-auto branch --remote # List remote branches
237
+ git-auto switch develop # Switch branch
238
+ git-auto switch -c feature # Create and switch
239
+ git-auto delete-branch feature # Delete branch
240
+ git-auto delete-branch feature --force # Force delete
241
+
242
+ # Stash
243
+ git-auto stash # Stash changes
244
+ git-auto stash --message "WIP" # Stash with message
245
+ git-auto stash --list # List stashes
246
+ git-auto stash-apply # Apply latest stash
247
+ git-auto stash-apply --index 1 # Apply specific stash
248
+ git-auto stash-apply --pop # Apply and remove
249
+
250
+ # Merge
251
+ git-auto merge develop # Merge branch
252
+ git-auto merge develop --no-ff # No fast-forward
253
+ git-auto merge develop --squash # Squash merge
254
+
255
+ # Clone
256
+ git-auto clone URL # Clone repository
257
+ git-auto clone URL --dir mydir # Clone to directory
258
+ git-auto clone URL --depth 1 # Shallow clone
259
+
260
+ # Statistics
261
+ git-auto stats # Basic stats
262
+ git-auto stats --detailed # Detailed stats
263
+ ```
264
+
265
+ ### Generators
266
+ ```bash
267
+ # README
268
+ git-auto readme # Interactive mode
269
+ git-auto readme --output docs/README.md # Custom output
270
+
271
+ # License
272
+ git-auto license # Interactive selection
273
+ git-auto license --type MIT # Specific license
274
+ git-auto license --author "Your Name" --year 2024
275
+
276
+ # .gitignore
277
+ git-auto ignore # Interactive selection
278
+ git-auto ignore --template python # Python template
279
+
280
+ # Templates
281
+ git-auto template python # Python project
282
+ git-auto template node # Node.js project
283
+ git-auto template cpp # C++ project
284
+ git-auto template web # Web project
285
+ git-auto template rust # Rust project
286
+ git-auto template go # Go project
287
+ git-auto ignore-manager # Launch interactive manager
288
+
289
+ # Features:
290
+ # - Browse all project files
291
+ # - Select files to ignore with checkboxes
292
+ # - Add patterns by type (folder, extension, file)
293
+ # - Use common presets (Python, Node, etc.)
294
+ # - View ignore status of all files
295
+ # - Clean already-tracked files
296
+ ```
297
+
298
+ ### Workflows & Hooks
299
+ ```bash
300
+ # CI/CD Workflows
301
+ git-auto workflow ci # GitHub Actions CI
302
+ git-auto workflow test # Test workflow
303
+ git-auto workflow cd # Deployment workflow
304
+ git-auto workflow release # Release workflow
305
+ git-auto workflow ci --platform gitlab # GitLab CI
306
+
307
+ # Git Hooks
308
+ git-auto hook pre-commit # Pre-commit hook
309
+ git-auto hook pre-push # Pre-push hook
310
+ git-auto hook commit-msg # Commit message hook
311
+ git-auto hook post-commit # Post-commit hook
312
+ git-auto hook pre-commit --script custom.sh # Custom script
313
+
314
+ # GitHub Templates
315
+ git-auto templates issue # Issue templates
316
+ git-auto templates pr # PR template
317
+ git-auto templates contributing # CONTRIBUTING.md
318
+ ```
319
+
320
+ ### Collaboration
321
+ ```bash
322
+ # Add collaborators
323
+ git-auto collab username # Add to current repo
324
+ git-auto collab username --repo myrepo # Add to specific repo
325
+ git-auto collab username --permission admin # With permission level
326
+
327
+ # Branch protection
328
+ git-auto protect main # Protect main branch
329
+ git-auto protect develop --repo myrepo # Protect specific branch
330
+ ```
331
+
332
+ ### Backup & Restore
333
+ ```bash
334
+ git-auto backup # Create backup
335
+ git-auto backup --output backup.tar.gz # Custom filename
336
+ git-auto restore backup.tar.gz # Restore from backup
337
+ ```
338
+
339
+ ### Configuration
340
+ ```bash
341
+ git-auto config set default_branch develop # Set default branch
342
+ git-auto config set default_license Apache-2.0 # Set default license
343
+ git-auto config set conventional_commits true # Enable conventional commits
344
+ git-auto config get default_branch # Get value
345
+ git-auto config list # List all config
346
+ git-auto config reset --yes # Reset to defaults
347
+ ```
348
+
349
+ ### Utility
350
+ ```bash
351
+ git-auto version # Show version
352
+ git-auto --help # Show help
353
+ git-auto COMMAND --help # Command-specific help
354
+ ```
355
+
356
+ ## 🎯 Use Cases
357
+
358
+ ### Starting a New Python Project
359
+ ```bash
360
+ # Create and setup everything
361
+ git-auto new my-python-app --template python --private
362
+
363
+ # Navigate and start coding
364
+ cd my-python-app
365
+ # Project structure is ready with:
366
+ # - src/ directory
367
+ # - tests/ directory
368
+ # - requirements.txt
369
+ # - README.md, LICENSE, .gitignore
370
+ # - Git initialized and pushed to GitHub
371
+ ```
372
+
373
+ ### Daily Development Workflow
374
+ ```bash
375
+ # Morning: Start new feature
376
+ git-auto switch -c feature/new-login develop
377
+ git-auto pull
378
+
379
+ # During development
380
+ git-auto status
381
+ git-auto push "Implement login form"
382
+ git-auto push "Add validation"
383
+
384
+ # Evening: Merge to develop
385
+ git-auto switch develop
386
+ git-auto merge feature/new-login
387
+ git-auto push
388
+ ```
389
+
390
+ ### Setting Up CI/CD
391
+ ```bash
392
+ # Generate GitHub Actions workflows
393
+ git-auto workflow ci
394
+ git-auto workflow test
395
+ git-auto workflow cd
396
+
397
+ # Setup pre-commit hooks
398
+ git-auto hook pre-commit
399
+ git-auto hook pre-push
400
+
401
+ # Commit and push
402
+ git-auto push "Setup CI/CD pipeline"
403
+ ```
404
+
405
+ ### Collaborative Development
406
+ ```bash
407
+ # Setup branch protection
408
+ git-auto protect main
409
+ git-auto protect develop
410
+
411
+ # Add team members
412
+ git-auto collab teammate1 --permission push
413
+ git-auto collab teammate2 --permission admin
414
+
415
+ # Generate templates
416
+ git-auto templates issue
417
+ git-auto templates pr
418
+ git-auto templates contributing
419
+ ```
420
+
421
+ ## πŸ”§ Configuration Options
422
+
423
+ Configuration is stored in `~/.git-auto-config.json`
424
+
425
+ Available options:
426
+ - `default_branch`: Default branch name (default: "main")
427
+ - `default_commit_message`: Default commit message
428
+ - `default_license`: Default license type (default: "MIT")
429
+ - `default_project_type`: Default project template
430
+ - `auto_push`: Automatically push after commit
431
+ - `conventional_commits`: Enforce conventional commits
432
+ - `editor`: Default text editor
433
+ - `git_user_name`: Git username
434
+ - `git_user_email`: Git email
435
+
436
+ ## 🀝 Contributing
437
+
438
+ Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
439
+
440
+ 1. Fork the repository
441
+ 2. Create a feature branch (`git-auto switch -c feature/amazing`)
442
+ 3. Commit your changes (`git-auto commit "Add amazing feature"`)
443
+ 4. Push to the branch (`git-auto push`)
444
+ 5. Open a Pull Request
445
+
446
+ ## πŸ“ License
447
+
448
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
449
+
450
+ ## πŸ™ Acknowledgments
451
+
452
+ - Built with [Typer](https://typer.tiangolo.com/) for the CLI
453
+ - Uses [GitPython](https://gitpython.readthedocs.io/) for Git operations
454
+ - Powered by [Rich](https://rich.readthedocs.io/) for beautiful terminal output
455
+ - Token storage via [keyring](https://github.com/jaraco/keyring)
456
+
457
+ ## πŸ“ž Support
458
+
459
+ - πŸ› Report bugs: [GitHub Issues](https://github.com/yourusername/git-auto-pro/issues)
460
+ - πŸ’¬ Discussions: [GitHub Discussions](https://github.com/yourusername/git-auto-pro/discussions)
461
+ - πŸ“§ Email: your.email@example.com
462
+
463
+ ## πŸ—ΊοΈ Roadmap
464
+
465
+ - [ ] VS Code extension integration
466
+ - [ ] GitLab support
467
+ - [ ] Bitbucket support
468
+ - [ ] Interactive TUI mode
469
+ - [ ] Plugin system for custom commands
470
+ - [ ] Team workspace management
471
+ - [ ] Advanced analytics dashboard
472
+
473
+ ---
474
+
475
+ **Made with ❀️ by developers, for developers**
476
+
477
+ ⭐ Star this repo if you find it useful!
@@ -0,0 +1,22 @@
1
+ git_auto_pro/__init__.py,sha256=-Ve7naEswG0MP-Nf0TFlVE_rlOtoN7nZgyMqFgNaDtM,167
2
+ git_auto_pro/backup.py,sha256=jvdjEOuEaqiI-jNfiqejFSYyEp8OqvlYh7U7GY5-DXs,3017
3
+ git_auto_pro/cli.py,sha256=SHfd72SGiJr8DajGIczTsBbO_Fo2HtpHUpqMw0yjR4Q,15230
4
+ git_auto_pro/config.py,sha256=kFermkk834gzaGnPZp8FdQHjlZkIqE1AtDLgEYC8smQ,2783
5
+ git_auto_pro/git_commands.py,sha256=qhuFZOYJcxvZlkdkpd_Ki3i9j1ml3nPbGu1LsM85Qg8,15248
6
+ git_auto_pro/github.py,sha256=LvmjM37Tt2obozJNvHxQjEXopkUrd3DkU5S1HC572Vk,10107
7
+ git_auto_pro/gitignore_manager.py,sha256=iroBUyPGxUA6Y-9ulbD0fCW1LqK-V5WUL8Db2sxAcxQ,12793
8
+ git_auto_pro/scaffolding/__init__.py,sha256=cbuwGnMDDp6Rbb6CK-WceReuTEDizc27B0Pez5S8Ozk,49
9
+ git_auto_pro/scaffolding/github_templates.py,sha256=4axTyMCAN0rI0jwiNtnuyAeGzQ4E9XhuCNzkOziKAU4,16295
10
+ git_auto_pro/scaffolding/gitignore.py,sha256=MUIJPwIzQStEiSNkYpXLBJrxYGlcUT9xNIDFJyZEsg0,1947
11
+ git_auto_pro/scaffolding/hooks.py,sha256=u5qg47xxcjS50xASSJUvlcN2xrqqVhRgBvD9VS3J-3E,8013
12
+ git_auto_pro/scaffolding/license.py,sha256=7SeK6Fx1sOv2cDCKoyhHTEuI13z0m_akw2ty2_Xa44Q,3695
13
+ git_auto_pro/scaffolding/project.py,sha256=S1LM6ktvHMXQSlp7Q38JTz-wn8nTKhDx2qYMM1_MX0s,2840
14
+ git_auto_pro/scaffolding/readme.py,sha256=7Tw5CvqbRLoDlH01SAsV7DjFTg_iObdFOsx9vi9k9dY,2884
15
+ git_auto_pro/scaffolding/templates.py,sha256=HifhauiJgHeTA-WU7T2wEWN_1ZyhrXNpbG_qKsPvqC0,7405
16
+ git_auto_pro/scaffolding/workflows.py,sha256=KdmxQw0S7WgxVQfw0pF54HTT0hap7cl3lmAzNxKSlF8,4933
17
+ git_auto_pro-1.0.0.dist-info/licenses/LICENSE,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ git_auto_pro-1.0.0.dist-info/METADATA,sha256=ag6XC46FY8PmUq563DWOYfjmt0QWilzHM7QebzGUWiA,15499
19
+ git_auto_pro-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
20
+ git_auto_pro-1.0.0.dist-info/entry_points.txt,sha256=EmpYqKqj4ZPTWcNpAonsniw3wvy_U6U-kUAQnEIfmcE,50
21
+ git_auto_pro-1.0.0.dist-info/top_level.txt,sha256=pUPK2wCgZdDYAVchG03IzWrSMvNUtqCOyCuiYUzndZs,13
22
+ git_auto_pro-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ git-auto = git_auto_pro.cli:app
File without changes
@@ -0,0 +1 @@
1
+ git_auto_pro