gitinstall 1.1.4__tar.gz → 1.2.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.
- {gitinstall-1.1.4/gitinstall.egg-info → gitinstall-1.2.0}/PKG-INFO +4 -2
- {gitinstall-1.1.4 → gitinstall-1.2.0}/README.md +3 -1
- {gitinstall-1.1.4 → gitinstall-1.2.0/gitinstall.egg-info}/PKG-INFO +4 -2
- {gitinstall-1.1.4 → gitinstall-1.2.0}/pyproject.toml +1 -1
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/_sdk.py +28 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/mcp_server.py +42 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/tool_schemas.py +39 -1
- {gitinstall-1.1.4 → gitinstall-1.2.0}/LICENSE +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/MANIFEST.in +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/gitinstall.egg-info/SOURCES.txt +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/gitinstall.egg-info/dependency_links.txt +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/gitinstall.egg-info/entry_points.txt +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/gitinstall.egg-info/top_level.txt +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/setup.cfg +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/__init__.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/academic.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/admin.html +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/auto_update.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/autopilot.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/badge.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/checkpoint.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/cicd.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/clawhub.html +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/config_schema.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/db.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/db_backend.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/dep_chain.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/dependency_audit.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/detector.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/doctor.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/education.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/enterprise.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/error_fixer.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/event_bus.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/executor.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/feature_flags.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/fetcher.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/huggingface.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/hw_detect.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/i18n.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/installer_registry.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/knowledge_base.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/license_check.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/llm.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/log.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/main.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/mcp_agent.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/monorepo.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/multi_source.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/onboard.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/planner.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/planner_helpers.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/planner_known_projects.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/planner_templates.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/remote_gpu.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/resilience.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/run_tests.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/skills.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/trending.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/uninstaller.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/validate_top100.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/watchdog.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/web.py +0 -0
- {gitinstall-1.1.4 → gitinstall-1.2.0}/tools/web_ui.html +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitinstall
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: MCP server & CLI that helps you easily install GitHub projects — zero dependencies
|
|
5
5
|
Author: icerui
|
|
6
6
|
License: MIT
|
|
@@ -126,7 +126,7 @@ gitinstall-mcp # Starts MCP server on stdio (JSON-RPC 2.0)
|
|
|
126
126
|
|
|
127
127
|
## MCP Tools
|
|
128
128
|
|
|
129
|
-
gitinstall exposes
|
|
129
|
+
gitinstall exposes 7 tools via MCP:
|
|
130
130
|
|
|
131
131
|
| Tool | What it does |
|
|
132
132
|
|------|-------------|
|
|
@@ -136,6 +136,7 @@ gitinstall exposes 6 tools via MCP:
|
|
|
136
136
|
| `get_project_info` | Fetch GitHub project metadata without installing |
|
|
137
137
|
| `check_system_health` | Full system diagnostic with fix suggestions |
|
|
138
138
|
| `audit_dependencies` | Scan project dependencies for known CVEs |
|
|
139
|
+
| `uninstall_github_project` | Safely uninstall a project: removes files, venvs, Docker, caches |
|
|
139
140
|
|
|
140
141
|
### Example: `install_github_project`
|
|
141
142
|
|
|
@@ -196,6 +197,7 @@ gitinstall works standalone too, no AI agent needed:
|
|
|
196
197
|
|
|
197
198
|
```bash
|
|
198
199
|
gitinstall comfyanonymous/ComfyUI # Install a project
|
|
200
|
+
gitinstall uninstall comfyanonymous/ComfyUI --confirm # Safely uninstall
|
|
199
201
|
gitinstall detect # Check your system
|
|
200
202
|
gitinstall doctor # System diagnostic
|
|
201
203
|
gitinstall audit pytorch/pytorch # Security audit
|
|
@@ -99,7 +99,7 @@ gitinstall-mcp # Starts MCP server on stdio (JSON-RPC 2.0)
|
|
|
99
99
|
|
|
100
100
|
## MCP Tools
|
|
101
101
|
|
|
102
|
-
gitinstall exposes
|
|
102
|
+
gitinstall exposes 7 tools via MCP:
|
|
103
103
|
|
|
104
104
|
| Tool | What it does |
|
|
105
105
|
|------|-------------|
|
|
@@ -109,6 +109,7 @@ gitinstall exposes 6 tools via MCP:
|
|
|
109
109
|
| `get_project_info` | Fetch GitHub project metadata without installing |
|
|
110
110
|
| `check_system_health` | Full system diagnostic with fix suggestions |
|
|
111
111
|
| `audit_dependencies` | Scan project dependencies for known CVEs |
|
|
112
|
+
| `uninstall_github_project` | Safely uninstall a project: removes files, venvs, Docker, caches |
|
|
112
113
|
|
|
113
114
|
### Example: `install_github_project`
|
|
114
115
|
|
|
@@ -169,6 +170,7 @@ gitinstall works standalone too, no AI agent needed:
|
|
|
169
170
|
|
|
170
171
|
```bash
|
|
171
172
|
gitinstall comfyanonymous/ComfyUI # Install a project
|
|
173
|
+
gitinstall uninstall comfyanonymous/ComfyUI --confirm # Safely uninstall
|
|
172
174
|
gitinstall detect # Check your system
|
|
173
175
|
gitinstall doctor # System diagnostic
|
|
174
176
|
gitinstall audit pytorch/pytorch # Security audit
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitinstall
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: MCP server & CLI that helps you easily install GitHub projects — zero dependencies
|
|
5
5
|
Author: icerui
|
|
6
6
|
License: MIT
|
|
@@ -126,7 +126,7 @@ gitinstall-mcp # Starts MCP server on stdio (JSON-RPC 2.0)
|
|
|
126
126
|
|
|
127
127
|
## MCP Tools
|
|
128
128
|
|
|
129
|
-
gitinstall exposes
|
|
129
|
+
gitinstall exposes 7 tools via MCP:
|
|
130
130
|
|
|
131
131
|
| Tool | What it does |
|
|
132
132
|
|------|-------------|
|
|
@@ -136,6 +136,7 @@ gitinstall exposes 6 tools via MCP:
|
|
|
136
136
|
| `get_project_info` | Fetch GitHub project metadata without installing |
|
|
137
137
|
| `check_system_health` | Full system diagnostic with fix suggestions |
|
|
138
138
|
| `audit_dependencies` | Scan project dependencies for known CVEs |
|
|
139
|
+
| `uninstall_github_project` | Safely uninstall a project: removes files, venvs, Docker, caches |
|
|
139
140
|
|
|
140
141
|
### Example: `install_github_project`
|
|
141
142
|
|
|
@@ -196,6 +197,7 @@ gitinstall works standalone too, no AI agent needed:
|
|
|
196
197
|
|
|
197
198
|
```bash
|
|
198
199
|
gitinstall comfyanonymous/ComfyUI # Install a project
|
|
200
|
+
gitinstall uninstall comfyanonymous/ComfyUI --confirm # Safely uninstall
|
|
199
201
|
gitinstall detect # Check your system
|
|
200
202
|
gitinstall doctor # System diagnostic
|
|
201
203
|
gitinstall audit pytorch/pytorch # Security audit
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "gitinstall"
|
|
7
|
-
version = "1.
|
|
7
|
+
version = "1.2.0"
|
|
8
8
|
description = "MCP server & CLI that helps you easily install GitHub projects — zero dependencies"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
@@ -536,6 +536,34 @@ def audit(identifier: str, *, online: bool = False) -> dict:
|
|
|
536
536
|
return cmd_audit(identifier, online=online)
|
|
537
537
|
|
|
538
538
|
|
|
539
|
+
def uninstall(
|
|
540
|
+
identifier: str,
|
|
541
|
+
*,
|
|
542
|
+
install_dir: str = None,
|
|
543
|
+
keep_config: bool = False,
|
|
544
|
+
confirm: bool = False,
|
|
545
|
+
) -> dict:
|
|
546
|
+
"""安全卸载已安装的 GitHub 项目。
|
|
547
|
+
|
|
548
|
+
Args:
|
|
549
|
+
identifier: 项目标识,如 "owner/repo"。
|
|
550
|
+
install_dir: 安装目录。省略则自动探测。
|
|
551
|
+
keep_config: True 时保留配置文件。
|
|
552
|
+
confirm: True 时执行卸载,False 时只显示计划。
|
|
553
|
+
|
|
554
|
+
Returns:
|
|
555
|
+
dict: 包含卸载计划或执行结果。
|
|
556
|
+
"""
|
|
557
|
+
from main import cmd_uninstall
|
|
558
|
+
return cmd_uninstall(
|
|
559
|
+
identifier,
|
|
560
|
+
keep_config=keep_config,
|
|
561
|
+
clean_only=False,
|
|
562
|
+
confirm=confirm,
|
|
563
|
+
install_dir=install_dir,
|
|
564
|
+
)
|
|
565
|
+
|
|
566
|
+
|
|
539
567
|
# ── 版本信息 ─────────────────────────────────
|
|
540
568
|
|
|
541
569
|
__version__ = "1.1.0"
|
|
@@ -52,6 +52,7 @@ from _sdk import (
|
|
|
52
52
|
fetch as _fetch,
|
|
53
53
|
doctor as _doctor,
|
|
54
54
|
audit as _audit,
|
|
55
|
+
uninstall as _uninstall,
|
|
55
56
|
__version__,
|
|
56
57
|
)
|
|
57
58
|
|
|
@@ -191,6 +192,39 @@ TOOLS = [
|
|
|
191
192
|
"required": ["project"],
|
|
192
193
|
},
|
|
193
194
|
},
|
|
195
|
+
{
|
|
196
|
+
"name": "uninstall_github_project",
|
|
197
|
+
"description": (
|
|
198
|
+
"Safely uninstall a previously installed GitHub project. "
|
|
199
|
+
"Detects and removes: project directory, virtualenvs, Docker containers, "
|
|
200
|
+
"build artifacts, caches. Safety checks prevent deleting system directories. "
|
|
201
|
+
"Shows a cleanup plan before executing. Optionally keeps config files. "
|
|
202
|
+
"Example: uninstall_github_project({\"project\": \"comfyanonymous/ComfyUI\"}) "
|
|
203
|
+
"Call this when a user wants to remove, delete, or uninstall a GitHub project."
|
|
204
|
+
),
|
|
205
|
+
"inputSchema": {
|
|
206
|
+
"type": "object",
|
|
207
|
+
"properties": {
|
|
208
|
+
"project": {
|
|
209
|
+
"type": "string",
|
|
210
|
+
"description": "GitHub project: 'owner/repo' format",
|
|
211
|
+
},
|
|
212
|
+
"install_dir": {
|
|
213
|
+
"type": "string",
|
|
214
|
+
"description": "Directory where the project is installed. Default: ~/github-installs/<project>/",
|
|
215
|
+
},
|
|
216
|
+
"keep_config": {
|
|
217
|
+
"type": "boolean",
|
|
218
|
+
"description": "Keep config files (.env, etc.) during uninstall. Default: false.",
|
|
219
|
+
},
|
|
220
|
+
"confirm": {
|
|
221
|
+
"type": "boolean",
|
|
222
|
+
"description": "If true, execute the uninstall. If false, only show plan. Default: false.",
|
|
223
|
+
},
|
|
224
|
+
},
|
|
225
|
+
"required": ["project"],
|
|
226
|
+
},
|
|
227
|
+
},
|
|
194
228
|
]
|
|
195
229
|
|
|
196
230
|
|
|
@@ -273,6 +307,14 @@ def _call_tool(name: str, args: dict) -> tuple[list[dict], bool]:
|
|
|
273
307
|
online=args.get("online", False),
|
|
274
308
|
)
|
|
275
309
|
|
|
310
|
+
elif name == "uninstall_github_project":
|
|
311
|
+
result = _uninstall(
|
|
312
|
+
args["project"],
|
|
313
|
+
install_dir=args.get("install_dir"),
|
|
314
|
+
keep_config=args.get("keep_config", False),
|
|
315
|
+
confirm=args.get("confirm", False),
|
|
316
|
+
)
|
|
317
|
+
|
|
276
318
|
else:
|
|
277
319
|
return [{"type": "text", "text": f"Unknown tool: {name}"}], True
|
|
278
320
|
|
|
@@ -174,6 +174,36 @@ _TOOLS = [
|
|
|
174
174
|
"required": ["project"],
|
|
175
175
|
},
|
|
176
176
|
},
|
|
177
|
+
{
|
|
178
|
+
"name": "uninstall",
|
|
179
|
+
"description": (
|
|
180
|
+
"Safely uninstall a previously installed GitHub project. "
|
|
181
|
+
"Removes project directory, virtualenvs, Docker containers, build artifacts, caches. "
|
|
182
|
+
"Shows cleanup plan before executing. Call with confirm=true to actually delete."
|
|
183
|
+
),
|
|
184
|
+
"parameters": {
|
|
185
|
+
"type": "object",
|
|
186
|
+
"properties": {
|
|
187
|
+
"project": {
|
|
188
|
+
"type": "string",
|
|
189
|
+
"description": "GitHub project: 'owner/repo' format",
|
|
190
|
+
},
|
|
191
|
+
"install_dir": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"description": "Directory where the project is installed.",
|
|
194
|
+
},
|
|
195
|
+
"keep_config": {
|
|
196
|
+
"type": "boolean",
|
|
197
|
+
"description": "Keep config files during uninstall.",
|
|
198
|
+
},
|
|
199
|
+
"confirm": {
|
|
200
|
+
"type": "boolean",
|
|
201
|
+
"description": "If true, execute uninstall. If false, only show plan.",
|
|
202
|
+
},
|
|
203
|
+
},
|
|
204
|
+
"required": ["project"],
|
|
205
|
+
},
|
|
206
|
+
},
|
|
177
207
|
]
|
|
178
208
|
|
|
179
209
|
# ── 工具名列表 ──────────────────────────────
|
|
@@ -260,7 +290,7 @@ def call_tool(name: str, arguments: dict) -> dict | None:
|
|
|
260
290
|
Returns:
|
|
261
291
|
工具执行结果 dict,或 None(diagnose 无匹配时)
|
|
262
292
|
"""
|
|
263
|
-
from _sdk import detect, plan, install, diagnose, fetch, doctor, audit
|
|
293
|
+
from _sdk import detect, plan, install, diagnose, fetch, doctor, audit, uninstall
|
|
264
294
|
|
|
265
295
|
if name == "detect":
|
|
266
296
|
return detect()
|
|
@@ -297,6 +327,14 @@ def call_tool(name: str, arguments: dict) -> dict | None:
|
|
|
297
327
|
online=arguments.get("online", False),
|
|
298
328
|
)
|
|
299
329
|
|
|
330
|
+
if name == "uninstall":
|
|
331
|
+
return uninstall(
|
|
332
|
+
arguments["project"],
|
|
333
|
+
install_dir=arguments.get("install_dir"),
|
|
334
|
+
keep_config=arguments.get("keep_config", False),
|
|
335
|
+
confirm=arguments.get("confirm", False),
|
|
336
|
+
)
|
|
337
|
+
|
|
300
338
|
raise ValueError(f"Unknown tool: {name}. Available: {tool_names}")
|
|
301
339
|
|
|
302
340
|
|
|
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
|