Zum Inhalt springen

Verwendung mit KI-Assistenten

codeknit wird mit vorgefertigten Skills ausgeliefert, die KI-Coding-Assistenten beibringen, wie sie es effektiv nutzen können. Diese Skills ermöglichen es Assistenten, Codestruktur zu extrahieren, Duplikate zu erkennen und strukturelle Analysen ohne manuelle Eingabeaufforderungen durchzuführen.

codeknit bietet zwei Skills:

  • codeknit-parse: Lehrt Assistenten, Codestruktur (Funktionen, Klassen, Methoden, Variablen) und Beziehungen (Aufrufe, Vererbung, Enthaltensein) in .skt-Dateien zu extrahieren.
  • codeknit-fingerprint: Lehrt Assistenten, Duplikate und Beinahe-Duplikate von Code mithilfe von fuzzy hashing zu erkennen.

Jeder Skill enthält Dokumentation, die der Assistent bei Bedarf liest, um Nutzung, Flags, Ausgabeformate und Workflows zu verstehen.

Verwenden Sie den Installationshelfer, um die Skill-Verzeichnisse in den Skills-Ordner Ihres Assistenten zu kopieren. Der Installer lädt nur die gebündelten Skill-Dateien herunter, sodass Sie das Repository nicht klonen müssen.

Installation für Codex, Kiro und Claude Code:

Terminal window
curl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash

Installation für einen Assistenten:

Terminal window
curl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant codex
curl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant kiro
curl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant claude

Aus einem lokalen Checkout können Sie Makefile-Helfer verwenden:

Terminal window
make skills-install-dry-run
make skills-install

Der Installer überspringt standardmäßig vorhandene Skill-Verzeichnisse. Um sie zu ersetzen, fügen Sie --force hinzu:

Terminal window
curl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant all --force

Nach der Installation weiß der Assistent automatisch, wie er codeknit-Befehle aufruft, geeignete Flags auswählt und .skt-Ausgaben interpretiert.

Der codeknit-parse-Skill lehrt Assistenten:

  • codeknit parse mit geeigneten Flags für verschiedene Szenarien auszuführen
  • Den richtigen Ausgabemodus zu wählen:
    • directory-flat (Standard) für die meisten Projekte
    • inline für einzelne Dateien oder kleine Eingaben
    • directory-tree, um die Quellstruktur widerzuspiegeln
  • .skt-Ausgabedateien zu lesen und zu interpretieren, einschließlich [symbols], [edges] und optionaler [dict]-Abschnitte
  • Strukturelle Daten für Refactoring, Abhängigkeitskartierung und Code-Reviews zu nutzen
  • codeknit graph analyze für tiefere Einblicke in die Codequalität auszuführen (zyklische Abhängigkeiten, Hub-Symbole, god classes usw.)

Der codeknit-fingerprint-Skill lehrt Assistenten:

  • codeknit fingerprint für Duplikaterkennung, DRY-Audits und Refaktoridentifizierung zu verwenden
  • Geeignete Ähnlichkeitsbereiche (--min-similarity, --max-similarity) auszuwählen
  • Den Abschnitt [duplicates] zu lesen, um Beinahe-Duplikate von Code zu identifizieren
  • Zu verstehen, dass Fingerprints die strukturelle Form und nicht die semantische Absicht messen
  • --rerank mit Ollama-Embeddings zu verwenden, um falsche Positive bei Bedarf zu reduzieren
  1. Bitten Sie den Assistenten, die Struktur Ihres Codebase zu analysieren
  2. Er führt codeknit parse ./src aus und liest die resultierenden .skt-Dateien
  3. Er beantwortet strukturelle Fragen: Abhängigkeiten, Aufrufketten, dead code
  4. Für tiefere Einblicke führt er codeknit graph analyze ./src aus und interpretiert den Bericht
[symbols]
## src/service.go
S1 type/struct L5-L8 AuthService {}
S2 callable/method L10-L15 Authenticate(token: string) {receiver=*AuthService}
[edges]
S1 --contains--> S2
  1. Bitten Sie den Assistenten, duplizierten Code zu finden
  2. Er führt codeknit fingerprint ./src aus
  3. Er liest den Abschnitt [duplicates] in der Ausgabe
  4. Er untersucht die markierten Paare und schlägt Konsolidierung vor
[duplicates]
S1, S2: 87% Ähnlichkeit
S3, S4: 76% Ähnlichkeit
  • Lesen Sie immer .skt-Dateien und nicht den Rohquellcode für strukturelle Fragen — sie enthalten die extrahierte Struktur in einem kompakten, zuverlässigen Format
  • Verwenden Sie codeknit graph analyze, um Codequalitätsprobleme wie zyklische Abhängigkeiten, Hub-Symbole und tiefe Vererbungsketten aufzudecken
  • Führen Sie codeknit fingerprint vor großen Refactorings aus, um kopierten Code zu identifizieren, der konsolidiert werden sollte
  • Das .skt-Format ist darauf ausgelegt, token-effizient zu sein, was es ideal für LLM-Kontextfenster macht
  • Verwenden Sie --minify, um den Token-Verbrauch bei der Verarbeitung großer Codebasen weiter zu reduzieren