git-oops 1.0.1__tar.gz → 1.0.1.post2__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_oops-1.0.1 → git_oops-1.0.1.post2}/PKG-INFO +22 -19
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/README.md +16 -18
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/__init__.py +1 -1
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops.egg-info/PKG-INFO +22 -19
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/pyproject.toml +8 -1
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/setup.py +1 -1
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/__init__.py +2 -2
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/LICENSE +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/__main__.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/blackbox.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/circuit_breaker.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/cli.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/consensus.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/engine.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/firewall.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/guardian.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/hardware.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/hooks.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/hud.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/local_llm.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/mcp_server.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/replay.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/reviewer.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/rules.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/salvage.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/sentinel.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/shadow.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/solver.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/squeezer.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/supply_chain.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/tester.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/ui.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/updater.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops/watchdog.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops.egg-info/SOURCES.txt +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops.egg-info/dependency_links.txt +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops.egg-info/entry_points.txt +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops.egg-info/requires.txt +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/git_oops.egg-info/top_level.txt +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/setup.cfg +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/blackbox.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/circuit_breaker.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/cli.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/consensus.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/engine.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/firewall.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/guardian.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/hardware.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/hooks.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/hud.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/local_llm.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/mcp_server.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/replay.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/reviewer.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/rules.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/salvage.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/sentinel.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/shadow.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/solver.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/squeezer.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/supply_chain.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/tester.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/ui.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/updater.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/src/watchdog.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/tests/test_agent_harness.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/tests/test_oops.py +0 -0
- {git_oops-1.0.1 → git_oops-1.0.1.post2}/tests/test_v1_legend.py +0 -0
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: git-oops
|
|
3
|
-
Version: 1.0.1
|
|
3
|
+
Version: 1.0.1.post2
|
|
4
4
|
Summary: The Dual-Mode Terminal Crash Fixer & Autonomous AI Agent Safety Harness (The Final Legend Edition).
|
|
5
5
|
Author: Hao
|
|
6
6
|
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/Hao610/git-oops
|
|
8
|
+
Project-URL: Documentation, https://github.com/Hao610/git-oops#readme
|
|
9
|
+
Project-URL: Repository, https://github.com/Hao610/git-oops
|
|
10
|
+
Project-URL: Bug Tracker, https://github.com/Hao610/git-oops/issues
|
|
11
|
+
Project-URL: Changelog, https://github.com/Hao610/git-oops/releases
|
|
7
12
|
Requires-Python: >=3.9
|
|
8
13
|
Description-Content-Type: text/markdown
|
|
9
14
|
License-File: LICENSE
|
|
@@ -19,20 +24,18 @@ Dynamic: requires-python
|
|
|
19
24
|
### *The Zero-Step Autonomous AI Agent Safety Harness & Terminal Crash Interceptor.*
|
|
20
25
|
**Human Mode: Roasted by a Staff Engineer │ Agent Mode: The Headless Shield for Coding Agents**
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
<img src="assets/readme-hero.jpg" alt="git-oops Hero Banner" width="850" style="border-radius: 10px; margin: 15px 0;" />
|
|
24
|
-
</p>
|
|
27
|
+

|
|
25
28
|
|
|
26
29
|
[](https://github.com/Hao610/git-oops/actions/workflows/ci.yml)
|
|
27
|
-
[](https://github.com/Hao610/git-oops/releases)
|
|
30
|
+
[](https://github.com/Hao610/git-oops/releases)
|
|
28
31
|
[](https://pypi.org/project/git-oops/)
|
|
29
32
|
[](https://pypi.org/project/git-oops/)
|
|
30
|
-
[](LICENSE)
|
|
33
|
+
[](https://github.com/Hao610/git-oops/blob/main/LICENSE)
|
|
31
34
|
[](https://www.python.org/)
|
|
32
|
-
[]()
|
|
33
|
-
[]()
|
|
34
|
-
[]()
|
|
35
|
-
[]()
|
|
35
|
+
[](https://github.com/Hao610/git-oops)
|
|
36
|
+
[](https://github.com/Hao610/git-oops)
|
|
37
|
+
[](https://github.com/Hao610/git-oops)
|
|
38
|
+
[](https://github.com/Hao610/git-oops)
|
|
36
39
|
|
|
37
40
|
</div>
|
|
38
41
|
|
|
@@ -44,7 +47,7 @@ Dynamic: requires-python
|
|
|
44
47
|
Your script crashes with a 50-line traceback. You're exhausted, and ChatGPT gives you a polite 6-paragraph email instead of a 2-line fix.
|
|
45
48
|
`git-oops` roasts your sloppy code with razor-sharp wit and applies a surgical 1-click git patch directly in your terminal.
|
|
46
49
|
|
|
47
|
-
### For AI Coding Agents (Claude, Cursor, Windsurf, Codex, Devin):
|
|
50
|
+
### For All Autonomous AI Coding Agents (Antigravity, Claude, Cursor, Windsurf, Qoder, Codex, Devin, and any Agent):
|
|
48
51
|
Modern autonomous coding agents face catastrophic failure modes:
|
|
49
52
|
1. **Context Bloat**: Multi-thousand line terminal dumps overflow agent context windows.
|
|
50
53
|
2. **Infinite Thrashing**: Agents get trapped in loops editing and reverting the same code.
|
|
@@ -81,7 +84,7 @@ Modern autonomous coding agents face catastrophic failure modes:
|
|
|
81
84
|
| # | Capability | Module | What It Does | Why It Matters |
|
|
82
85
|
| :-: | :--- | :--- | :--- | :--- |
|
|
83
86
|
| **1** | 🧑💻 **Dual-Mode Engine** | `src/cli.py` | Human visual mode or `--agent` / `--json` headless mode. | Works equally well for human engineers and autonomous agents. |
|
|
84
|
-
| **2** | 🔌 **Native MCP Server** | `src/mcp_server.py` | Exposes tools over stdio (`git-oops --mcp`). | Instantly attaches to Claude Desktop, Cursor, and
|
|
87
|
+
| **2** | 🔌 **Native MCP Server** | `src/mcp_server.py` | Exposes tools over stdio (`git-oops --mcp`). | Instantly attaches to Antigravity, Claude Desktop, Cursor, Windsurf, Qoder, and all MCP-compatible clients. |
|
|
85
88
|
| **3** | 🛑 **Anti-Thrashing Watchdog** | `src/watchdog.py` | Detects repeated edit-revert oscillations (> 3 times). | Halts runaway agent loops before burning through credits. |
|
|
86
89
|
| **4** | 🛡️ **Blast-Radius Firewall** | `src/firewall.py` | Intercepts `rm -rf`, `force-push`, and wildcard deletions. | Prevents rogue agents from wiping out the filesystem. |
|
|
87
90
|
| **5** | 🕵️ **Supply-Chain Shield** | `src/firewall.py` | Blocks hallucinated/typosquatted package installs. | Protects against AI package hallucination attacks. |
|
|
@@ -129,7 +132,7 @@ git-oops --hud
|
|
|
129
132
|
|
|
130
133
|
### 3. Connect to Any AI Tool (MCP or Subshell):
|
|
131
134
|
|
|
132
|
-
#### Option A: For Claude Desktop
|
|
135
|
+
#### Option A: For Antigravity, Claude Desktop, Cursor, Windsurf, Qoder & All MCP Agents:
|
|
133
136
|
Add this to your MCP configuration:
|
|
134
137
|
```json
|
|
135
138
|
{
|
|
@@ -142,7 +145,7 @@ Add this to your MCP configuration:
|
|
|
142
145
|
}
|
|
143
146
|
```
|
|
144
147
|
|
|
145
|
-
#### Option B: For
|
|
148
|
+
#### Option B: For Any Subshell / CLI AI Agent (Codex, Devin, Copilot, Aider, Roo Code, Cline, etc.):
|
|
146
149
|
Simply tell your agent in prompt or rule:
|
|
147
150
|
> *"Always diagnose and apply patches safely via: `git-oops --agent --file <file> --error \"<error>\" --yes`"*
|
|
148
151
|
It outputs clean machine-readable JSON without ANSI codes.
|
|
@@ -193,8 +196,8 @@ We believe developer tools should never spy on you or your AI agents:
|
|
|
193
196
|
|
|
194
197
|
## 🤝 Documentation & Community
|
|
195
198
|
|
|
196
|
-
- Check out the [Help & Beginner's Manual](HELP.md) for full MCP step-by-step screenshots and command references.
|
|
197
|
-
- Review our [Legal Terms & Disclaimer](LEGAL.md) for licensing, privacy, and autonomous agent safety notices.
|
|
198
|
-
- Read our [Contributing Guidelines](CONTRIBUTING.md) to set up your environment.
|
|
199
|
-
- Review our [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
200
|
-
- To report security vulnerabilities privately, please review [SECURITY.md](SECURITY.md).
|
|
199
|
+
- Check out the [Help & Beginner's Manual](https://github.com/Hao610/git-oops/blob/main/HELP.md) for full MCP step-by-step screenshots and command references.
|
|
200
|
+
- Review our [Legal Terms & Disclaimer](https://github.com/Hao610/git-oops/blob/main/LEGAL.md) for licensing, privacy, and autonomous agent safety notices.
|
|
201
|
+
- Read our [Contributing Guidelines](https://github.com/Hao610/git-oops/blob/main/CONTRIBUTING.md) to set up your environment.
|
|
202
|
+
- Review our [Code of Conduct](https://github.com/Hao610/git-oops/blob/main/CODE_OF_CONDUCT.md).
|
|
203
|
+
- To report security vulnerabilities privately, please review [SECURITY.md](https://github.com/Hao610/git-oops/blob/main/SECURITY.md).
|
|
@@ -5,20 +5,18 @@
|
|
|
5
5
|
### *The Zero-Step Autonomous AI Agent Safety Harness & Terminal Crash Interceptor.*
|
|
6
6
|
**Human Mode: Roasted by a Staff Engineer │ Agent Mode: The Headless Shield for Coding Agents**
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
<img src="assets/readme-hero.jpg" alt="git-oops Hero Banner" width="850" style="border-radius: 10px; margin: 15px 0;" />
|
|
10
|
-
</p>
|
|
8
|
+

|
|
11
9
|
|
|
12
10
|
[](https://github.com/Hao610/git-oops/actions/workflows/ci.yml)
|
|
13
|
-
[](https://github.com/Hao610/git-oops/releases)
|
|
11
|
+
[](https://github.com/Hao610/git-oops/releases)
|
|
14
12
|
[](https://pypi.org/project/git-oops/)
|
|
15
13
|
[](https://pypi.org/project/git-oops/)
|
|
16
|
-
[](LICENSE)
|
|
14
|
+
[](https://github.com/Hao610/git-oops/blob/main/LICENSE)
|
|
17
15
|
[](https://www.python.org/)
|
|
18
|
-
[]()
|
|
19
|
-
[]()
|
|
20
|
-
[]()
|
|
21
|
-
[]()
|
|
16
|
+
[](https://github.com/Hao610/git-oops)
|
|
17
|
+
[](https://github.com/Hao610/git-oops)
|
|
18
|
+
[](https://github.com/Hao610/git-oops)
|
|
19
|
+
[](https://github.com/Hao610/git-oops)
|
|
22
20
|
|
|
23
21
|
</div>
|
|
24
22
|
|
|
@@ -30,7 +28,7 @@
|
|
|
30
28
|
Your script crashes with a 50-line traceback. You're exhausted, and ChatGPT gives you a polite 6-paragraph email instead of a 2-line fix.
|
|
31
29
|
`git-oops` roasts your sloppy code with razor-sharp wit and applies a surgical 1-click git patch directly in your terminal.
|
|
32
30
|
|
|
33
|
-
### For AI Coding Agents (Claude, Cursor, Windsurf, Codex, Devin):
|
|
31
|
+
### For All Autonomous AI Coding Agents (Antigravity, Claude, Cursor, Windsurf, Qoder, Codex, Devin, and any Agent):
|
|
34
32
|
Modern autonomous coding agents face catastrophic failure modes:
|
|
35
33
|
1. **Context Bloat**: Multi-thousand line terminal dumps overflow agent context windows.
|
|
36
34
|
2. **Infinite Thrashing**: Agents get trapped in loops editing and reverting the same code.
|
|
@@ -67,7 +65,7 @@ Modern autonomous coding agents face catastrophic failure modes:
|
|
|
67
65
|
| # | Capability | Module | What It Does | Why It Matters |
|
|
68
66
|
| :-: | :--- | :--- | :--- | :--- |
|
|
69
67
|
| **1** | 🧑💻 **Dual-Mode Engine** | `src/cli.py` | Human visual mode or `--agent` / `--json` headless mode. | Works equally well for human engineers and autonomous agents. |
|
|
70
|
-
| **2** | 🔌 **Native MCP Server** | `src/mcp_server.py` | Exposes tools over stdio (`git-oops --mcp`). | Instantly attaches to Claude Desktop, Cursor, and
|
|
68
|
+
| **2** | 🔌 **Native MCP Server** | `src/mcp_server.py` | Exposes tools over stdio (`git-oops --mcp`). | Instantly attaches to Antigravity, Claude Desktop, Cursor, Windsurf, Qoder, and all MCP-compatible clients. |
|
|
71
69
|
| **3** | 🛑 **Anti-Thrashing Watchdog** | `src/watchdog.py` | Detects repeated edit-revert oscillations (> 3 times). | Halts runaway agent loops before burning through credits. |
|
|
72
70
|
| **4** | 🛡️ **Blast-Radius Firewall** | `src/firewall.py` | Intercepts `rm -rf`, `force-push`, and wildcard deletions. | Prevents rogue agents from wiping out the filesystem. |
|
|
73
71
|
| **5** | 🕵️ **Supply-Chain Shield** | `src/firewall.py` | Blocks hallucinated/typosquatted package installs. | Protects against AI package hallucination attacks. |
|
|
@@ -115,7 +113,7 @@ git-oops --hud
|
|
|
115
113
|
|
|
116
114
|
### 3. Connect to Any AI Tool (MCP or Subshell):
|
|
117
115
|
|
|
118
|
-
#### Option A: For Claude Desktop
|
|
116
|
+
#### Option A: For Antigravity, Claude Desktop, Cursor, Windsurf, Qoder & All MCP Agents:
|
|
119
117
|
Add this to your MCP configuration:
|
|
120
118
|
```json
|
|
121
119
|
{
|
|
@@ -128,7 +126,7 @@ Add this to your MCP configuration:
|
|
|
128
126
|
}
|
|
129
127
|
```
|
|
130
128
|
|
|
131
|
-
#### Option B: For
|
|
129
|
+
#### Option B: For Any Subshell / CLI AI Agent (Codex, Devin, Copilot, Aider, Roo Code, Cline, etc.):
|
|
132
130
|
Simply tell your agent in prompt or rule:
|
|
133
131
|
> *"Always diagnose and apply patches safely via: `git-oops --agent --file <file> --error \"<error>\" --yes`"*
|
|
134
132
|
It outputs clean machine-readable JSON without ANSI codes.
|
|
@@ -179,8 +177,8 @@ We believe developer tools should never spy on you or your AI agents:
|
|
|
179
177
|
|
|
180
178
|
## 🤝 Documentation & Community
|
|
181
179
|
|
|
182
|
-
- Check out the [Help & Beginner's Manual](HELP.md) for full MCP step-by-step screenshots and command references.
|
|
183
|
-
- Review our [Legal Terms & Disclaimer](LEGAL.md) for licensing, privacy, and autonomous agent safety notices.
|
|
184
|
-
- Read our [Contributing Guidelines](CONTRIBUTING.md) to set up your environment.
|
|
185
|
-
- Review our [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
186
|
-
- To report security vulnerabilities privately, please review [SECURITY.md](SECURITY.md).
|
|
180
|
+
- Check out the [Help & Beginner's Manual](https://github.com/Hao610/git-oops/blob/main/HELP.md) for full MCP step-by-step screenshots and command references.
|
|
181
|
+
- Review our [Legal Terms & Disclaimer](https://github.com/Hao610/git-oops/blob/main/LEGAL.md) for licensing, privacy, and autonomous agent safety notices.
|
|
182
|
+
- Read our [Contributing Guidelines](https://github.com/Hao610/git-oops/blob/main/CONTRIBUTING.md) to set up your environment.
|
|
183
|
+
- Review our [Code of Conduct](https://github.com/Hao610/git-oops/blob/main/CODE_OF_CONDUCT.md).
|
|
184
|
+
- To report security vulnerabilities privately, please review [SECURITY.md](https://github.com/Hao610/git-oops/blob/main/SECURITY.md).
|
|
@@ -3,7 +3,7 @@ git-oops: The Autonomous Terminal Crash Fixer & AI Agent Safety Harness.
|
|
|
3
3
|
Version 1.0.1 (The Final Legend Edition)
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
-
__version__ = "1.0.1"
|
|
6
|
+
__version__ = "1.0.1.post2"
|
|
7
7
|
|
|
8
8
|
from git_oops.hooks import ensure_auto_hooks
|
|
9
9
|
from git_oops.rules import trigger_ota_update_background
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: git-oops
|
|
3
|
-
Version: 1.0.1
|
|
3
|
+
Version: 1.0.1.post2
|
|
4
4
|
Summary: The Dual-Mode Terminal Crash Fixer & Autonomous AI Agent Safety Harness (The Final Legend Edition).
|
|
5
5
|
Author: Hao
|
|
6
6
|
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/Hao610/git-oops
|
|
8
|
+
Project-URL: Documentation, https://github.com/Hao610/git-oops#readme
|
|
9
|
+
Project-URL: Repository, https://github.com/Hao610/git-oops
|
|
10
|
+
Project-URL: Bug Tracker, https://github.com/Hao610/git-oops/issues
|
|
11
|
+
Project-URL: Changelog, https://github.com/Hao610/git-oops/releases
|
|
7
12
|
Requires-Python: >=3.9
|
|
8
13
|
Description-Content-Type: text/markdown
|
|
9
14
|
License-File: LICENSE
|
|
@@ -19,20 +24,18 @@ Dynamic: requires-python
|
|
|
19
24
|
### *The Zero-Step Autonomous AI Agent Safety Harness & Terminal Crash Interceptor.*
|
|
20
25
|
**Human Mode: Roasted by a Staff Engineer │ Agent Mode: The Headless Shield for Coding Agents**
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
<img src="assets/readme-hero.jpg" alt="git-oops Hero Banner" width="850" style="border-radius: 10px; margin: 15px 0;" />
|
|
24
|
-
</p>
|
|
27
|
+

|
|
25
28
|
|
|
26
29
|
[](https://github.com/Hao610/git-oops/actions/workflows/ci.yml)
|
|
27
|
-
[](https://github.com/Hao610/git-oops/releases)
|
|
30
|
+
[](https://github.com/Hao610/git-oops/releases)
|
|
28
31
|
[](https://pypi.org/project/git-oops/)
|
|
29
32
|
[](https://pypi.org/project/git-oops/)
|
|
30
|
-
[](LICENSE)
|
|
33
|
+
[](https://github.com/Hao610/git-oops/blob/main/LICENSE)
|
|
31
34
|
[](https://www.python.org/)
|
|
32
|
-
[]()
|
|
33
|
-
[]()
|
|
34
|
-
[]()
|
|
35
|
-
[]()
|
|
35
|
+
[](https://github.com/Hao610/git-oops)
|
|
36
|
+
[](https://github.com/Hao610/git-oops)
|
|
37
|
+
[](https://github.com/Hao610/git-oops)
|
|
38
|
+
[](https://github.com/Hao610/git-oops)
|
|
36
39
|
|
|
37
40
|
</div>
|
|
38
41
|
|
|
@@ -44,7 +47,7 @@ Dynamic: requires-python
|
|
|
44
47
|
Your script crashes with a 50-line traceback. You're exhausted, and ChatGPT gives you a polite 6-paragraph email instead of a 2-line fix.
|
|
45
48
|
`git-oops` roasts your sloppy code with razor-sharp wit and applies a surgical 1-click git patch directly in your terminal.
|
|
46
49
|
|
|
47
|
-
### For AI Coding Agents (Claude, Cursor, Windsurf, Codex, Devin):
|
|
50
|
+
### For All Autonomous AI Coding Agents (Antigravity, Claude, Cursor, Windsurf, Qoder, Codex, Devin, and any Agent):
|
|
48
51
|
Modern autonomous coding agents face catastrophic failure modes:
|
|
49
52
|
1. **Context Bloat**: Multi-thousand line terminal dumps overflow agent context windows.
|
|
50
53
|
2. **Infinite Thrashing**: Agents get trapped in loops editing and reverting the same code.
|
|
@@ -81,7 +84,7 @@ Modern autonomous coding agents face catastrophic failure modes:
|
|
|
81
84
|
| # | Capability | Module | What It Does | Why It Matters |
|
|
82
85
|
| :-: | :--- | :--- | :--- | :--- |
|
|
83
86
|
| **1** | 🧑💻 **Dual-Mode Engine** | `src/cli.py` | Human visual mode or `--agent` / `--json` headless mode. | Works equally well for human engineers and autonomous agents. |
|
|
84
|
-
| **2** | 🔌 **Native MCP Server** | `src/mcp_server.py` | Exposes tools over stdio (`git-oops --mcp`). | Instantly attaches to Claude Desktop, Cursor, and
|
|
87
|
+
| **2** | 🔌 **Native MCP Server** | `src/mcp_server.py` | Exposes tools over stdio (`git-oops --mcp`). | Instantly attaches to Antigravity, Claude Desktop, Cursor, Windsurf, Qoder, and all MCP-compatible clients. |
|
|
85
88
|
| **3** | 🛑 **Anti-Thrashing Watchdog** | `src/watchdog.py` | Detects repeated edit-revert oscillations (> 3 times). | Halts runaway agent loops before burning through credits. |
|
|
86
89
|
| **4** | 🛡️ **Blast-Radius Firewall** | `src/firewall.py` | Intercepts `rm -rf`, `force-push`, and wildcard deletions. | Prevents rogue agents from wiping out the filesystem. |
|
|
87
90
|
| **5** | 🕵️ **Supply-Chain Shield** | `src/firewall.py` | Blocks hallucinated/typosquatted package installs. | Protects against AI package hallucination attacks. |
|
|
@@ -129,7 +132,7 @@ git-oops --hud
|
|
|
129
132
|
|
|
130
133
|
### 3. Connect to Any AI Tool (MCP or Subshell):
|
|
131
134
|
|
|
132
|
-
#### Option A: For Claude Desktop
|
|
135
|
+
#### Option A: For Antigravity, Claude Desktop, Cursor, Windsurf, Qoder & All MCP Agents:
|
|
133
136
|
Add this to your MCP configuration:
|
|
134
137
|
```json
|
|
135
138
|
{
|
|
@@ -142,7 +145,7 @@ Add this to your MCP configuration:
|
|
|
142
145
|
}
|
|
143
146
|
```
|
|
144
147
|
|
|
145
|
-
#### Option B: For
|
|
148
|
+
#### Option B: For Any Subshell / CLI AI Agent (Codex, Devin, Copilot, Aider, Roo Code, Cline, etc.):
|
|
146
149
|
Simply tell your agent in prompt or rule:
|
|
147
150
|
> *"Always diagnose and apply patches safely via: `git-oops --agent --file <file> --error \"<error>\" --yes`"*
|
|
148
151
|
It outputs clean machine-readable JSON without ANSI codes.
|
|
@@ -193,8 +196,8 @@ We believe developer tools should never spy on you or your AI agents:
|
|
|
193
196
|
|
|
194
197
|
## 🤝 Documentation & Community
|
|
195
198
|
|
|
196
|
-
- Check out the [Help & Beginner's Manual](HELP.md) for full MCP step-by-step screenshots and command references.
|
|
197
|
-
- Review our [Legal Terms & Disclaimer](LEGAL.md) for licensing, privacy, and autonomous agent safety notices.
|
|
198
|
-
- Read our [Contributing Guidelines](CONTRIBUTING.md) to set up your environment.
|
|
199
|
-
- Review our [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
200
|
-
- To report security vulnerabilities privately, please review [SECURITY.md](SECURITY.md).
|
|
199
|
+
- Check out the [Help & Beginner's Manual](https://github.com/Hao610/git-oops/blob/main/HELP.md) for full MCP step-by-step screenshots and command references.
|
|
200
|
+
- Review our [Legal Terms & Disclaimer](https://github.com/Hao610/git-oops/blob/main/LEGAL.md) for licensing, privacy, and autonomous agent safety notices.
|
|
201
|
+
- Read our [Contributing Guidelines](https://github.com/Hao610/git-oops/blob/main/CONTRIBUTING.md) to set up your environment.
|
|
202
|
+
- Review our [Code of Conduct](https://github.com/Hao610/git-oops/blob/main/CODE_OF_CONDUCT.md).
|
|
203
|
+
- To report security vulnerabilities privately, please review [SECURITY.md](https://github.com/Hao610/git-oops/blob/main/SECURITY.md).
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "git-oops"
|
|
7
|
-
version = "1.0.1"
|
|
7
|
+
version = "1.0.1.post2"
|
|
8
8
|
description = "The Dual-Mode Terminal Crash Fixer & Autonomous AI Agent Safety Harness (The Final Legend Edition)."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [{ name = "Hao" }]
|
|
@@ -15,5 +15,12 @@ dependencies = [
|
|
|
15
15
|
"pytest>=7.0.0"
|
|
16
16
|
]
|
|
17
17
|
|
|
18
|
+
[project.urls]
|
|
19
|
+
Homepage = "https://github.com/Hao610/git-oops"
|
|
20
|
+
Documentation = "https://github.com/Hao610/git-oops#readme"
|
|
21
|
+
Repository = "https://github.com/Hao610/git-oops"
|
|
22
|
+
"Bug Tracker" = "https://github.com/Hao610/git-oops/issues"
|
|
23
|
+
Changelog = "https://github.com/Hao610/git-oops/releases"
|
|
24
|
+
|
|
18
25
|
[project.scripts]
|
|
19
26
|
git-oops = "git_oops.cli:main"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"""
|
|
2
2
|
git-oops: The Autonomous Terminal Crash Fixer & AI Agent Safety Harness.
|
|
3
|
-
Version 1.0.1 (The Final Legend Edition)
|
|
3
|
+
Version 1.0.1.post2 (The Final Legend Edition)
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
-
__version__ = "1.0.1"
|
|
6
|
+
__version__ = "1.0.1.post2"
|
|
7
7
|
|
|
8
8
|
from src.hooks import ensure_auto_hooks
|
|
9
9
|
from src.rules import trigger_ota_update_background
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|