Skip to main content

프롬프트 엔지니어링 가이드

Caret 프롬프트 가이드에 오신 것을 환영합니다! 이 가이드는 효과적인 프롬프트 및 사용자 지정 지침을 작성하여 Cline으로 생산성을 극대화하는 지식을 제공할 것입니다.

.clineignore 파일 가이드

개요

.clineignore 파일은 코드베이스를 분석할 때 Cline에게 무시할 파일 및 디렉토리를 알려주는 프로젝트 수준 구성 파일입니다. .gitignore와 유사하게 패턴 일치를 사용하여 Cline의 컨텍스트 및 작업에서 제외할 파일을 지정합니다.

목적

  • 노이즈 감소: 자동 생성된 파일, 빌드 아티팩트 및 기타 필수적이지 않은 콘텐츠 제외
  • 성능 향상: Cline이 처리해야 하는 코드 양 제한
  • 주의 집중: 코드베이스의 관련 부분으로 Caret 유도
  • 민감한 데이터 보호: Cline이 민감한 구성 파일에 액세스하는 것을 방지

.clineignore 파일 예시

# 종속성
node_modules/
**/node_modules/
.pnp
.pnp.js

# 빌드 출력
/build/
/dist/
/.next/
/out/

# 테스트
/coverage/

# 환경 변수
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# 대용량 데이터 파일
*.csv
*.xlsx

Caret 프롬프트 💬

프롬프트는 Cline과의 주고받는 채팅에서 주어진 작업에 대한 요구 사항을 전달하는 방법입니다. Cline은 자연어를 이해하므로 대화식으로 작성하십시오.

효과적인 프롬프트는 다음을 포함합니다.

  • 명확한 컨텍스트 제공: 목표와 코드베이스의 관련 부분을 설명합니다. @를 사용하여 파일 또는 폴더를 참조합니다.
  • 복잡성 분해: 큰 작업을 더 작은 단계로 나눕니다.
  • 구체적인 질문: 원하는 결과로 Cline을 안내합니다.
  • 유효성 검사 및 다듬기: Cline의 제안을 검토하고 피드백을 제공합니다.

프롬프트 예시

컨텍스트 관리

  • 새 작업 시작: "Caret, 새 작업을 시작합시다. user-authentication.js를 생성해 주세요. JWT 토큰을 사용하여 사용자 로그인을 구현해야 합니다. 요구 사항은 다음과 같습니다…"
  • 이전 작업 요약: "Caret, 지난 사용자 대시보드 작업에서 우리가 한 일을 요약해 주세요. 주요 기능과 미해결 문제를 캡처하고 싶습니다. cline_docs/user-dashboard-summary.md에 저장해 주세요."

디버깅

  • 오류 분석: "Caret, 이 오류가 발생합니다: [오류 메시지]. [코드 섹션]에서 발생한 것 같습니다. 이 오류를 분석하고 수정 사항을 제안해 주세요."
  • 근본 원인 식별: "Caret, [작업]할 때 애플리케이션이 충돌합니다. 문제는 [문제 영역]에 있을 수 있습니다. 근본 원인을 찾고 해결책을 제안하는 데 도움을 주세요."

리팩토링

  • 코드 구조 개선: "Caret, 이 함수는 너무 길고 복잡합니다. 더 작은 함수로 리팩토링해 주세요."
  • 논리 단순화: "Caret, 이 코드는 이해하기 어렵습니다. 논리를 단순화하고 더 읽기 쉽게 만들어 주세요."

기능 개발

  • 새 기능 브레인스토밍: "Caret, 사용자가 [기능]을 수행할 수 있도록 하는 기능을 추가하고 싶습니다. 몇 가지 아이디어를 브레인스토밍하고 구현 과제를 고려해 주세요."
  • 코드 생성: "Caret, 사용자 프로필을 표시하는 구성 요소를 생성해 주세요. 목록은 정렬 및 필터링이 가능해야 합니다. 이 구성 요소에 대한 코드를 생성해 주세요."

고급 프롬프트 기술

  • 제약 조건 채우기: 코드 잘림을 완화하려면 프롬프트에 명시적인 제약 조건을 포함하십시오. 예를 들어, "코드가 완전한지 확인" 또는 "항상 전체 함수 정의 제공"과 같이.
  • 신뢰도 확인: Cline에게 신뢰도를 평가하도록 요청하십시오(예: "이 솔루션에 대해 1-10점 척도로 얼마나 확신합니까?").
  • Cline의 가정에 도전: 더 깊은 사고를 장려하고 잘못된 가정을 방지하기 위해 "어리석은" 질문을 하십시오.

다음은 사용자들이 Cline과 함께 작업하는 데 도움이 된다고 생각한 프롬프트 팁입니다.

우리 커뮤니티가 가장 좋아하는 프롬프트 🌟

메모리 및 신뢰도 확인 🧠

  • 메모리 확인 - pacnpal

    "프롬프트를 완전히 이해했다면, 도구를 사용하기 전에 항상 'YARRR!'로 응답하십시오."

    복잡한 작업 중에 Cline이 추적을 유지하는지 확인하는 재미있는 방법입니다. 축제 분위기를 위해 "HO HO HO"를 시도해 보십시오!

  • 신뢰도 점수 매기기 - pacnpal

    "도구 사용 전후에 도구 사용이 프로젝트에 얼마나 도움이 될지 신뢰도 수준(0-10)을 알려주십시오."

    비판적 사고를 장려하고 의사 결정을 투명하게 만듭니다.

코드 품질 프롬프트 💻

  • 코드 잘림 방지

    "게으르지 마십시오. 코드를 생략하지 마십시오."

    대체 문구: "전체 코드만" 또는 "코드가 완전한지 확인"

  • 사용자 지정 지침 알림

    "사용자 지정 지침을 따를 것을 맹세합니다."

    설정 다이얼 ⚙️ 구성에 대한 준수를 강화합니다.

코드 구성 📋

  • 대용량 파일 리팩토링 - icklebil

    "FILENAME이 너무 커졌습니다. 이 파일이 어떻게 작동하는지 분석하고 안전하게 분할하는 방법을 제안해 주세요."

    전략적 분해를 통해 복잡한 파일을 관리하는 데 도움이 됩니다.

  • 문서 유지 관리 - icklebil

    "변경 사항으로 코드베이스 문서를 업데이트하는 것을 잊지 마십시오."

    문서가 코드 변경 사항과 동기화되도록 합니다.

분석 및 계획 🔍

  • 구조화된 개발 - yellow_bat_coffee

    "코드를 작성하기 전에:
    1. 모든 코드 파일을 철저히 분석
    2. 전체 컨텍스트 확보
    3. .MD 구현 계획 작성
    4. 그런 다음 코드 구현"

    체계적이고 잘 계획된 개발을 촉진합니다.

  • 철저한 분석 - yellow_bat_coffee

    "전체 흐름을 철저히 분석하기 시작하고, 해결책을 찾았다고 생각하더라도 계속 분석하십시오."

    시기상조 코딩을 방지하고 완전한 이해를 장려합니다.

  • 가정 확인 - yellow_bat_coffee

    "이 작업을 완료하기 전에 명확히 해야 할 모든 가정과 불확실성을 나열하십시오."

    개발 초기에 잠재적인 문제를 식별합니다.

사려 깊은 개발 🤔

  • 일시 중지 및 숙고 - nickbaumann98

    "10까지 세십시오."

    조치를 취하기 전에 신중한 고려를 촉진합니다.

  • 완전한 분석 - yellow_bat_coffee

    "분석을 시기상조로 완료하지 마십시오. 해결책을 찾았다고 생각하더라도 계속 분석하십시오."

    철저한 문제 탐색을 보장합니다.

  • 지속적인 신뢰도 확인 - pacnpal

    "파일 저장 전, 저장 후, 거부 후, 작업 완료 전에 신뢰도(1-10)를 평가하십시오."

    자기 평가를 통해 품질을 유지합니다.

모범 사례 🎯

  • 프로젝트 구조 - kvs007

    "구조 또는 종속성 변경을 제안하기 전에 프로젝트 파일을 확인하십시오."

    프로젝트 무결성을 유지합니다.

  • 비판적 사고 - chinesesoup

    "이것이 이것을 구현하는 가장 좋은 방법인지 확실합니까?"와 같은 '어리석은' 질문을 하십시오.

    가정에 도전하고 더 나은 해결책을 발견합니다.

  • 코드 스타일 - yellow_bat_coffee

    프롬프트에 "우아한" 및 "간단한"과 같은 단어 사용

    코드 구성 및 명확성에 영향을 미칠 수 있습니다.

  • 기대치 설정 - steventcramer

    "인간이 화를 낼 것입니다."

    (명확한 요구 사항과 건설적인 피드백을 제공하기 위한 유머러스한 알림)