목적: 처음 접하는 programming repository에 대한 빠른 분석
Tool 들의 사용 이유:
- NotebookLM : 자료 정리 및 질문에 대한 AI
- pyragify : 프로젝트를 NotebookLM에서 분석이 가능하도록 하나의 .txt 파일 도출
추가설명 - .py 등의 파일 포맷이 NotebookLM에 사용이 불가능
-> 프로젝트 코드들을 하나의 .txt 파일로 변환
사용 예제
1. pyragify를 사용한 코드 추출 .txt 생성
* 출처: pypi - https://pypi.org/project/pyragify/
1) 설치
* 설치하는 위치는, global하게 해도 되고, 가상환경에 설치해도 되며,
추출할 프로젝트의 경로를 받아서 진행하기 때문에, 특정 프로젝트 내에 설치되어야 하는 것은 아님
* uv 사용 권장
pip install uv
uv pip install pyragify
2) config.yaml 파일 설정
- 분석할 프로젝트 디렉토리 경로, 추출할 코드 파일, 추출 제외할 코드 파일, 사이즈 등을 설정 (아래 예시 파일 수정하여 사용)
repo_path: /path/to/repository
output_dir: /path/to/output
max_words: 200000
max_file_size: 10485760 # 10 MB
skip_patterns:
- "*.log"
- "*.tmp"
skip_dirs:
- "__pycache__"
- "node_modules"
verbose: false
3) 코드 추출
uv run python -m pyragify --config-file config.yaml
- remaing/chunk_0.txt, hashes.json, metadata.json 파일 생성됨
-> remaing/chunk_0.txt를 사용
2. NotebookLM을 통한 분석
- 1에서 생성한 .txt 파일을 노트북 LM에 업로드하여 분석하여 사용
* 사용 예시 repository: https://github.com/Junanjunan/pyragify