Plugin iris-repo-check: Git-Repos und MCP-Server vor der Installation prüfen #74

Closed
opened 2026-10-16 14:56:16 +00:00 by alf · 4 comments
Owner

Spezifikation

Auslöser im Chat: „Überprüf Git-Repo xyz“.

  • Prüft ein GitHub-Repo statisch, ohne es auszuführen (flacher Klon ohne Hooks/Submodule/LFS, nie cd, nie bauen).
  • Erkennt MCP-Server im Repo und wendet zusätzliche Prüfpunkte an (Tool-Beschreibungen, Rechte, Auth, Ausführung aus Tool-Argumenten). Umfang: nur Repo-Code, keine installierten Konfigurationen.
  • Mechanik ist Skript (Python, nur Standardbibliothek): fetch, scan, deps (OSV.dev), meta (GitHub-API), score, report. Das LLM liest die markierten Stellen und urteilt.
  • Ergebnis: gewichtete Punkte-Rubrik (Skript berechnet Punkte, Abdeckung, Obergrenzen, Urteil). Kurzfassung im Chat, vollständiger Bericht als Note im Vault.
  • Eigenentwicklung. Idee angelehnt an jeredblu/jeredblu-marketplace (repo-evaluator, mcp-evaluator); dort steht keine Lizenz, daher kein Code übernommen.
  • Plugin-ID iris-repo-check (Namensregel iris- Präfix).

Offen / später

  • PRD-Schreiber als Erweiterung von grill-me (nicht Teil dieses Issues).
  • Prüfung von Release-Binaries, Reputationssuche im Web (Skill-Anweisung, kein Skript).
## Spezifikation Auslöser im Chat: „Überprüf Git-Repo xyz“. - Prüft ein GitHub-Repo **statisch, ohne es auszuführen** (flacher Klon ohne Hooks/Submodule/LFS, nie `cd`, nie bauen). - Erkennt MCP-Server im Repo und wendet zusätzliche Prüfpunkte an (Tool-Beschreibungen, Rechte, Auth, Ausführung aus Tool-Argumenten). Umfang: nur Repo-Code, keine installierten Konfigurationen. - Mechanik ist Skript (Python, nur Standardbibliothek): `fetch`, `scan`, `deps` (OSV.dev), `meta` (GitHub-API), `score`, `report`. Das LLM liest die markierten Stellen und urteilt. - Ergebnis: gewichtete Punkte-Rubrik (Skript berechnet Punkte, Abdeckung, Obergrenzen, Urteil). Kurzfassung im Chat, vollständiger Bericht als Note im Vault. - Eigenentwicklung. Idee angelehnt an jeredblu/jeredblu-marketplace (repo-evaluator, mcp-evaluator); dort steht keine Lizenz, daher kein Code übernommen. - Plugin-ID `iris-repo-check` (Namensregel `iris-` Präfix). ## Offen / später - PRD-Schreiber als Erweiterung von grill-me (nicht Teil dieses Issues). - Prüfung von Release-Binaries, Reputationssuche im Web (Skill-Anweisung, kein Skript).
Author
Owner

PR #75 gemergt: feat(iris-repo-check): Plugin zum Prüfen von Git-Repos und MCP-Servern vor der Installation, Namensregel iris- im Plugin-Vertrag (#74)
#75

Commits:

  • feat(iris-repo-check): Plugin zum Prüfen von Git-Repos und MCP-Servern vor der Installation, Namensregel iris- im Plugin-Vertrag (#74)
PR #75 gemergt: feat(iris-repo-check): Plugin zum Prüfen von Git-Repos und MCP-Servern vor der Installation, Namensregel iris- im Plugin-Vertrag (#74) https://forgejo.lewerken.duckdns.org/iris/iris-plugins/pulls/75 Commits: - feat(iris-repo-check): Plugin zum Prüfen von Git-Repos und MCP-Servern vor der Installation, Namensregel iris- im Plugin-Vertrag (#74)
Author
Owner

Stand v0.1.0 (PR #75 gemergt)

Gebaut: Plugin iris-repo-check mit repo_check.py (fetch, scan, deps, meta, score, report, cleanup), 17 gewichteten Prüfpunkten (4 nur für MCP), Muster-Katalog, SKILL.md, Systemprompt, Build-Skript. Namensregel iris- steht im Plugin-Vertrag (plugins/CLAUDE.md).

Gemessen:

  • 13 Tests ohne Netz grün (Scan, Deps, Punkte, Obergrenzen, Report, Cleanup).
  • Echtlauf gegen modelcontextprotocol/servers: Klon, 320 Dateien gescannt, MCP erkannt, 395 festgepinnte Pakete gegen OSV (1 GHSA), GitHub-Metadaten.
  • Paket gebaut (20 KB), Inhalt geprüft. Installation in Iris nicht erfolgt.

Grenzen / offen:

  • Kein Chat-Durchlauf mit Hermes („Überprüf Git-Repo …“), Plugin nicht installiert.
  • Linux-Server: nötig sind python3 und git im iris-hermes-Container, ungeprüft.
  • Release-Binärdateien werden nicht inspiziert.
  • Punkte sind eine Heuristik, keine Sicherheitswahrscheinlichkeit.

Entscheidungen: Eigenentwicklung (Vorlage jeredblu-marketplace hat keine Lizenz), MCP nur über Repo-Code, Punkte-Rubrik, Bericht als Chat-Kurzfassung plus Vault-Note. Issue bleibt offen.

## Stand v0.1.0 (PR #75 gemergt) **Gebaut:** Plugin `iris-repo-check` mit `repo_check.py` (fetch, scan, deps, meta, score, report, cleanup), 17 gewichteten Prüfpunkten (4 nur für MCP), Muster-Katalog, SKILL.md, Systemprompt, Build-Skript. Namensregel `iris-` steht im Plugin-Vertrag (`plugins/CLAUDE.md`). **Gemessen:** - 13 Tests ohne Netz grün (Scan, Deps, Punkte, Obergrenzen, Report, Cleanup). - Echtlauf gegen `modelcontextprotocol/servers`: Klon, 320 Dateien gescannt, MCP erkannt, 395 festgepinnte Pakete gegen OSV (1 GHSA), GitHub-Metadaten. - Paket gebaut (20 KB), Inhalt geprüft. Installation in Iris nicht erfolgt. **Grenzen / offen:** - Kein Chat-Durchlauf mit Hermes („Überprüf Git-Repo …“), Plugin nicht installiert. - Linux-Server: nötig sind `python3` und `git` im `iris-hermes`-Container, ungeprüft. - Release-Binärdateien werden nicht inspiziert. - Punkte sind eine Heuristik, keine Sicherheitswahrscheinlichkeit. Entscheidungen: Eigenentwicklung (Vorlage jeredblu-marketplace hat keine Lizenz), MCP nur über Repo-Code, Punkte-Rubrik, Bericht als Chat-Kurzfassung plus Vault-Note. Issue bleibt offen.
Author
Owner

PR #76 gemergt: chore(iris-repo-check): Build-Skript ausführbar (#74)
#76

Commits:

  • chore(iris-repo-check): Build-Skript ausführbar (#74)
PR #76 gemergt: chore(iris-repo-check): Build-Skript ausführbar (#74) https://forgejo.lewerken.duckdns.org/iris/iris-plugins/pulls/76 Commits: - chore(iris-repo-check): Build-Skript ausführbar (#74)
Author
Owner

PR #79 gemergt: fix(iris-repo-check): Bericht und Aufräumen vor der Schlussantwort, v0.1.1 (#74)
#79

Commits:

  • fix(iris-repo-check): Bericht und Aufräumen vor der Schlussantwort, v0.1.1 (#74)
PR #79 gemergt: fix(iris-repo-check): Bericht und Aufräumen vor der Schlussantwort, v0.1.1 (#74) https://forgejo.lewerken.duckdns.org/iris/iris-plugins/pulls/79 Commits: - fix(iris-repo-check): Bericht und Aufräumen vor der Schlussantwort, v0.1.1 (#74)
alf 2026-10-19 13:18:48 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
iris/iris-plugins#74
No description provided.