SpyBara
Go Premium

common-workflows.md 2026-05-02 18:14 UTC to 2026-05-04 22:58 UTC

1030 added, 0 removed.

2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

일반적인 워크플로우

Claude Code를 사용하여 코드베이스 탐색, 버그 수정, 리팩토링, 테스트 및 기타 일상적인 작업을 위한 단계별 가이드입니다.

이 페이지는 일상적인 개발을 위한 실용적인 워크플로우를 다룹니다: 낯선 코드 탐색, 디버깅, 리팩토링, 테스트 작성, PR 생성 및 세션 관리. 각 섹션에는 자신의 프로젝트에 맞게 조정할 수 있는 예제 프롬프트가 포함되어 있습니다. 더 높은 수준의 패턴과 팁은 모범 사례를 참조하십시오.

새로운 코드베이스 이해하기

코드베이스의 빠른 개요 얻기

새로운 프로젝트에 방금 참여했고 그 구조를 빠르게 이해해야 한다고 가정해봅시다.

1

프로젝트 루트 디렉토리로 이동

cd /path/to/project 
2

Claude Code 시작

claude 
3

높은 수준의 개요 요청

give me an overview of this codebase
4

특정 구성 요소에 대해 더 깊이 있게 살펴보기

explain the main architecture patterns used here
what are the key data models?
how is authentication handled?

관련 코드 찾기

특정 기능이나 기능과 관련된 코드를 찾아야 한다고 가정해봅시다.

1

Claude에게 관련 파일을 찾도록 요청

find the files that handle user authentication
2

구성 요소가 어떻게 상호작용하는지에 대한 컨텍스트 얻기

how do these authentication files work together?
3

실행 흐름 이해하기

trace the login process from front-end to database

효율적으로 버그 수정하기

오류 메시지가 나타났고 그 원인을 찾아 수정해야 한다고 가정해봅시다.

1

Claude와 오류 공유하기

I'm seeing an error when I run npm test
2

수정 권장사항 요청하기

suggest a few ways to fix the @ts-ignore in user.ts
3

수정 적용하기

update user.ts to add the null check you suggested

코드 리팩토링

오래된 코드를 최신 패턴과 관행을 사용하도록 업데이트해야 한다고 가정해봅시다.

1

리팩토링할 레거시 코드 식별

find deprecated API usage in our codebase
2

리팩토링 권장사항 얻기

suggest how to refactor utils.js to use modern JavaScript features
3

안전하게 변경사항 적용하기

refactor utils.js to use ES2024 features while maintaining the same behavior
4

리팩토링 검증하기

run tests for the refactored code

특화된 subagent 사용하기

특정 작업을 더 효과적으로 처리하기 위해 특화된 AI subagent를 사용하고 싶다고 가정해봅시다.

1

사용 가능한 subagent 보기

/agents

이것은 모든 사용 가능한 subagent를 표시하고 새로운 것을 만들 수 있게 해줍니다.

2

자동으로 subagent 사용하기

Claude Code는 자동으로 특정 작업을 특화된 subagent에게 위임합니다:

review my recent code changes for security issues
run all tests and fix any failures
3

명시적으로 특정 subagent 요청하기

use the code-reviewer subagent to check the auth module
have the debugger subagent investigate why users can't log in
4

워크플로우를 위한 사용자 정의 subagent 만들기

/agents

그런 다음 "Create New subagent"를 선택하고 프롬프트를 따라 다음을 정의합니다:

  • subagent의 목적을 설명하는 고유 식별자 (예: code-reviewer, api-designer).
  • Claude가 이 에이전트를 사용해야 할 때
  • 액세스할 수 있는 도구
  • 에이전트의 역할과 동작을 설명하는 시스템 프롬프트

Plan Mode를 사용하여 안전한 코드 분석

Plan Mode는 Claude에게 읽기 전용 작업으로 코드베이스를 분석하여 계획을 세우도록 지시하며, 코드베이스 탐색, 복잡한 변경 계획 또는 코드 안전한 검토에 완벽합니다. Plan Mode에서 Claude는 AskUserQuestion을 사용하여 계획을 제안하기 전에 요구사항을 수집하고 목표를 명확히 합니다.

Plan Mode를 사용할 때

  • 다단계 구현: 기능이 많은 파일을 편집해야 할 때
  • 코드 탐색: 무엇이든 변경하기 전에 코드베이스를 철저히 조사하고 싶을 때
  • 대화형 개발: Claude와 방향을 반복하고 싶을 때

Plan Mode 사용 방법

세션 중에 Plan Mode 켜기

Shift+Tab을 사용하여 세션 중에 Plan Mode로 전환할 수 있습니다.

Normal Mode에 있으면 Shift+Tab은 먼저 Auto-Accept Mode로 전환되며, 터미널 하단에 ⏵⏵ accept edits on으로 표시됩니다. 그 다음 Shift+Tab은 Plan Mode로 전환되며, ⏸ plan mode on으로 표시됩니다.

Plan Mode에서 새 세션 시작하기

Plan Mode에서 새 세션을 시작하려면 --permission-mode plan 플래그를 사용합니다:

claude --permission-mode plan

Plan Mode에서 "헤드리스" 쿼리 실행하기

-p를 사용하여 Plan Mode에서 직접 쿼리를 실행할 수도 있습니다 (즉, "헤드리스 모드"에서):

claude --permission-mode plan -p "Analyze the authentication system and suggest improvements"

예제: 복잡한 리팩토링 계획하기

claude --permission-mode plan
I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.

Claude는 현재 구현을 분석하고 포괄적인 계획을 만듭니다. 후속 질문으로 정제합니다:

What about backward compatibility?
How should we handle database migration?

계획을 수락하면 Claude는 계획 콘텐츠에서 자동으로 세션 이름을 지정합니다. 이름은 프롬프트 바와 세션 선택기에 나타납니다. 이미 --name 또는 /rename으로 이름을 설정한 경우 계획을 수락해도 덮어쓰지 않습니다.

Plan Mode를 기본값으로 구성하기

// .claude/settings.json
{
  "permissions": {
    "defaultMode": "plan"
  }
}

더 많은 구성 옵션은 설정 문서를 참조하십시오.


테스트 작업하기

적용되지 않은 코드에 대한 테스트를 추가해야 한다고 가정해봅시다.

1

테스트되지 않은 코드 식별

find functions in NotificationsService.swift that are not covered by tests
2

테스트 스캐폴딩 생성

add tests for the notification service
3

의미 있는 테스트 케이스 추가

add test cases for edge conditions in the notification service
4

테스트 실행 및 검증

run the new tests and fix any failures

Claude는 프로젝트의 기존 패턴과 규칙을 따르는 테스트를 생성할 수 있습니다. 테스트를 요청할 때 검증하려는 동작에 대해 구체적으로 설명하십시오. Claude는 기존 테스트 파일을 검토하여 이미 사용 중인 스타일, 프레임워크 및 어설션 패턴을 일치시킵니다.

포괄적인 적용 범위를 위해 Claude에게 놓쳤을 수 있는 엣지 케이스를 식별하도록 요청하십시오. Claude는 코드 경로를 분석하고 오류 조건, 경계값 및 쉽게 간과할 수 있는 예상치 못한 입력에 대한 테스트를 제안할 수 있습니다.


풀 요청 만들기

Claude에게 직접 풀 요청을 만들도록 요청하거나 ("create a pr for my changes"), 단계별로 Claude를 안내할 수 있습니다:

1

변경사항 요약하기

summarize the changes I've made to the authentication module
2

풀 요청 생성하기

create a pr
3

검토 및 정제하기

enhance the PR description with more context about the security improvements

gh pr create를 사용하여 PR을 만들면 세션이 자동으로 해당 PR에 연결됩니다. 나중에 claude --from-pr <number>로 재개할 수 있습니다.

문서 처리하기

코드에 대한 문서를 추가하거나 업데이트해야 한다고 가정해봅시다.

1

문서화되지 않은 코드 식별

find functions without proper JSDoc comments in the auth module
2

문서 생성하기

add JSDoc comments to the undocumented functions in auth.js
3

검토 및 개선하기

improve the generated documentation with more context and examples
4

문서 검증하기

check if the documentation follows our project standards

노트 및 비코드 폴더에서 작업하기

Claude Code는 모든 디렉토리에서 작동합니다. 노트 저장소, 문서 폴더 또는 마크다운 파일의 모든 컬렉션 내에서 실행하여 코드처럼 콘텐츠를 검색, 편집 및 재구성합니다.

.claude/ 디렉토리와 CLAUDE.md는 다른 도구의 구성 디렉토리와 충돌 없이 나란히 있습니다. Claude는 각 도구 호출에서 파일을 새로 읽으므로 다른 애플리케이션에서 만든 편집을 다음에 파일을 읽을 때 봅니다.


이미지 작업하기

코드베이스에서 이미지를 작업해야 하고 Claude의 이미지 콘텐츠 분석 도움을 원한다고 가정해봅시다.

1

대화에 이미지 추가하기

다음 방법 중 하나를 사용할 수 있습니다:

  1. Claude Code 창으로 이미지를 드래그 앤 드롭하기
  2. 이미지를 복사하고 ctrl+v로 CLI에 붙여넣기 (cmd+v 사용하지 않기)
  3. Claude에 이미지 경로 제공하기. 예: "Analyze this image: /path/to/your/image.png"
2

Claude에게 이미지 분석 요청하기

What does this image show?
Describe the UI elements in this screenshot
Are there any problematic elements in this diagram?
3

컨텍스트를 위해 이미지 사용하기

Here's a screenshot of the error. What's causing it?
This is our current database schema. How should we modify it for the new feature?
4

시각적 콘텐츠에서 코드 제안 얻기

Generate CSS to match this design mockup
What HTML structure would recreate this component?

파일 및 디렉토리 참조하기

@를 사용하여 Claude가 읽을 때까지 기다리지 않고 파일이나 디렉토리를 빠르게 포함합니다.

1

단일 파일 참조하기

Explain the logic in @src/utils/auth.js

이것은 대화에 파일의 전체 내용을 포함합니다.

2

디렉토리 참조하기

What's the structure of @src/components?

이것은 파일 정보가 있는 디렉토리 목록을 제공합니다.

3

MCP 리소스 참조하기

Show me the data from @github:repos/owner/repo/issues

이것은 @server:resource 형식을 사용하여 연결된 MCP 서버에서 데이터를 가져옵니다. 자세한 내용은 MCP 리소스를 참조하십시오.


확장된 사고 사용하기 (thinking mode)

확장된 사고는 기본적으로 활성화되어 있으며, Claude가 복잡한 문제를 단계별로 추론할 수 있는 공간을 제공합니다. 이 추론은 Ctrl+O로 전환할 수 있는 자세한 모드에서 볼 수 있습니다. 확장된 사고 중에 진행 상황 힌트가 표시기 아래에 나타나 Claude가 적극적으로 작업 중임을 보여줍니다.

또한 노력을 지원하는 모델은 적응형 추론을 사용합니다: 고정된 사고 토큰 예산 대신 모델은 노력 수준 설정과 작업에 따라 동적으로 사고할지 여부와 얼마나 많이 사고할지 결정합니다. 적응형 추론을 통해 Claude는 일상적인 프롬프트에 더 빠르게 응답하고 이점을 얻을 수 있는 단계를 위해 더 깊은 사고를 예약할 수 있습니다.

확장된 사고는 복잡한 아키텍처 결정, 어려운 버그, 다단계 구현 계획 및 다양한 접근 방식 간의 트레이드오프 평가에 특히 유용합니다.

thinking mode 구성하기

사고는 기본적으로 활성화되어 있지만 조정하거나 비활성화할 수 있습니다.

범위 구성 방법 세부 정보
노력 수준 /effort 실행, /model에서 조정, 또는 CLAUDE_CODE_EFFORT_LEVEL 설정 지원되는 모델에서 사고 깊이 제어
ultrathink 키워드 프롬프트의 어디든 "ultrathink" 포함 해당 턴에 대해 더 많이 추론하도록 모델에 지시하는 컨텍스트 내 지시를 추가합니다. 노력 수준 자체를 변경하지 않습니다. 노력 수준 조정 참조
토글 단축키 Option+T (macOS) 또는 Alt+T (Windows/Linux) 누르기 현재 세션에 대해 사고 켜기/끄기 (모든 모델). 터미널 구성이 필요할 수 있습니다
전역 기본값 /config를 사용하여 thinking mode 토글 모든 프로젝트에서 기본값 설정 (모든 모델).
~/.claude/settings.jsonalwaysThinkingEnabled로 저장됩니다
토큰 예산 제한 MAX_THINKING_TOKENS 환경 변수 설정 사고 예산을 특정 토큰 수로 제한합니다. 적응형 추론이 있는 모델에서는 적응형 추론이 비활성화되지 않으면 0만 적용됩니다. 예: export MAX_THINKING_TOKENS=10000

Claude의 사고 과정을 보려면 Ctrl+O를 눌러 자세한 모드를 전환하고 회색 이탤릭 텍스트로 표시된 내부 추론을 확인하십시오.

확장된 사고 작동 방식

확장된 사고는 Claude가 응답하기 전에 수행하는 내부 추론의 양을 제어합니다. 더 많은 사고는 솔루션을 탐색하고, 엣지 케이스를 분석하고, 실수를 자체 수정할 수 있는 더 많은 공간을 제공합니다.

노력을 지원하는 모델에서 사고는 적응형 추론을 사용합니다: 모델은 선택한 노력 수준에 따라 동적으로 사고 토큰을 할당합니다. 이것은 속도와 추론 깊이 간의 트레이드오프를 조정하는 권장 방법입니다. 노력 수준이 그렇지 않으면 생성할 것보다 Claude가 더 많거나 적게 사고하기를 원하면 프롬프트나 CLAUDE.md에서 직접 그렇게 말할 수도 있습니다.

이전 모델에서 사고는 출력 할당에서 최대 31,999개 토큰의 고정 예산을 사용합니다. MAX_THINKING_TOKENS 환경 변수로 이를 제한하거나 /config 또는 Option+T/Alt+T 토글을 통해 사고를 완전히 비활성화할 수 있습니다.

적응형 추론이 있는 모델에서 MAX_THINKING_TOKENS0으로 설정하여 사고를 비활성화하거나 CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1이 모델을 고정 예산으로 되돌릴 때만 적용됩니다. CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING은 Opus 4.6 및 Sonnet 4.6에만 적용됩니다. Opus 4.7은 항상 적응형 추론을 사용하며 고정 사고 예산을 지원하지 않습니다. 환경 변수를 참조하십시오.


이전 대화 재개하기

Claude Code를 시작할 때 이전 세션을 재개할 수 있습니다:

  • claude --continue는 현재 디렉토리에서 가장 최근 대화를 계속합니다
  • claude --resume은 대화 선택기를 열거나 이름으로 재개합니다
  • claude --from-pr 123은 특정 풀 요청에 연결된 세션을 재개합니다

활성 세션 내에서 /resume을 사용하여 다른 대화로 전환합니다.

선택한 세션이 오래되고 충분히 커서 다시 읽으면 사용 한도의 상당한 부분을 소비할 경우, --resume, --continue/resume은 전체 기록을 로드하는 대신 요약에서 재개할 것을 제안합니다. 이 프롬프트는 Amazon Bedrock, Google Cloud Vertex AI 또는 Microsoft Foundry에서 사용할 수 없습니다.

세션은 프로젝트 디렉토리별로 저장됩니다. 기본적으로 /resume 선택기는 현재 worktree의 대화형 세션을 표시하며, 다른 worktree 또는 프로젝트로 목록을 확대하고, 검색하고, 미리보고, 이름을 바꾸는 키보드 단축키가 있습니다. /add-dir으로 현재 디렉토리를 추가한 다른 곳에서 시작된 세션도 기본적으로 포함됩니다. 전체 단축키 참조는 아래의 세션 선택기 사용하기를 참조하십시오.

다른 worktree의 세션을 선택하면 Claude Code는 먼저 디렉토리를 전환할 필요 없이 직접 재개합니다. 관련 없는 프로젝트의 세션을 선택하면 cd 및 재개 명령을 클립보드에 복사합니다.

이름으로 재개하면 현재 저장소 및 해당 worktree 전체에서 해결됩니다. claude --resume <name>/resume <name> 모두 정확한 일치를 찾고 세션이 다른 worktree에 있더라도 직접 재개합니다.

이름이 모호하면 claude --resume <name>은 이름을 검색 용어로 미리 채운 선택기를 엽니다. 세션 내에서 /resume <name>은 대신 오류를 보고하므로 /resume을 인수 없이 실행하여 선택기를 열고 선택합니다.

claude -p 또는 SDK 호출로 생성된 세션은 선택기에 나타나지 않지만 세션 ID를 claude --resume <session-id>에 직접 전달하여 재개할 수 있습니다.

세션 이름 지정하기

나중에 찾기 위해 세션에 설명적인 이름을 지정합니다. 이것은 여러 작업이나 기능을 작업할 때 모범 사례입니다.

1

세션 이름 지정하기

시작 시 -n으로 세션 이름을 지정합니다:

claude -n auth-refactor

또는 세션 중에 /rename을 사용하며, 이는 프롬프트 바에도 이름을 표시합니다:

/rename auth-refactor

선택기에서 세션 이름을 바꿀 수도 있습니다: /resume을 실행하고, 세션으로 이동한 다음 Ctrl+R을 누릅니다.

2

나중에 이름으로 재개하기

명령줄에서:

claude --resume auth-refactor

또는 활성 세션 내에서:

/resume auth-refactor

세션 선택기 사용하기

/resume 명령 (또는 인수 없이 claude --resume)은 다음 기능이 있는 대화형 세션 선택기를 엽니다:

선택기의 키보드 단축키:

단축키 작업
/ 세션 간 이동
/ 그룹화된 세션 확장 또는 축소
Enter 강조 표시된 세션 선택 및 재개
Space 세션 콘텐츠 미리보기. Ctrl+V도 이를 캡처하지 않는 터미널에서 작동합니다
Ctrl+R 강조 표시된 세션 이름 바꾸기
/ 또는 Space 이외의 인쇄 가능한 문자 검색 모드 진입 및 세션 필터링
Ctrl+A 이 컴퓨터의 모든 프로젝트에서 세션 표시. 다시 누르면 현재 저장소 복원
Ctrl+W 현재 저장소의 모든 worktree에서 세션 표시. 다시 누르면 현재 worktree 복원. 다중 worktree 저장소에서만 표시됨
Ctrl+B 현재 git 분기의 세션으로 필터링. 다시 누르면 모든 분기의 세션 표시
Esc 선택기 또는 검색 모드 종료

세션 구성:

선택기는 유용한 메타데이터가 있는 세션을 표시합니다:

  • 세션 이름 (설정된 경우), 그렇지 않으면 대화 요약 또는 첫 번째 사용자 프롬프트
  • 마지막 활동 이후 경과 시간
  • 메시지 수
  • Git 분기 (해당하는 경우)
  • Ctrl+A로 모든 프로젝트로 확대한 후 표시되는 프로젝트 경로

포크된 세션 (/branch, /rewind 또는 --fork-session으로 생성됨)은 루트 세션 아래에 그룹화되어 관련 대화를 더 쉽게 찾을 수 있습니다.


Git worktree를 사용하여 병렬 Claude Code 세션 실행하기

여러 작업을 동시에 수행할 때 각 Claude 세션이 변경사항이 충돌하지 않도록 코드베이스의 자체 복사본을 가져야 합니다. Git worktree는 각각 자체 파일과 분기를 가지면서 동일한 저장소 기록 및 원격 연결을 공유하는 별도의 작업 디렉토리를 만들어 이를 해결합니다. 이는 한 worktree에서 기능을 작업하는 동안 Claude가 다른 worktree에서 버그를 수정할 수 있으며, 어느 세션도 다른 세션을 방해하지 않음을 의미합니다.

--worktree (-w) 플래그를 사용하여 격리된 worktree를 만들고 Claude를 시작합니다. 전달하는 값은 worktree 디렉토리 이름과 분기 이름이 됩니다:

# "feature-auth"라는 worktree에서 Claude 시작
# 새 분기를 사용하여 .claude/worktrees/feature-auth/ 생성
claude --worktree feature-auth

# 별도의 worktree에서 다른 세션 시작
claude --worktree bugfix-123

이름을 생략하면 Claude가 자동으로 임의의 이름을 생성합니다:

# "bright-running-fox"와 같은 이름 자동 생성
claude --worktree

Worktree는 <repo>/.claude/worktrees/<name>에 생성되고 기본 원격 분기에서 분기됩니다. worktree 분기는 worktree-<name>으로 이름이 지정됩니다.

기본 분기는 Claude Code 플래그 또는 설정을 통해 구성할 수 없습니다. origin/HEAD는 복제할 때 Git이 설정한 로컬 .git 디렉토리에 저장된 참조입니다. 저장소의 기본 분기가 나중에 GitHub 또는 GitLab에서 변경되면 로컬 origin/HEAD는 이전 분기를 계속 가리키며, worktree는 거기에서 분기됩니다. 로컬 참조를 원격이 현재 기본값으로 간주하는 것과 다시 동기화하려면:

git remote set-head origin -a

이것은 로컬 .git 디렉토리만 업데이트하는 표준 Git 명령입니다. 원격 서버에서는 아무것도 변경되지 않습니다. worktree가 원격의 기본값이 아닌 특정 분기에서 기반하도록 하려면 git remote set-head origin your-branch-name으로 명시적으로 설정합니다.

worktree 생성 방식을 완전히 제어하려면 호출당 다른 기반을 선택하는 것을 포함하여 WorktreeCreate hook을 구성합니다. hook은 Claude Code의 기본 git worktree 로직을 완전히 대체하므로 필요한 모든 ref에서 가져오고 분기할 수 있습니다.

세션 중에 Claude에게 "work in a worktree" 또는 "start a worktree"를 요청할 수도 있으며, 자동으로 하나를 만듭니다.

Subagent worktree

Subagent도 worktree 격리를 사용하여 충돌 없이 병렬로 작업할 수 있습니다. Claude에게 "use worktrees for your agents"를 요청하거나 사용자 정의 subagent에서 에이전트의 frontmatter에 isolation: worktree를 추가하여 구성합니다. 각 subagent는 변경사항 없이 완료될 때 자동으로 정리되는 자체 worktree를 가져옵니다.

Worktree 정리

worktree 세션을 종료할 때 Claude는 변경사항이 있는지 여부에 따라 정리를 처리합니다:

  • 변경사항 없음: worktree 및 해당 분기가 자동으로 제거됩니다
  • 변경사항 또는 커밋 존재: Claude는 worktree를 유지할지 제거할지 묻습니다. 유지하면 디렉토리와 분기가 보존되어 나중에 돌아올 수 있습니다. 제거하면 worktree 디렉토리와 해당 분기가 삭제되어 모든 커밋되지 않은 변경사항과 커밋이 버려집니다

Subagent worktree는 충돌이나 중단된 병렬 실행으로 인해 고아가 되면 시작 시 cleanupPeriodDays 설정보다 오래되면 자동으로 제거됩니다. 단, 커밋되지 않은 변경사항, 추적되지 않은 파일 및 푸시되지 않은 커밋이 없는 경우입니다. --worktree로 만든 Worktree는 이 정리 과정에서 절대 제거되지 않습니다.

Claude 세션 외부에서 worktree를 정리하려면 수동 worktree 관리를 사용합니다.

Worktree에 gitignored 파일 복사하기

Git worktree는 새로운 체크아웃이므로 주 저장소의 .env 또는 .env.local과 같은 추적되지 않은 파일을 포함하지 않습니다. Claude가 worktree를 만들 때 이러한 파일을 자동으로 복사하려면 프로젝트 루트에 .worktreeinclude 파일을 추가합니다.

파일은 .gitignore 구문을 사용하여 복사할 파일을 나열합니다. 패턴과 일치하고 gitignored인 파일만 복사되므로 추적된 파일은 절대 복제되지 않습니다.

.env
.env.local
config/secrets.json

이것은 --worktree, subagent worktree 및 데스크톱 앱의 병렬 세션으로 생성된 worktree에 적용됩니다.

수동으로 worktree 관리하기

worktree 위치 및 분기 구성을 더 제어하려면 Git을 사용하여 직접 worktree를 만듭니다. 특정 기존 분기를 체크아웃하거나 worktree를 저장소 외부에 배치해야 할 때 유용합니다.

# 새 분기를 사용하여 worktree 만들기
git worktree add ../project-feature-a -b feature-a

# 기존 분기를 사용하여 worktree 만들기
git worktree add ../project-bugfix bugfix-123

# worktree에서 Claude 시작
cd ../project-feature-a && claude

# 완료되면 정리
git worktree list
git worktree remove ../project-feature-a

공식 Git worktree 문서에서 자세히 알아봅니다.

비 git 버전 제어

Worktree 격리는 기본적으로 git과 함께 작동합니다. SVN, Perforce 또는 Mercurial과 같은 다른 버전 제어 시스템의 경우 WorktreeCreate 및 WorktreeRemove hook을 구성하여 사용자 정의 worktree 생성 및 정리 로직을 제공합니다. 구성되면 이러한 hook은 --worktree를 사용할 때 기본 git 동작을 대체하므로 .worktreeinclude는 처리되지 않습니다. hook 스크립트 내에서 대신 로컬 구성 파일을 복사합니다.

공유 작업 및 메시징을 사용한 병렬 세션의 자동 조정을 위해 에이전트 팀을 참조하십시오.


Claude가 주의가 필요할 때 알림 받기

장기 실행 작업을 시작하고 다른 창으로 전환할 때 Claude가 완료되거나 입력이 필요할 때 알 수 있도록 데스크톱 알림을 설정할 수 있습니다. 이것은 Claude가 권한을 기다리거나, 유휴 상태이고 새 프롬프트를 기다리거나, 인증을 완료할 때마다 발생하는 Notification hook 이벤트를 사용합니다.

1

설정에 hook 추가하기

~/.claude/settings.json을 열고 플랫폼의 기본 알림 명령을 호출하는 Notification hook을 추가합니다:

{
"hooks": {
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
}
]
}
]
}
}

설정 파일에 이미 hooks 키가 있으면 덮어쓰지 말고 Notification 항목을 병합합니다. CLI에서 원하는 것을 설명하여 Claude에게 hook을 작성하도록 요청할 수도 있습니다.

2

선택적으로 matcher 좁히기

기본적으로 hook은 모든 알림 유형에 대해 발생합니다. 특정 이벤트에만 발생하도록 하려면 matcher 필드를 다음 값 중 하나로 설정합니다:

Matcher 발생 시기
permission_prompt Claude가 도구 사용을 승인하도록 요청할 때
idle_prompt Claude가 완료되고 다음 프롬프트를 기다릴 때
auth_success 인증이 완료될 때
elicitation_dialog MCP 서버가 질문 양식을 열 때
elicitation_complete MCP 질문 양식이 제출되거나 닫힐 때
elicitation_response MCP 질문 응답이 서버로 다시 전송될 때
3

hook 검증하기

/hooks를 입력하고 Notification을 선택하여 hook이 나타나는지 확인합니다. 선택하면 실행될 명령이 표시됩니다. 종단 간 테스트하려면 Claude에게 권한이 필요한 명령을 실행하도록 요청하고 터미널에서 전환하거나, Claude에게 직접 알림을 트리거하도록 요청합니다.

전체 이벤트 스키마 및 알림 유형은 알림 참조를 참조하십시오.


Claude를 unix 스타일 유틸리티로 사용하기

검증 프로세스에 Claude 추가하기

Claude Code를 linter 또는 코드 검토자로 사용하고 싶다고 가정해봅시다.

빌드 스크립트에 Claude 추가하기:

// package.json
{
    ...
    "scripts": {
        ...
        "lint:claude": "claude -p 'you are a linter. please look at the changes vs. main and report any issues related to typos. report the filename and line number on one line, and a description of the issue on the second line. do not return any other text.'"
    }
}

파이프 인, 파이프 아웃

Claude로 데이터를 파이프하고 구조화된 형식으로 데이터를 다시 받고 싶다고 가정해봅시다.

Claude를 통해 데이터 파이프하기:

cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

출력 형식 제어하기

특히 Claude Code를 스크립트나 다른 도구에 통합할 때 특정 형식의 Claude 출력이 필요하다고 가정해봅시다.

1

텍스트 형식 사용 (기본값)

cat data.txt | claude -p 'summarize this data' --output-format text > summary.txt

이것은 Claude의 일반 텍스트 응답만 출력합니다 (기본 동작).

2

JSON 형식 사용

cat code.py | claude -p 'analyze this code for bugs' --output-format json > analysis.json

이것은 비용 및 기간을 포함한 메타데이터가 있는 메시지의 JSON 배열을 출력합니다.

3

스트리밍 JSON 형식 사용

cat log.txt | claude -p 'parse this log file for errors' --output-format stream-json

이것은 Claude가 요청을 처리할 때 실시간으로 일련의 JSON 객체를 출력합니다. 각 메시지는 유효한 JSON 객체이지만 연결된 전체 출력은 유효한 JSON이 아닙니다.


Claude를 일정에 따라 실행하기

Claude가 정기적으로 작업을 자동으로 처리하도록 하고 싶다고 가정해봅시다. 예를 들어 매일 아침 열린 PR을 검토하거나, 매주 종속성을 감사하거나, 밤새 CI 실패를 확인합니다.

작업을 실행할 위치에 따라 일정 옵션을 선택합니다:

옵션 실행 위치 최적 사용
Routines Anthropic 관리 인프라 컴퓨터가 꺼져 있어도 실행되어야 하는 작업. API 호출 또는 GitHub 이벤트 외에도 일정에 따라 트리거될 수 있습니다. claude.ai/code/routines에서 구성합니다.
데스크톱 예약 작업 데스크톱 앱을 통한 컴퓨터 로컬 파일, 도구 또는 커밋되지 않은 변경사항에 직접 액세스해야 하는 작업.
GitHub Actions CI 파이프라인 열린 PR 또는 cron 일정과 같은 저장소 이벤트와 연결된 작업. 워크플로우 구성과 함께 있어야 합니다.
/loop 현재 CLI 세션 세션이 열려 있는 동안 빠른 폴링. 새 대화를 시작하면 작업이 중지됩니다. --resume--continue는 만료되지 않은 것을 복원합니다.

Claude의 기능에 대해 Claude에게 물어보기

Claude는 자신의 문서에 대한 기본 제공 액세스 권한을 가지고 있으며 자신의 기능과 제한사항에 대한 질문에 답할 수 있습니다.

예제 질문

can Claude Code create pull requests?
how does Claude Code handle permissions?
what skills are available?
how do I use MCP with Claude Code?
how do I configure Claude Code for Amazon Bedrock?
what are the limitations of Claude Code?

다음 단계