Salta ai contenuti

Introduzione

Inizia a utilizzare codeknit in meno di 5 minuti.

Avrai bisogno di:

  • Go 1.26+
  • Un compilatore C (CGo è richiesto per tree-sitter)
Terminal window
git clone https://github.com/awslabs/codeknit.git
cd codeknit
make build
# Il binario si trova in ./bin/codeknit

Aggiungi il binario al PATH della tua shell:

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

Ricarica la tua shell o esegui source ~/.bashrc (o ~/.zshrc) affinché la modifica abbia effetto.

Controlla che codeknit funzioni:

Terminal window
codeknit --version

Esegui il tuo primo parse su una codebase:

Terminal window
codeknit parse ./myproject

Questo comando:

  • Effettua il parse di tutti i file sorgente in ./myproject
  • Estrae informazioni strutturali (funzioni, classi, relazioni)
  • Scrive file .skt suddivisi in ./skeleton/ (directory di output predefinita)

Se riesegui questo comando, usa --clean per rimuovere l’output precedente:

Terminal window
codeknit parse ./myproject --clean

I file .skt contengono informazioni strutturate sul codice. Ecco un piccolo esempio:

[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

Sezioni chiave:

  • [symbols]: Definizioni raggruppate per file, che mostrano nome, intervallo di righe e metadati
  • [edges]: Relazioni come contains, calls, inherits o returns

Ora che hai eseguito il tuo primo parse: