콘텐츠로 이동

시작하기

5분 이내에 codeknit을 시작하고 실행하세요.

다음과 같은 항목이 필요합니다:

  • Go 1.26+
  • C 컴파일러 (tree-sitter를 위해 CGo가 필요합니다)
Terminal window
git clone https://github.com/awslabs/codeknit.git
cd codeknit
make build
# 바이너리는 ./bin/codeknit에 있습니다

바이너리를 셸의 PATH에 추가하세요:

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

변경 사항을 적용하려면 셸을 다시 로드하거나 source ~/.bashrc (또는 ~/.zshrc)를 실행하세요.

codeknit이 작동하는지 확인하세요:

Terminal window
codeknit --version

코드베이스에서 첫 번째 파싱을 실행하세요:

Terminal window
codeknit parse ./myproject

이 명령은 다음을 수행합니다:

  • ./myproject 내의 모든 소스 파일을 파싱합니다
  • 구조적 정보(함수, 클래스, 관계)를 추출합니다
  • 청크된 .skt 파일을 ./skeleton/(기본 출력 디렉터리)에 작성합니다

이 명령을 다시 실행할 경우, 이전 출력을 제거하려면 --clean을 사용하세요:

Terminal window
codeknit parse ./myproject --clean

.skt 파일은 구조화된 코드 정보를 포함합니다. 다음은 작은 예시입니다:

[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

주요 섹션:

  • [symbols]: 파일별로 그룹화된 정의로, 이름, 행 범위 및 메타데이터를 표시합니다
  • [edges]: contains, calls, inherits, returns와 같은 관계

이제 첫 번째 파싱을 실행했으므로 다음을 진행하세요: