폴더 구조와 코드들을 하나의 txt 파일에 작성해주는 도구
Project description
pagr (Project Aggregator) 📄➡️📦
pagr는 프로젝트의 디렉토리 구조와 선택된 파일들의 내용을 하나의 텍스트 파일로 깔끔하게 취합해주는 명령줄 도구입니다. ChatGPT와 같은 AI 모델에게 프로젝트 전체 컨텍스트를 효율적으로 전달해야 할 때 유용하게 사용할 수 있습니다.
run(기본 모드):.gitignore와.pagrignore에 명시된 파일을 제외하고 프로젝트를 취합합니다. (블랙리스트 방식)run-only(지정 모드):.pagronly에 명시된 파일만을 대상으로 취합합니다. (화이트리스트 방식)
🚀 설치 (Installation)
pipx를 사용하여 pagr를 설치하는 것을 강력히 권장합니다. pipx는 CLI 도구를 시스템의 다른 라이브러리와 격리된 환경에 설치하고 실행해주어, 파이썬 환경의 충돌을 방지합니다.
-
pipx설치 (아직 없다면):# pip를 통해 pipx 설치 pip install --user pipx # PATH 환경변수에 pipx 경로 추가 (필요시) python -m pipx ensurepath
(설치 후 터미널을 재시작해야 할 수도 있습니다.)
-
pagr설치 (via pipx):pipx install project-aggregator
이제 터미널 어디서든
pagr명령어를 사용할 수 있습니다! 🎉
💡 사용법 (Usage)
1. 지정 파일만 취합 (run-only)
.pagronly 파일에 명시된 패턴과 일치하는 파일들만 취합합니다. 특정 파일들만 골라 AI에게 전달하고 싶을 때 가장 추천하는 방식입니다.
-
포함 규칙 정의 (
pagr only):# .pagronly 파일을 생성하고 편집기로 엽니다. pagr only
열린
.pagronly파일에src/,README.md와 같이 취합하고 싶은 파일/폴더 패턴을 추가하고 저장하세요. -
run-only실행:# .pagronly 규칙에 따라 파일들을 취합합니다. pagr run-only # 결과를 특정 파일에 저장하고 싶다면: pagr run-only --output my_project.txt # 특정 루트 디렉토리를 기준으로 실행하고 싶다면: pagr run-only --root /path/to/project
2. 제외 방식으로 전체 취합 (run)
.gitignore와 .pagrignore 파일의 규칙을 제외한 모든 파일을 취합합니다. 프로젝트의 거의 모든 내용을 전달하고 싶을 때 사용합니다.
# 현재 디렉토리의 모든 파일(무시 규칙 제외) 취합
pagr run
# 결과를 특정 파일에 저장
pagr run --output full_project.txt
또한 run 명령어에 직접 파일/폴더 패턴을 인자로 전달하여 대상을 한정할 수도 있습니다.
# 'src' 폴더와 최상위의 모든 '.py' 파일만 대상으로 취합 (무시 규칙은 여전히 적용됨)
pagr run src "**/*.py"
3. 미리보기 (preview, preview-only)
파일을 실제로 생성하지 않고 어떤 파일들이 취합될지 목록을 미리 확인합니다.
# run-only 명령어가 어떤 파일을 포함할지 미리보기
pagr preview-only
# run 명령어가 어떤 파일을 포함할지 미리보기
pagr preview
# run 명령어에 패턴을 줬을 때의 결과 미리보기
pagr preview "src/**/*.py"
4. 설정 파일 편집
# 포함 규칙(.pagronly) 편집 (run-only 명령어용)
pagr only
# 무시 규칙(.pagrignore) 편집 (모든 명령어에 적용)
pagr ignore
ℹ️ 기타 명령어
# 버전 확인
pagr --version
# 전체 도움말 보기
pagr --help
# 특정 명령어의 도움말 보기
pagr run-only --help
pagr run --help
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file project_aggregator-0.2.0.tar.gz.
File metadata
- Download URL: project_aggregator-0.2.0.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.12.7 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c57ee66ba73f1912711ec458ddebe08bd6e9cff9df167428da2a96db0034a30
|
|
| MD5 |
4983ed6262c8cfc0e411dba2b75db1e9
|
|
| BLAKE2b-256 |
bb1430ab81695962de05f6c394cffbc9706e87016076e07bface194de3164424
|
File details
Details for the file project_aggregator-0.2.0-py3-none-any.whl.
File metadata
- Download URL: project_aggregator-0.2.0-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.12.7 Windows/11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20dc291cd95eaa306c877f90407cd06ae9954962cacd3f81833b611fbe6cb790
|
|
| MD5 |
a20b74e76613eb88ee349caf0a96659a
|
|
| BLAKE2b-256 |
677e0f887ce3fcc4b34892d473522c1b39993fe72f6ba323606cb5c8145021e5
|