Zum Inhalt springen

Erste Schritte

codeknit in unter 5 Minuten in Betrieb nehmen.

Sie benötigen:

  • Go 1.26+
  • Einen C-Compiler (CGo ist für tree-sitter erforderlich)
Terminal window
git clone https://github.com/awslabs/codeknit.git
cd codeknit
make build
# Binary befindet sich unter ./bin/codeknit

Fügen Sie das Binary zur PATH-Umgebungsvariable Ihrer Shell hinzu:

Terminal window
# bash (~/.bashrc)
export PATH="$PATH:$(pwd)/bin"
# zsh (~/.zshrc)
export PATH="$PATH:$(pwd)/bin"
# fish (~/.config/fish/config.fish)
fish_add_path $(pwd)/bin

Laden Sie Ihre Shell neu oder führen Sie source ~/.bashrc (oder ~/.zshrc) aus, damit die Änderung wirksam wird.

Stellen Sie sicher, dass codeknit funktioniert:

Terminal window
codeknit --version

Führen Sie Ihren ersten Parse-Vorgang für ein Code-Repository durch:

Terminal window
codeknit parse ./myproject

Dieser Befehl:

  • Parst alle Quelldateien in ./myproject
  • Extrahiert strukturelle Informationen (Funktionen, Klassen, Beziehungen)
  • Schreibt chunkierte .skt-Dateien in ./skeleton/ (Standard-Ausgabeverzeichnis)

Wenn Sie diesen Befehl erneut ausführen, verwenden Sie --clean, um vorherige Ausgaben zu entfernen:

Terminal window
codeknit parse ./myproject --clean

Die .skt-Dateien enthalten strukturierte Code-Informationen. Hier ein kleines Beispiel:

[symbols]
## src/main.go
S1 module/package L1-L1 main {}
S2 type/struct L5-L8 Server {exported}
S3 callable/function L10-L12 NewServer(addr: string) -> *S2 {exported}
S4 callable/method L14-L19 Start() {receiver=*Server}
[edges]
S2 --contains--> S4
S3 --returns--> S2

Wichtige Abschnitte:

  • [symbols]: Definitionen, gruppiert nach Datei, mit Name, Zeilenbereich und Metadaten
  • [edges]: Beziehungen wie contains, calls, inherits oder returns

Nachdem Sie Ihren ersten Parse-Vorgang durchgeführt haben: