pushpilot 1.1.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.
- pushpilot-1.1.0/LICENSE +23 -0
- pushpilot-1.1.0/PKG-INFO +155 -0
- pushpilot-1.1.0/README.md +138 -0
- pushpilot-1.1.0/autopush/__init__.py +6 -0
- pushpilot-1.1.0/autopush/ai_commit.py +483 -0
- pushpilot-1.1.0/autopush/cli.py +316 -0
- pushpilot-1.1.0/autopush/commit_gen.py +144 -0
- pushpilot-1.1.0/autopush/detector.py +342 -0
- pushpilot-1.1.0/autopush/git_ops.py +256 -0
- pushpilot-1.1.0/autopush/watcher.py +159 -0
- pushpilot-1.1.0/pushpilot.egg-info/PKG-INFO +155 -0
- pushpilot-1.1.0/pushpilot.egg-info/SOURCES.txt +15 -0
- pushpilot-1.1.0/pushpilot.egg-info/dependency_links.txt +1 -0
- pushpilot-1.1.0/pushpilot.egg-info/entry_points.txt +6 -0
- pushpilot-1.1.0/pushpilot.egg-info/top_level.txt +1 -0
- pushpilot-1.1.0/pyproject.toml +35 -0
- pushpilot-1.1.0/setup.cfg +4 -0
pushpilot-1.1.0/LICENSE
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Boost Software License - Version 1.0 - August 17th, 2003
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person or organization
|
|
4
|
+
obtaining a copy of the software and accompanying documentation covered by
|
|
5
|
+
this license (the "Software") to use, reproduce, display, distribute,
|
|
6
|
+
execute, and transmit the Software, and to prepare derivative works of the
|
|
7
|
+
Software, and to permit third-parties to whom the Software is furnished to
|
|
8
|
+
do so, all subject to the following:
|
|
9
|
+
|
|
10
|
+
The copyright notices in the Software and this entire statement, including
|
|
11
|
+
the above license grant, this restriction and the following disclaimer,
|
|
12
|
+
must be included in all copies of the Software, in whole or in part, and
|
|
13
|
+
all derivative works of the Software, unless such copies or derivative
|
|
14
|
+
works are solely in the form of machine-executable object code generated by
|
|
15
|
+
a source language processor.
|
|
16
|
+
|
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
|
20
|
+
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
|
21
|
+
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
|
22
|
+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
23
|
+
DEALINGS IN THE SOFTWARE.
|
pushpilot-1.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pushpilot
|
|
3
|
+
Version: 1.1.0
|
|
4
|
+
Summary: PushPilot - Intelligent multi-framework Git autopilot that watches features, detects AI coding context, and ships to GitHub
|
|
5
|
+
Author: PushPilot Developers
|
|
6
|
+
Project-URL: Homepage, https://github.com/rhamifydev/PushPilot
|
|
7
|
+
Project-URL: Repository, https://github.com/rhamifydev/PushPilot.git
|
|
8
|
+
Project-URL: Issues, https://github.com/rhamifydev/PushPilot/issues
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Classifier: Topic :: Software Development :: Version Control :: Git
|
|
13
|
+
Requires-Python: >=3.9
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENSE
|
|
16
|
+
Dynamic: license-file
|
|
17
|
+
|
|
18
|
+
# 🚀 PushPilot
|
|
19
|
+
|
|
20
|
+
> **Intelligent Multi-Framework Git & GitHub Autopilot**
|
|
21
|
+
> One command to initialize Git, link your GitHub repository, generate conventional commits, and push. Includes a **Feature-Complete File Watcher** that automatically syncs code to GitHub whenever a feature is completed.
|
|
22
|
+
|
|
23
|
+
[](https://github.com/rhamifydev/PushPilot)
|
|
24
|
+
[](https://opensource.org/licenses/MIT)
|
|
25
|
+
[](https://www.python.org/downloads/)
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 🌟 What PushPilot Does
|
|
30
|
+
|
|
31
|
+
1. **Zero-Config One-Command Setup (`pushpilot <github-url>`)**:
|
|
32
|
+
- Give it your GitHub repo URL once: `pushpilot https://github.com/username/repo.git`.
|
|
33
|
+
- If Git is not initialized, PushPilot initializes it with default branch `main`.
|
|
34
|
+
- Links the `origin` remote automatically.
|
|
35
|
+
- Detects if GitHub was initialized with a default README or `.gitignore` and merges/rebases seamlessly without conflicts.
|
|
36
|
+
- Generates a framework-tailored `.gitignore` if none exists.
|
|
37
|
+
- Stages all files, creates a conventional commit, and pushes directly to GitHub!
|
|
38
|
+
|
|
39
|
+
2. **Subsequent One-Command Push (`pushpilot` or `auto-push`)**:
|
|
40
|
+
- Devs just write `pushpilot` (or `auto-push`).
|
|
41
|
+
- Detects all modified/added/deleted files.
|
|
42
|
+
- Generates a **Conventional Semantic Commit Message** (e.g., `feat(auth): implement login endpoint in FastAPI`).
|
|
43
|
+
- Stages, commits, and pushes to GitHub in 2 seconds.
|
|
44
|
+
|
|
45
|
+
3. **Internal AI Commit Intelligence (Auto-Detect)**:
|
|
46
|
+
- **Coding with AI?** If you are coding inside an AI-assisted environment (**Google Antigravity IDE**, **Cursor**, **Aider**, **Claude Code**, **Cline**) or have an AI API configured (**Gemini**, **OpenAI**, **Anthropic**, **Groq**, or local **Ollama**), PushPilot detects the active developer intent and git diff to generate **ultra-accurate, laser-focused Conventional Commit messages**.
|
|
47
|
+
- **Not coding with AI?** PushPilot instantly and seamlessly uses its **smart default heuristic engine** (zero dependencies, zero delay, offline-friendly).
|
|
48
|
+
- Use `--no-ai` to disable AI detection or `--ai` to force it.
|
|
49
|
+
|
|
50
|
+
4. **Multi-Language & Multi-Framework Intelligence**:
|
|
51
|
+
- **JavaScript / TypeScript**: React, Next.js, Vue, Nuxt, Angular, Svelte, Vite, Node.js, Express, NestJS
|
|
52
|
+
- **Python**: Django, FastAPI, Flask, standard Python, AI/ML
|
|
53
|
+
- **Rust**: Cargo projects
|
|
54
|
+
- **Go**: Go modules
|
|
55
|
+
- **Dart / Flutter**: Mobile & Web Flutter apps
|
|
56
|
+
- **Java / Kotlin**: Spring Boot, Maven, Gradle
|
|
57
|
+
- **C# / .NET**: ASP.NET Core, .NET solutions
|
|
58
|
+
- **PHP**: Laravel, Symfony, Composer
|
|
59
|
+
- **Ruby**: Ruby on Rails, Bundler
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 🚀 One-Command Installation for Developers
|
|
64
|
+
|
|
65
|
+
Any developer can install and use **PushPilot** globally with a single command:
|
|
66
|
+
|
|
67
|
+
### Option 1: Install Directly from GitHub (Works right now for anyone!)
|
|
68
|
+
```bash
|
|
69
|
+
# Recommended for CLI tools (pipx or uv)
|
|
70
|
+
pipx install git+https://github.com/rhamifydev/PushPilot.git
|
|
71
|
+
|
|
72
|
+
# Or via standard pip
|
|
73
|
+
pip install git+https://github.com/rhamifydev/PushPilot.git
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Option 2: Install from PyPI
|
|
77
|
+
```bash
|
|
78
|
+
pip install pushpilot
|
|
79
|
+
# or
|
|
80
|
+
pipx install pushpilot
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Option 3: Local / Development
|
|
84
|
+
Clone the repo and run:
|
|
85
|
+
```bash
|
|
86
|
+
pip install -e .
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Once installed, the commands `pushpilot`, `pilot`, and `push` are available anywhere in your terminal!
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 🛠️ Usage Examples
|
|
94
|
+
|
|
95
|
+
### 1. Initialize & Link GitHub in One Step
|
|
96
|
+
```bash
|
|
97
|
+
pushpilot https://github.com/rhamifydev/PushPilot.git
|
|
98
|
+
```
|
|
99
|
+
*Initializes Git if needed, sets default branch `main`, links remote `origin`, stages, commits, and pushes to GitHub.*
|
|
100
|
+
|
|
101
|
+
### 2. Instant Auto-Push (Subsequent uses)
|
|
102
|
+
```bash
|
|
103
|
+
pushpilot
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 3. Continuous Feature-Complete Watcher
|
|
107
|
+
```bash
|
|
108
|
+
pushpilot --watch
|
|
109
|
+
```
|
|
110
|
+
*Watches files and pushes to GitHub whenever you finish coding a feature increment!*
|
|
111
|
+
|
|
112
|
+
Customizing the feature settlement window:
|
|
113
|
+
```bash
|
|
114
|
+
pushpilot -w --cooldown 10
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 4. Custom Commit Message
|
|
118
|
+
```bash
|
|
119
|
+
pushpilot -m "feat(payment): integrate Stripe checkout webhook"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 5. Inspect Detected Project Stack
|
|
123
|
+
```bash
|
|
124
|
+
pushpilot --detect
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 6. Interactive Setup / Update GitHub Remote
|
|
128
|
+
```bash
|
|
129
|
+
pushpilot --setup
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### 7. Dry-Run (Preview what would happen)
|
|
133
|
+
```bash
|
|
134
|
+
pushpilot --dry-run
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 📋 CLI Reference
|
|
140
|
+
|
|
141
|
+
| Command / Option | Description |
|
|
142
|
+
| :--- | :--- |
|
|
143
|
+
| `pushpilot [URL]` | Run auto-sync (optionally initialize & link GitHub repository URL) |
|
|
144
|
+
| `-w`, `--watch` | Continuous watcher mode with feature-completion settlement |
|
|
145
|
+
| `--cooldown SEC` | Seconds of inactivity before triggering feature commit (default: 8s) |
|
|
146
|
+
| `-m`, `--message MSG` | Override auto-generated message with a custom commit message |
|
|
147
|
+
| `-b`, `--branch NAME` | Target git branch (defaults to active branch / `main`) |
|
|
148
|
+
| `-r`, `--remote NAME` | Target git remote (default: `origin`) |
|
|
149
|
+
| `--detect` | Print detected language, framework, ecosystem, and git status |
|
|
150
|
+
| `--setup` | Interactively link or update GitHub repository URL |
|
|
151
|
+
| `--init-gitignore` | Create/reset tailored `.gitignore` for the detected stack |
|
|
152
|
+
| `--ai` | Explicitly enable AI-powered commit generation (auto-detected by default) |
|
|
153
|
+
| `--no-ai` | Disable AI detection and force default rule-based conventional commit |
|
|
154
|
+
| `--dry-run` | Simulate actions without staging, committing, or pushing |
|
|
155
|
+
| `-v`, `--version` | Display version information |
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# 🚀 PushPilot
|
|
2
|
+
|
|
3
|
+
> **Intelligent Multi-Framework Git & GitHub Autopilot**
|
|
4
|
+
> One command to initialize Git, link your GitHub repository, generate conventional commits, and push. Includes a **Feature-Complete File Watcher** that automatically syncs code to GitHub whenever a feature is completed.
|
|
5
|
+
|
|
6
|
+
[](https://github.com/rhamifydev/PushPilot)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](https://www.python.org/downloads/)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 🌟 What PushPilot Does
|
|
13
|
+
|
|
14
|
+
1. **Zero-Config One-Command Setup (`pushpilot <github-url>`)**:
|
|
15
|
+
- Give it your GitHub repo URL once: `pushpilot https://github.com/username/repo.git`.
|
|
16
|
+
- If Git is not initialized, PushPilot initializes it with default branch `main`.
|
|
17
|
+
- Links the `origin` remote automatically.
|
|
18
|
+
- Detects if GitHub was initialized with a default README or `.gitignore` and merges/rebases seamlessly without conflicts.
|
|
19
|
+
- Generates a framework-tailored `.gitignore` if none exists.
|
|
20
|
+
- Stages all files, creates a conventional commit, and pushes directly to GitHub!
|
|
21
|
+
|
|
22
|
+
2. **Subsequent One-Command Push (`pushpilot` or `auto-push`)**:
|
|
23
|
+
- Devs just write `pushpilot` (or `auto-push`).
|
|
24
|
+
- Detects all modified/added/deleted files.
|
|
25
|
+
- Generates a **Conventional Semantic Commit Message** (e.g., `feat(auth): implement login endpoint in FastAPI`).
|
|
26
|
+
- Stages, commits, and pushes to GitHub in 2 seconds.
|
|
27
|
+
|
|
28
|
+
3. **Internal AI Commit Intelligence (Auto-Detect)**:
|
|
29
|
+
- **Coding with AI?** If you are coding inside an AI-assisted environment (**Google Antigravity IDE**, **Cursor**, **Aider**, **Claude Code**, **Cline**) or have an AI API configured (**Gemini**, **OpenAI**, **Anthropic**, **Groq**, or local **Ollama**), PushPilot detects the active developer intent and git diff to generate **ultra-accurate, laser-focused Conventional Commit messages**.
|
|
30
|
+
- **Not coding with AI?** PushPilot instantly and seamlessly uses its **smart default heuristic engine** (zero dependencies, zero delay, offline-friendly).
|
|
31
|
+
- Use `--no-ai` to disable AI detection or `--ai` to force it.
|
|
32
|
+
|
|
33
|
+
4. **Multi-Language & Multi-Framework Intelligence**:
|
|
34
|
+
- **JavaScript / TypeScript**: React, Next.js, Vue, Nuxt, Angular, Svelte, Vite, Node.js, Express, NestJS
|
|
35
|
+
- **Python**: Django, FastAPI, Flask, standard Python, AI/ML
|
|
36
|
+
- **Rust**: Cargo projects
|
|
37
|
+
- **Go**: Go modules
|
|
38
|
+
- **Dart / Flutter**: Mobile & Web Flutter apps
|
|
39
|
+
- **Java / Kotlin**: Spring Boot, Maven, Gradle
|
|
40
|
+
- **C# / .NET**: ASP.NET Core, .NET solutions
|
|
41
|
+
- **PHP**: Laravel, Symfony, Composer
|
|
42
|
+
- **Ruby**: Ruby on Rails, Bundler
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 🚀 One-Command Installation for Developers
|
|
47
|
+
|
|
48
|
+
Any developer can install and use **PushPilot** globally with a single command:
|
|
49
|
+
|
|
50
|
+
### Option 1: Install Directly from GitHub (Works right now for anyone!)
|
|
51
|
+
```bash
|
|
52
|
+
# Recommended for CLI tools (pipx or uv)
|
|
53
|
+
pipx install git+https://github.com/rhamifydev/PushPilot.git
|
|
54
|
+
|
|
55
|
+
# Or via standard pip
|
|
56
|
+
pip install git+https://github.com/rhamifydev/PushPilot.git
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Option 2: Install from PyPI
|
|
60
|
+
```bash
|
|
61
|
+
pip install pushpilot
|
|
62
|
+
# or
|
|
63
|
+
pipx install pushpilot
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Option 3: Local / Development
|
|
67
|
+
Clone the repo and run:
|
|
68
|
+
```bash
|
|
69
|
+
pip install -e .
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Once installed, the commands `pushpilot`, `pilot`, and `push` are available anywhere in your terminal!
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 🛠️ Usage Examples
|
|
77
|
+
|
|
78
|
+
### 1. Initialize & Link GitHub in One Step
|
|
79
|
+
```bash
|
|
80
|
+
pushpilot https://github.com/rhamifydev/PushPilot.git
|
|
81
|
+
```
|
|
82
|
+
*Initializes Git if needed, sets default branch `main`, links remote `origin`, stages, commits, and pushes to GitHub.*
|
|
83
|
+
|
|
84
|
+
### 2. Instant Auto-Push (Subsequent uses)
|
|
85
|
+
```bash
|
|
86
|
+
pushpilot
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 3. Continuous Feature-Complete Watcher
|
|
90
|
+
```bash
|
|
91
|
+
pushpilot --watch
|
|
92
|
+
```
|
|
93
|
+
*Watches files and pushes to GitHub whenever you finish coding a feature increment!*
|
|
94
|
+
|
|
95
|
+
Customizing the feature settlement window:
|
|
96
|
+
```bash
|
|
97
|
+
pushpilot -w --cooldown 10
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 4. Custom Commit Message
|
|
101
|
+
```bash
|
|
102
|
+
pushpilot -m "feat(payment): integrate Stripe checkout webhook"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 5. Inspect Detected Project Stack
|
|
106
|
+
```bash
|
|
107
|
+
pushpilot --detect
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 6. Interactive Setup / Update GitHub Remote
|
|
111
|
+
```bash
|
|
112
|
+
pushpilot --setup
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### 7. Dry-Run (Preview what would happen)
|
|
116
|
+
```bash
|
|
117
|
+
pushpilot --dry-run
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 📋 CLI Reference
|
|
123
|
+
|
|
124
|
+
| Command / Option | Description |
|
|
125
|
+
| :--- | :--- |
|
|
126
|
+
| `pushpilot [URL]` | Run auto-sync (optionally initialize & link GitHub repository URL) |
|
|
127
|
+
| `-w`, `--watch` | Continuous watcher mode with feature-completion settlement |
|
|
128
|
+
| `--cooldown SEC` | Seconds of inactivity before triggering feature commit (default: 8s) |
|
|
129
|
+
| `-m`, `--message MSG` | Override auto-generated message with a custom commit message |
|
|
130
|
+
| `-b`, `--branch NAME` | Target git branch (defaults to active branch / `main`) |
|
|
131
|
+
| `-r`, `--remote NAME` | Target git remote (default: `origin`) |
|
|
132
|
+
| `--detect` | Print detected language, framework, ecosystem, and git status |
|
|
133
|
+
| `--setup` | Interactively link or update GitHub repository URL |
|
|
134
|
+
| `--init-gitignore` | Create/reset tailored `.gitignore` for the detected stack |
|
|
135
|
+
| `--ai` | Explicitly enable AI-powered commit generation (auto-detected by default) |
|
|
136
|
+
| `--no-ai` | Disable AI detection and force default rule-based conventional commit |
|
|
137
|
+
| `--dry-run` | Simulate actions without staging, committing, or pushing |
|
|
138
|
+
| `-v`, `--version` | Display version information |
|