Skip to content

OpenCode Plugin zur Analyse von Code auf Abstraktions-Probleme (God Files, lange Funktionen, wiederholte Patterns)

Notifications You must be signed in to change notification settings

mguttmann/opencode-abstraction-scanner

Repository files navigation

OpenCode Abstraction Scanner

Ein OpenCode Plugin zur Analyse von Code auf Abstraktions-Probleme.

Features

  • God File Detection: Findet Dateien mit zu vielen Verantwortlichkeiten (>500 LOC)
  • Lange Funktionen: Identifiziert Funktionen die aufgeteilt werden sollten (>50 LOC)
  • Pattern Detection: Findet wiederholte Code-Patterns die abstrahiert werden könnten
  • Complexity Analysis: Berechnet Cyclomatic Complexity
  • Multi-Language: Unterstützt TypeScript, JavaScript, Python, Java, C#, Go, Rust, Ruby, PHP, Swift, Kotlin

Installation

# In deiner opencode.json
{
  "plugin": ["opencode-abstraction-scanner"]
}

Verwendung

Vollständiger Scan

Scanne src/ auf Abstraktionen

Das Plugin führt eine zweistufige Analyse durch:

  1. Stufe 1 (lokal): Sammelt Metriken, findet verdächtige Dateien
  2. Stufe 2 (LLM): Analysiert Top-Dateien im Detail

Nur Metriken (schnell, kostenlos)

Zeige mir die Code-Metriken für src/

Einzelne Datei analysieren

Analysiere src/tools/sonarqube.ts auf Abstraktions-Probleme

Tools

abstraction_scan

Haupttool für vollständige Analyse.

Parameter Beschreibung Default
path Pfad zum Scannen Aktuelles Verzeichnis
depth quick, normal, deep normal
include Glob pattern **/*.{ts,js,...}
exclude Ausschluss-Pattern node_modules,dist,...
minLoc Minimum LOC 50

abstraction_metrics

Schnelle lokale Metriken ohne LLM.

abstraction_file

Detail-Analyse für eine einzelne Datei.

Erkannte Probleme

  • God Files: Dateien >500 LOC mit zu vielen Verantwortlichkeiten
  • Lange Funktionen: Funktionen >50 LOC die gesplittet werden sollten
  • Wiederholte Patterns: Code der abstrahiert werden sollte
  • Zu viele Exports: Dateien mit >10 Exports
  • Hohe Complexity: Durchschnittliche Complexity >20 pro Funktion

Beispiel-Output

# Code-Metriken Report

## Zusammenfassung

| Metrik | Wert | Status |
|--------|------|--------|
| God Files (>500 LOC) | 3 | ⚠️ |
| Lange Funktionen (>50 LOC) | 6 | ⚠️ |
| Dateien mit wiederholten Patterns | 4 | ⚠️ |

## Verdächtige Dateien

### 🔴 Hohe Priorität (2)

| Datei | LOC | Score |
|-------|-----|-------|
| src/tools/sonarqube.ts | 932 | 85 |
| src/index.ts | 914 | 72 |

Lizenz

MIT

About

OpenCode Plugin zur Analyse von Code auf Abstraktions-Probleme (God Files, lange Funktionen, wiederholte Patterns)

Resources

Stars

Watchers

Forks

Packages

No packages published