Promptr: 자연어로 코드베이스 변경을 지시하는 CLI 도구
요약
Promptr는 일반 영어 지시사항을 사용하여 OpenAI LLM에게 코드베이스 변경을 요청하고, 그 결과를 지정된 파일에 직접 적용하는 CLI 도구입니다. 사용자는 프롬프트와 관련 파일을 준비한 후 Promptr를 실행하여 효율적인 개발 워크플로우를 구축할 수 있습니다. 또한 liquidjs 템플릿팅 기능을 지원하여 재사용성과 일관성을 높였습니다.
핵심 포인트
- 자연어 지시로 코드베이스 변경 요청 및 적용이 가능합니다.
- CLI 도구 형태로, 프롬프트와 파일을 지정하여 사용합니다.
- liquidjs 템플릿팅을 통해 프롬프트의 재사용성과 표준화가 용이합니다.
- 개발 워크플로우를 개선하고 일관된 코딩 표준 유지가 가능합니다.
Promptr
Promptr는 일반 영어(plain English)를 사용하여 OpenAI LLM 모델에게 코드베이스에 변경 사항을 요청하고, 이 변경 사항을 프롬프트에서 참조한 파일에 직접 적용할 수 있게 해주는 CLI 도구입니다.
<br /><br />
사용법
promptr [옵션] -p "지시사항" <file1> <file2> <file3> ...
<br />
제가 발견한 좋은 워크플로우는 다음과 같습니다:
- 어떤 변경 사항이든 커밋하여 깨끗한 작업 영역을 유지합니다.
- 프롬프트를 파일로 작성합니다. 이 프롬프트는 구체적이고 명확한 지시사항이어야 합니다.
- 프롬프트에 지시사항과 관련된 모든 파일의 상대 경로가 포함되어 있는지 확인합니다.
- Promptr를 사용하여 프롬프트를 실행합니다.
-p옵션을 사용하여 프롬프트 파일의 경로를 제공합니다:
promptr -p my_prompt.txt
Promptr는 모델이 생성한 코드를 직접 사용자의 파일에 적용합니다. 결과를 검사하기 위해 좋아하는 git UI를 사용하세요.
<br /><br />
<br />
<br />
예시
아래의 PR들은 Promptr를 사용하여 달성할 수 있는 좋은 예시들입니다. 개별 커밋과 이를 생성한 프롬프트에 대한 링크는 PR 설명에서 찾을 수 있습니다.
- https://github.com/ferrislucas/promptr/pull/38
- https://github.com/ferrislucas/promptr/pull/41
<br /><br />
템플릿팅 (Templating)
Promptr는 liquidjs를 사용하여 템플릿팅을 지원하며, 이를 통해 사용자는 프롬프트 파일 내에 템플릿팅 명령어를 포함할 수 있습니다. 이 기능은 특히 반복적인 패턴이나 표준이 있는 대규모 프로젝트에서 프롬프트의 유연성과 재사용성을 향상시킵니다.
Includes 사용하기
프로젝트는 하나 이상의
프롬프트 파일에서 liquidjs의 render 함수를 사용하여 작업 중인 프롬프트 파일에 이 include 파일을 포함할 수 있습니다:
{% render '_project.liquid' %}
// 여기에 프롬프트를 작성합니다
이 접근 방식은 여러 프로젝트 또는 동일한 프로젝트의 다른 부분에서 공유될 수 있는 재사용 가능한 include 파일 개발을 가능하게 합니다.
사용 사례 예시
-
프로젝트 전체 코딩 표준: 코딩 표준을 설명하는 주석이 포함된 include 파일을 작성하고, 이를 프로젝트의 모든 새 코드 파일에 포함합니다.
-
보일러플레이트 코드: 애플리케이션의 다양한 부분(예: 모델 정의, API 엔드포인트)에 대한 보일러플레이트 코드 스니펫 세트를 개발하고 필요할 때마다 포함합니다.
-
공유 지침: 특정 작업을 위한 일련의 지침이나 가이드라인(예: 함수 문서화 방법)을 유지하고 이를 관련 프롬프트 파일에 포함합니다.
템플릿팅 기능을 활용함으로써, 프롬프트 엔지니어는 중복성을 크게 줄이고 프롬프트 생성 시 일관성을 보장하여 코드베이스 수정의 효율성과 표준화를 높일 수 있습니다.
<br /><br />
옵션
| 옵션 | 설명 |
|---|---|
-p, --prompt <prompt> | 비대화형 모드에서 사용할 프롬프트를 지정합니다. 경로 또는 URL도 지정할 수 있으며, 이 경우 지정된 경로 또는 URL의 내용이 프롬프트로 사용됩니다. 프롬프트는 liquidjs 템플릿팅 시스템을 활용할 수 있습니다. |
| ... | |
| 추가 매개변수는 프롬프트에 컨텍스트로 포함될 파일의 경로를 지정할 수 있습니다. 이 매개변수들은 공백으로 구분해야 합니다. |
설치
yarn 사용 시
yarn global add @ifnotnowwhen/promptr
npm 사용 시
npm install -g @ifnotnowwhen/promptr
릴리스 바이너리 사용
현재 릴리스의 바이너리를 경로(path)에 복사하여 Promptr를 설치할 수 있습니다. 현재는 MacOS만 지원됩니다.
OpenAI API 키 설정
OPENAI_API_KEY라는 환경 변수에 OpenAI API 비밀 키가 포함되어 있어야 합니다.
PKG를 사용한 바이너리 빌드
npm run bundle
npm run build:<platform win|macos|linux>
npm run test-binary
라이선스
Promptr는 MIT License 하에 공개되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기