git-oops 1.0.0__tar.gz → 1.0.1.post1__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.
Files changed (70) hide show
  1. {git_oops-1.0.0 → git_oops-1.0.1.post1}/PKG-INFO +25 -20
  2. {git_oops-1.0.0 → git_oops-1.0.1.post1}/README.md +19 -19
  3. git_oops-1.0.1.post1/git_oops/__init__.py +16 -0
  4. git_oops-1.0.1.post1/git_oops/__main__.py +9 -0
  5. git_oops-1.0.1.post1/git_oops/cli.py +556 -0
  6. git_oops-1.0.1.post1/git_oops/consensus.py +58 -0
  7. git_oops-1.0.1.post1/git_oops/engine.py +222 -0
  8. git_oops-1.0.1.post1/git_oops/hooks.py +517 -0
  9. git_oops-1.0.1.post1/git_oops/hud.py +493 -0
  10. git_oops-1.0.1.post1/git_oops/mcp_server.py +124 -0
  11. git_oops-1.0.1.post1/git_oops/reviewer.py +157 -0
  12. {git_oops-1.0.0 → git_oops-1.0.1.post1}/git_oops.egg-info/PKG-INFO +25 -20
  13. {git_oops-1.0.0 → git_oops-1.0.1.post1}/git_oops.egg-info/SOURCES.txt +27 -0
  14. git_oops-1.0.1.post1/git_oops.egg-info/entry_points.txt +2 -0
  15. git_oops-1.0.1.post1/git_oops.egg-info/top_level.txt +2 -0
  16. {git_oops-1.0.0 → git_oops-1.0.1.post1}/pyproject.toml +9 -2
  17. {git_oops-1.0.0 → git_oops-1.0.1.post1}/setup.py +3 -3
  18. {git_oops-1.0.0 → git_oops-1.0.1.post1}/src/__init__.py +2 -2
  19. git_oops-1.0.1.post1/src/blackbox.py +119 -0
  20. git_oops-1.0.1.post1/src/circuit_breaker.py +129 -0
  21. git_oops-1.0.1.post1/src/firewall.py +48 -0
  22. git_oops-1.0.1.post1/src/guardian.py +589 -0
  23. git_oops-1.0.1.post1/src/hardware.py +137 -0
  24. {git_oops-1.0.0 → git_oops-1.0.1.post1}/src/hooks.py +6 -14
  25. git_oops-1.0.1.post1/src/local_llm.py +116 -0
  26. git_oops-1.0.1.post1/src/replay.py +100 -0
  27. git_oops-1.0.1.post1/src/rules.py +291 -0
  28. git_oops-1.0.1.post1/src/salvage.py +92 -0
  29. git_oops-1.0.1.post1/src/sentinel.py +79 -0
  30. git_oops-1.0.1.post1/src/shadow.py +70 -0
  31. git_oops-1.0.1.post1/src/solver.py +158 -0
  32. git_oops-1.0.1.post1/src/squeezer.py +64 -0
  33. git_oops-1.0.1.post1/src/supply_chain.py +142 -0
  34. git_oops-1.0.1.post1/src/tester.py +54 -0
  35. git_oops-1.0.1.post1/src/ui.py +124 -0
  36. git_oops-1.0.1.post1/src/updater.py +49 -0
  37. git_oops-1.0.1.post1/src/watchdog.py +96 -0
  38. git_oops-1.0.0/git_oops.egg-info/entry_points.txt +0 -2
  39. git_oops-1.0.0/git_oops.egg-info/top_level.txt +0 -1
  40. {git_oops-1.0.0 → git_oops-1.0.1.post1}/LICENSE +0 -0
  41. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/blackbox.py +0 -0
  42. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/circuit_breaker.py +0 -0
  43. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/firewall.py +0 -0
  44. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/guardian.py +0 -0
  45. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/hardware.py +0 -0
  46. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/local_llm.py +0 -0
  47. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/replay.py +0 -0
  48. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/rules.py +0 -0
  49. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/salvage.py +0 -0
  50. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/sentinel.py +0 -0
  51. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/shadow.py +0 -0
  52. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/solver.py +0 -0
  53. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/squeezer.py +0 -0
  54. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/supply_chain.py +0 -0
  55. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/tester.py +0 -0
  56. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/ui.py +0 -0
  57. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/updater.py +0 -0
  58. {git_oops-1.0.0/src → git_oops-1.0.1.post1/git_oops}/watchdog.py +0 -0
  59. {git_oops-1.0.0 → git_oops-1.0.1.post1}/git_oops.egg-info/dependency_links.txt +0 -0
  60. {git_oops-1.0.0 → git_oops-1.0.1.post1}/git_oops.egg-info/requires.txt +0 -0
  61. {git_oops-1.0.0 → git_oops-1.0.1.post1}/setup.cfg +0 -0
  62. {git_oops-1.0.0 → git_oops-1.0.1.post1}/src/cli.py +0 -0
  63. {git_oops-1.0.0 → git_oops-1.0.1.post1}/src/consensus.py +0 -0
  64. {git_oops-1.0.0 → git_oops-1.0.1.post1}/src/engine.py +0 -0
  65. {git_oops-1.0.0 → git_oops-1.0.1.post1}/src/hud.py +0 -0
  66. {git_oops-1.0.0 → git_oops-1.0.1.post1}/src/mcp_server.py +0 -0
  67. {git_oops-1.0.0 → git_oops-1.0.1.post1}/src/reviewer.py +0 -0
  68. {git_oops-1.0.0 → git_oops-1.0.1.post1}/tests/test_agent_harness.py +0 -0
  69. {git_oops-1.0.0 → git_oops-1.0.1.post1}/tests/test_oops.py +0 -0
  70. {git_oops-1.0.0 → git_oops-1.0.1.post1}/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.0
3
+ Version: 1.0.1.post1
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
@@ -14,23 +19,23 @@ Dynamic: requires-python
14
19
 
15
20
  <div align="center">
16
21
 
17
- # ⚡ git-oops v1.0.0 (The Final Legend Edition)
22
+ # ⚡ git-oops v1.0.1 (The Final Legend Edition)
18
23
 
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
- <p align="center">
23
- <img src="assets/readme-hero.jpg" alt="git-oops Hero Banner" width="850" style="border-radius: 10px; margin: 15px 0;" />
24
- </p>
27
+ ![git-oops Hero Banner](https://raw.githubusercontent.com/Hao610/git-oops/main/assets/readme-hero.jpg)
25
28
 
26
29
  [![CI Suite](https://github.com/Hao610/git-oops/actions/workflows/ci.yml/badge.svg)](https://github.com/Hao610/git-oops/actions/workflows/ci.yml)
27
- [![Version](https://img.shields.io/badge/Release-v1.0.0%20Legend-blue.svg)](https://github.com/Hao610/git-oops/releases)
28
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
30
+ [![Version](https://img.shields.io/badge/Release-v1.0.1.post1%20Legend-blue.svg)](https://github.com/Hao610/git-oops/releases)
31
+ [![PyPI](https://img.shields.io/pypi/v/git-oops.svg?color=blue)](https://pypi.org/project/git-oops/)
32
+ [![Provenance](https://img.shields.io/badge/SLSA-Verified%20Provenance-brightgreen)](https://pypi.org/project/git-oops/)
33
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/Hao610/git-oops/blob/main/LICENSE)
29
34
  [![Python 3.9+](https://img.shields.io/badge/Python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue?logo=python)](https://www.python.org/)
30
- [![Zero-Step-Hooks](https://img.shields.io/badge/Git%20Hooks-Zero--Step%20Global-success)]()
31
- [![L3-Preflight](https://img.shields.io/badge/L3%20CI%2FCD-%3C0.3s%20Local%20Pre--Flight-green)]()
32
- [![MCP-Ready](https://img.shields.io/badge/MCP-Native%20Server%20Ready-purple)]()
33
- [![Spend-Protection](https://img.shields.io/badge/Wallet-Circuit%20Breaker%20Protected-orange)]()
35
+ [![Zero-Step-Hooks](https://img.shields.io/badge/Git%20Hooks-Zero--Step%20Global-success)](https://github.com/Hao610/git-oops)
36
+ [![L3-Preflight](https://img.shields.io/badge/L3%20CI%2FCD-%3C0.3s%20Local%20Pre--Flight-green)](https://github.com/Hao610/git-oops)
37
+ [![MCP-Ready](https://img.shields.io/badge/MCP-Native%20Server%20Ready-purple)](https://github.com/Hao610/git-oops)
38
+ [![Spend-Protection](https://img.shields.io/badge/Wallet-Circuit%20Breaker%20Protected-orange)](https://github.com/Hao610/git-oops)
34
39
 
35
40
  </div>
36
41
 
@@ -42,7 +47,7 @@ Dynamic: requires-python
42
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.
43
48
  `git-oops` roasts your sloppy code with razor-sharp wit and applies a surgical 1-click git patch directly in your terminal.
44
49
 
45
- ### 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):
46
51
  Modern autonomous coding agents face catastrophic failure modes:
47
52
  1. **Context Bloat**: Multi-thousand line terminal dumps overflow agent context windows.
48
53
  2. **Infinite Thrashing**: Agents get trapped in loops editing and reverting the same code.
@@ -79,7 +84,7 @@ Modern autonomous coding agents face catastrophic failure modes:
79
84
  | # | Capability | Module | What It Does | Why It Matters |
80
85
  | :-: | :--- | :--- | :--- | :--- |
81
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. |
82
- | **2** | 🔌 **Native MCP Server** | `src/mcp_server.py` | Exposes tools over stdio (`git-oops --mcp`). | Instantly attaches to Claude Desktop, Cursor, and Windsurf. |
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. |
83
88
  | **3** | 🛑 **Anti-Thrashing Watchdog** | `src/watchdog.py` | Detects repeated edit-revert oscillations (> 3 times). | Halts runaway agent loops before burning through credits. |
84
89
  | **4** | 🛡️ **Blast-Radius Firewall** | `src/firewall.py` | Intercepts `rm -rf`, `force-push`, and wildcard deletions. | Prevents rogue agents from wiping out the filesystem. |
85
90
  | **5** | 🕵️ **Supply-Chain Shield** | `src/firewall.py` | Blocks hallucinated/typosquatted package installs. | Protects against AI package hallucination attacks. |
@@ -127,7 +132,7 @@ git-oops --hud
127
132
 
128
133
  ### 3. Connect to Any AI Tool (MCP or Subshell):
129
134
 
130
- #### Option A: For Claude Desktop / Cursor / Windsurf / Antigravity (MCP):
135
+ #### Option A: For Antigravity, Claude Desktop, Cursor, Windsurf, Qoder & All MCP Agents:
131
136
  Add this to your MCP configuration:
132
137
  ```json
133
138
  {
@@ -140,7 +145,7 @@ Add this to your MCP configuration:
140
145
  }
141
146
  ```
142
147
 
143
- #### Option B: For OpenAI Codex / Qoder / Copilot / Aider / Devin:
148
+ #### Option B: For Any Subshell / CLI AI Agent (Codex, Devin, Copilot, Aider, Roo Code, Cline, etc.):
144
149
  Simply tell your agent in prompt or rule:
145
150
  > *"Always diagnose and apply patches safely via: `git-oops --agent --file <file> --error \"<error>\" --yes`"*
146
151
  It outputs clean machine-readable JSON without ANSI codes.
@@ -191,8 +196,8 @@ We believe developer tools should never spy on you or your AI agents:
191
196
 
192
197
  ## 🤝 Documentation & Community
193
198
 
194
- - Check out the [Help & Beginner's Manual](HELP.md) for full MCP step-by-step screenshots and command references.
195
- - Review our [Legal Terms & Disclaimer](LEGAL.md) for licensing, privacy, and autonomous agent safety notices.
196
- - Read our [Contributing Guidelines](CONTRIBUTING.md) to set up your environment.
197
- - Review our [Code of Conduct](CODE_OF_CONDUCT.md).
198
- - 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).
@@ -1,22 +1,22 @@
1
1
  <div align="center">
2
2
 
3
- # ⚡ git-oops v1.0.0 (The Final Legend Edition)
3
+ # ⚡ git-oops v1.0.1 (The Final Legend Edition)
4
4
 
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
- <p align="center">
9
- <img src="assets/readme-hero.jpg" alt="git-oops Hero Banner" width="850" style="border-radius: 10px; margin: 15px 0;" />
10
- </p>
8
+ ![git-oops Hero Banner](https://raw.githubusercontent.com/Hao610/git-oops/main/assets/readme-hero.jpg)
11
9
 
12
10
  [![CI Suite](https://github.com/Hao610/git-oops/actions/workflows/ci.yml/badge.svg)](https://github.com/Hao610/git-oops/actions/workflows/ci.yml)
13
- [![Version](https://img.shields.io/badge/Release-v1.0.0%20Legend-blue.svg)](https://github.com/Hao610/git-oops/releases)
14
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
11
+ [![Version](https://img.shields.io/badge/Release-v1.0.1.post1%20Legend-blue.svg)](https://github.com/Hao610/git-oops/releases)
12
+ [![PyPI](https://img.shields.io/pypi/v/git-oops.svg?color=blue)](https://pypi.org/project/git-oops/)
13
+ [![Provenance](https://img.shields.io/badge/SLSA-Verified%20Provenance-brightgreen)](https://pypi.org/project/git-oops/)
14
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/Hao610/git-oops/blob/main/LICENSE)
15
15
  [![Python 3.9+](https://img.shields.io/badge/Python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue?logo=python)](https://www.python.org/)
16
- [![Zero-Step-Hooks](https://img.shields.io/badge/Git%20Hooks-Zero--Step%20Global-success)]()
17
- [![L3-Preflight](https://img.shields.io/badge/L3%20CI%2FCD-%3C0.3s%20Local%20Pre--Flight-green)]()
18
- [![MCP-Ready](https://img.shields.io/badge/MCP-Native%20Server%20Ready-purple)]()
19
- [![Spend-Protection](https://img.shields.io/badge/Wallet-Circuit%20Breaker%20Protected-orange)]()
16
+ [![Zero-Step-Hooks](https://img.shields.io/badge/Git%20Hooks-Zero--Step%20Global-success)](https://github.com/Hao610/git-oops)
17
+ [![L3-Preflight](https://img.shields.io/badge/L3%20CI%2FCD-%3C0.3s%20Local%20Pre--Flight-green)](https://github.com/Hao610/git-oops)
18
+ [![MCP-Ready](https://img.shields.io/badge/MCP-Native%20Server%20Ready-purple)](https://github.com/Hao610/git-oops)
19
+ [![Spend-Protection](https://img.shields.io/badge/Wallet-Circuit%20Breaker%20Protected-orange)](https://github.com/Hao610/git-oops)
20
20
 
21
21
  </div>
22
22
 
@@ -28,7 +28,7 @@
28
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.
29
29
  `git-oops` roasts your sloppy code with razor-sharp wit and applies a surgical 1-click git patch directly in your terminal.
30
30
 
31
- ### 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):
32
32
  Modern autonomous coding agents face catastrophic failure modes:
33
33
  1. **Context Bloat**: Multi-thousand line terminal dumps overflow agent context windows.
34
34
  2. **Infinite Thrashing**: Agents get trapped in loops editing and reverting the same code.
@@ -65,7 +65,7 @@ Modern autonomous coding agents face catastrophic failure modes:
65
65
  | # | Capability | Module | What It Does | Why It Matters |
66
66
  | :-: | :--- | :--- | :--- | :--- |
67
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. |
68
- | **2** | 🔌 **Native MCP Server** | `src/mcp_server.py` | Exposes tools over stdio (`git-oops --mcp`). | Instantly attaches to Claude Desktop, Cursor, and Windsurf. |
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. |
69
69
  | **3** | 🛑 **Anti-Thrashing Watchdog** | `src/watchdog.py` | Detects repeated edit-revert oscillations (> 3 times). | Halts runaway agent loops before burning through credits. |
70
70
  | **4** | 🛡️ **Blast-Radius Firewall** | `src/firewall.py` | Intercepts `rm -rf`, `force-push`, and wildcard deletions. | Prevents rogue agents from wiping out the filesystem. |
71
71
  | **5** | 🕵️ **Supply-Chain Shield** | `src/firewall.py` | Blocks hallucinated/typosquatted package installs. | Protects against AI package hallucination attacks. |
@@ -113,7 +113,7 @@ git-oops --hud
113
113
 
114
114
  ### 3. Connect to Any AI Tool (MCP or Subshell):
115
115
 
116
- #### Option A: For Claude Desktop / Cursor / Windsurf / Antigravity (MCP):
116
+ #### Option A: For Antigravity, Claude Desktop, Cursor, Windsurf, Qoder & All MCP Agents:
117
117
  Add this to your MCP configuration:
118
118
  ```json
119
119
  {
@@ -126,7 +126,7 @@ Add this to your MCP configuration:
126
126
  }
127
127
  ```
128
128
 
129
- #### Option B: For OpenAI Codex / Qoder / Copilot / Aider / Devin:
129
+ #### Option B: For Any Subshell / CLI AI Agent (Codex, Devin, Copilot, Aider, Roo Code, Cline, etc.):
130
130
  Simply tell your agent in prompt or rule:
131
131
  > *"Always diagnose and apply patches safely via: `git-oops --agent --file <file> --error \"<error>\" --yes`"*
132
132
  It outputs clean machine-readable JSON without ANSI codes.
@@ -177,8 +177,8 @@ We believe developer tools should never spy on you or your AI agents:
177
177
 
178
178
  ## 🤝 Documentation & Community
179
179
 
180
- - Check out the [Help & Beginner's Manual](HELP.md) for full MCP step-by-step screenshots and command references.
181
- - Review our [Legal Terms & Disclaimer](LEGAL.md) for licensing, privacy, and autonomous agent safety notices.
182
- - Read our [Contributing Guidelines](CONTRIBUTING.md) to set up your environment.
183
- - Review our [Code of Conduct](CODE_OF_CONDUCT.md).
184
- - 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).
@@ -0,0 +1,16 @@
1
+ """
2
+ git-oops: The Autonomous Terminal Crash Fixer & AI Agent Safety Harness.
3
+ Version 1.0.1 (The Final Legend Edition)
4
+ """
5
+
6
+ __version__ = "1.0.1.post1"
7
+
8
+ from git_oops.hooks import ensure_auto_hooks
9
+ from git_oops.rules import trigger_ota_update_background
10
+
11
+ # Auto-bootstrap zero-step hooks & OTA rules on package import
12
+ try:
13
+ ensure_auto_hooks()
14
+ trigger_ota_update_background()
15
+ except Exception:
16
+ pass
@@ -0,0 +1,9 @@
1
+ """
2
+ Executable module entrypoint: enables running via 'python -m git_oops'
3
+ 100% immune to Windows Smart App Control unsigned executable blocks.
4
+ """
5
+
6
+ from git_oops.cli import main
7
+
8
+ if __name__ == "__main__":
9
+ main()