클로드 코드 기본 인터페이스 이해하기

  • 클로드 코드 초기화
    • /init 명령어: 프로젝트를 분석해 CLAUDE.md 파일을 생성한다.
      • 프로젝트 오버뷰, UI 구조, 아키텍처 등 프로젝트를 이해하기 위한 필수 정보들이 작성되어 있다.
  • 자주 사용하는 클로드 단축키
단축키설명
Ctrl + C현재 입력이나 클로드의 생성 중인 아웃풋을 중단한다.
Ctrl + D클로드 코드 세션을 종료한다.
Ctrl + L클로드 코드와의 대화는 유지하며 사용자 대화창의 입력을 전부 삭제한다.
위/아래 방향키기존에 실행했던 메시지를 조회한다.
Esc + Esc직전 메시지로 회귀한다. 해당 메시지를 보내기 직전으로 클로드와의 대화를 포크하는 효과가 있다.
\ + Enter메시지 창에서 줄바꿈을 한다. 모든 터미널에서 사용할 수 있다.
Option + Enter메시지 창에서 줄바꿈을 한다. macOS 기본 세팅이다.
Shift + Enter/terminal-setup 명령어를 실행한 후 Shift + enter를 사용해서 줄바꿈한다.
#[메시지]CLAUDE.md에 빠르게 기억해야 할 요소를 추가하는 명령어
/[명령어]슬래시 명령어를 실행한다.

슬래시 명령어 제대로 알아보기

  • /model
    • 사용할 모델 설정
    • Default 옵션: Opus 모델을 쓰다가 사용량이 넘으면 자동으로 Sonnet으로 바꿔서 비용 절약
  • /compact
    • 지금까지의 대화 내용을 요약해서 중요한 내용만 콘텍스트로 남김
    • 컨텍스트 윈도우 크기는 200K
    • 다음 요청이 지금까지 요청과 현저히 다르거나 현재까지의 중요한 내용이 잘 기억되면 좋을 것 같을 때 직접 /compact 명령어를 실행하는 것을 추천
    • 콘텍스트 윈도우가 다 차서 Auto Compact가 되면 콘텍스트 요약이 잘 안될 수 있음
  • /config
    • 클로드 코드 전반적인 설정 변경
    • Auto-compactg: 콘텍스트 윈도우가 꽉 찼을 때 자동으로 /compact를 실행할지 여부(true 추천)
    • Use todo list: 클로드 코드가 긴 작업을 구현할 때 작업 순서를 Todo 리스트로 마늘고 사용장게 보여줄지 여부
    • Verbose output: 출력 결과를 길게 보여줄지 여부
    • Theme: 다크, 라이트 모드
    • Editor mode: normal 모드와 vim 모드
    • Model: 사용할 모델
  • /permissions
    • 클로드 코드가 자동으로 실행할 수 있는 기능을 정리해두는 기능
    • 설정은 프로젝트 단위로 할지 전역적으로 할지 선택할 수 있다.
    • 프로젝트 단위 권한은 .claude/settings.local.json에 생성되며, 전역은 ~/.claude/settings.json에 생성된다.
  • /memory
    • CLAUDE.md 파일을 메모리라고 부른다.
    • 메모리도 프로젝트 단위와 전역으로 설정할 수 있다.
    • 프로젝트 단위는 CLAUDE.md, 전역은 ~/.claude/CLAUDE.md
  • /mcp
    • 연결한 MCP를 관리하고 관련 명령어를 실행할 수 있다.

CLAUDE.md 파일에 대한 모든 것

  • 클로드 코드가 CLAUDE.md파일을 읽어서 프로젝트의 아키텍처, 코딩 규칙, 작업 절차 등을 깊이 있게 파악한다.
  • 클로드 코드의 콘텍스트 윈도우 크기는 200K가 최대이므로 CLAUDE.md 파일이 너무 크면 실질적인 문제 해결에 쓸 콘텍스트 윈도우를 손해볼 수 있다.
  • CLAUDE.md에 작성하면 좋은 것들
    • 자주 사용하는 bash 명령어
    • 핵심 파일 및 유틸리티 함수
    • 코드 스타일 가이드라인
    • 테스트 지침
    • 저장소 에티켓
      • 예: 브랜치 이름, merge, rebase 등
    • 개발자 환겅 설정
      • pyenv 사용, 작동하는 컴파일러 등
    • 프로젝트에 특정한 예상치 못한 동작이나 경고
    • 클로드 코드가 기억했으면 하는 기타 정보
    • 일괄적으로 사용하고 싶은 라이브러리에 대한 정보
    • 아키텍처에 대한 정보
  • CLAUDE.md 파일 종류 3가지
    • 프로젝트 메모리(.CLAUDE.md)
      • 프로젝트 루트에 위치하며 팀 전체에 적용할 규칙과 정보를 담는다
      • 프로젝트 아키텍처, 코딩 표준, 일반적인 워크플로 등
    • 로컬 프로젝트 메모리(./claude.local.md)
      • 팀과 공유하지 않으며 개인적인 프로젝트 관련 설정 파일
      • 이 파일은 보통 .gitignore에 추가한다.
      • 샌드박스 URL, 개인 API 키 또는 테스트 데이터, 자신에게 유용한 맞춤형 명령어 등
    • 사용자 메모리(~/.claude/CLAUDE.md)
      • 모든 프로젝트에 적용되는 전역 설정
        • 일반적인 코드 스타일 선호도, 개인 도구를 위한 단축키 등
  • CLAUDE.md 파일 관리 노하우
    • 클로드 코드를 쓰면서 바로 수정하기
    • 클로드 코드에게 주기적으로 관리하라고 하기
      • 지금까지의 대화를 기반으로 CLAUDE.md에 추가할 만한 내용을 추천해줘
    • 클로드 코드에게 파일을 정리하라고 하기
      • CLAUDE.md 파일이 너무 커지고 있는 것 같아. 프로젝트를 전반적으로 다시 이해하고 CLAUDE.md에 필요없는 내용은 삭제하고 과도한 내용은 축소하고 싶어. 수정된 내용을 추천해줘.
  • 클로드 코드는 현재 프로젝트 위치에서 시작해 루트 디렉터리까지 거슬러 올라가며 발견하는 모든 CLAUDE.md 또는 CLAUDE.local.md 파일을 읽는다.
    • 이런 재귀적인 특성 덕분에 큰 프로젝트를 관리할 때 유용하다.
    • 예: /abc/123 구조의 프로젝트가 있을 때, 123 프로젝트에서 클로드 코드를 실행하면 abc 폴더의 CLAUDE.md 파일까지 모두 읽는다.
    • 이렇게 해서 현재 프로젝트에 필요한 정보만 읽도록 해서 콘텍스트를 낭비하지 않도록 구성할 수 있다.
  • CLAUDE.md 파일은 커밋하는 것이 좋다. 파일을 함께 관리해야 생산성을 증진시킬 수 있다.

클로드 코드의 3가지 모드 알아보기

일반 모드

  • 유용한 상황
    • 새 라이브러리나 프레임워크를 도입하며너 기본 사용법을 익힐 때
    • 특정 로직을 구현하기 위한 다양한 알고리즘 아이디어를 얻고 싶을 때
    • 발생한 오류 메시지의 의미를 정확히 이해하고 싶을 때
    • 코드 리뷰 전 자신의 코드에 대한 제3자의 의견을 구하고 싶을 때
    • 아직 클로드 코드를 신뢰하지 못하여 하나씩 내가 컨트롤하고 싶을 때

자동 수정 모드

  • 사용자에게 허락받지 않고 직접 코드를 수정한다.
  • 콘텍스트 위도우 제한을 넘기면 클로드 코드는 흐름을 잃기 때문에 조심히 사용해야 한다.
    • 프로젝트 전반에 걸쳐 사용한 변수명, 함수명, 클래스명을 일괄 변경할 때
    • 기존 코드를 최신 패턴이나 스타일 가이드에 맞도록 리팩터링할 때
    • JSDoc 등 문서 작업을 할 때
    • 단순한 작업을 반복해서 해야 할 때
    • 테스트 코드를 작성해야 할 때
  • 테스트 코드는 아무리 방대하더라도 프로젝트를 망치거나 하지 않으므로 자동 수정 모드와 궁합이 좋다.

플래닝 모드

  • 핵심 기능
  • 무언가 막연히 구현해야 할 기능이 있을 때 사용하면 좋다.
  • 첫 번째 플랜에서는 yes를 바로 선택하지 않는 것이 좋다.

Opus와 Sonnet의 공통점과 차이점

공통점

  • 하이브리드 추론 모드
  • 병렬 도구 사용
  • 향상된 지시 따르기 및 메모리
  • 200K 토큰 콘텍스트 창

선택 기준

  • 계획은 Opus, 빠른 코드 작성은 Sonnet
  • 작업 시간
  • 동시 실행하는 에이전트 기준