Bỏ qua để đến nội dung

Bắt đầu nhanh

Bắt đầu sử dụng codeknit trong vòng chưa đầy 5 phút.

Bạn sẽ cần:

  • Go 1.26+
  • Trình biên dịch C (CGo là bắt buộc cho tree-sitter)
Terminal window
git clone https://github.com/awslabs/codeknit.git
cd codeknit
make build
# Binary nằm tại ./bin/codeknit

Thêm binary vào PATH của 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

Tải lại shell hoặc chạy source ~/.bashrc (hoặc ~/.zshrc) để thay đổi có hiệu lực.

Kiểm tra xem codeknit có hoạt động không:

Terminal window
codeknit --version

Chạy phân tích đầu tiên trên một codebase:

Terminal window
codeknit parse ./myproject

Lệnh này:

  • Phân tích tất cả các tệp nguồn trong ./myproject
  • Trích xuất thông tin cấu trúc (hàm, lớp, mối quan hệ)
  • Ghi các tệp .skt đã được chia nhỏ vào ./skeleton/ (thư mục đầu ra mặc định)

Nếu bạn chạy lại lệnh này, hãy sử dụng --clean để xóa đầu ra trước đó:

Terminal window
codeknit parse ./myproject --clean

Các tệp .skt chứa thông tin mã có cấu trúc. Dưới đây là một ví dụ nhỏ:

[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

Các phần chính:

  • [symbols]: Các định nghĩa được nhóm theo tệp, hiển thị tên, phạm vi dòng và siêu dữ liệu
  • [edges]: Các mối quan hệ như contains, calls, inherits, hoặc returns

Bây giờ bạn đã chạy phân tích đầu tiên: