We recently released Claude Code, a command line tool for agentic coding. Developed as a research project, Claude Code gives Anthropic engineers and researchers a more native way to integrate Claude into their coding workflows.
우리는 최근 에이전트형 코딩을 위한 명령줄 도구인 Claude Code를 출시했습니다. 연구 프로젝트로 개발된 Claude Code는 Anthropic 엔지니어와 연구원들이 Claude를 코딩 워크플로우에 보다 자연스럽게 통합할 수 있도록 합니다.
Claude Code is intentionally low-level and unopinionated, providing close to raw model access without forcing specific workflows. This design philosophy creates a flexible, customizable, scriptable, and safe power tool. While powerful, this flexibility presents a learning curve for engineers new to agentic coding tools—at least until they develop their own best practices.
Claude Code는 의도적으로 저수준이며 특정 워크플로우를 강요하지 않는 비판단적 도구로, 거의 원시 모델 접근 방식을 제공합니다. 이러한 설계 철학은 유연하고 맞춤화 가능하며 스크립트화할 수 있고 안전한 강력한 도구를 만듭니다. 강력하지만, 이 유연성은 에이전트형 코딩 도구에 익숙하지 않은 엔지니어들에게는 학습 곡선을 제공합니다—적어도 자신만의 최선의 실천법을 개발할 때까지는 그렇습니다.
This post outlines general patterns that have proven effective, both for Anthropic's internal teams and for external engineers using Claude Code across various codebases, languages, and environments. Nothing in this list is set in stone nor universally applicable; consider these suggestions as starting points. We encourage you to experiment and find what works best for you!
이 글에서는 Anthropic 내부 팀과 다양한 코드베이스, 언어, 환경에서 Claude Code를 사용하는 외부 엔지니어 모두에게 효과적임이 입증된 일반적인 패턴을 개략적으로 설명합니다. 이 목록에 있는 내용은 확정적이거나 보편적으로 적용 가능한 것은 아니며, 이 제안들을 출발점으로 고려하시기 바랍니다. 여러분이 직접 실험하고 자신에게 가장 잘 맞는 방법을 찾기를 권장합니다!
Looking for more detailed information? Our comprehensive documentation at claude.ai/code covers all the features mentioned in this post and provides additional examples, implementation details, and advanced techniques.
더 자세한 정보를 원하십니까? claude.ai/code에 있는 종합 문서에서는 이 글에서 언급한 모든 기능과 추가 예제, 구현 세부사항, 고급 기법을 제공합니다.
1. Customize your setup 1. 설정 맞춤화하기
Claude Code is an agentic coding assistant that automatically pulls context into prompts. This context gathering consumes time and tokens, but you can optimize it through environment tuning.
Claude Code는 자동으로 컨텍스트를 프롬프트에 불러오는 에이전트형 코딩 어시스턴트입니다. 이 컨텍스트 수집은 시간과 토큰을 소모하지만, 환경 조정을 통해 최적화할 수 있습니다.
a. Create CLAUDE.md
files a. CLAUDE.md
파일 생성하기
CLAUDE.md
is a special file that Claude automatically pulls into context when starting a conversation. This makes it an ideal place for documenting:
CLAUDE.md
는 대화를 시작할 때 Claude가 자동으로 컨텍스트에 불러오는 특별한 파일입니다. 따라서 다음과 같은 문서화에 이상적인 장소입니다:
- Common bash commands 일반적인 bash 명령어
- Core files and utility functions
핵심 파일 및 유틸리티 함수 - Code style guidelines 코드 스타일 가이드라인
- Testing instructions 테스트 지침
- Repository etiquette (e.g., branch naming, merge vs. rebase, etc.)
저장소 예절(예: 브랜치 명명, 병합 vs. 리베이스 등) - Developer environment setup (e.g., pyenv use, which compilers work)
개발자 환경 설정(예: pyenv 사용법, 작동하는 컴파일러 등) - Any unexpected behaviors or warnings particular to the project
프로젝트에 특이한 예기치 않은 동작이나 경고 - Other information you want Claude to remember
Claude가 기억했으면 하는 기타 정보
There’s no required format for CLAUDE.md
files. We recommend keeping them concise and human-readable. For example:
CLAUDE.md
파일에 대한 필수 형식은 없습니다. 간결하고 사람이 읽기 쉬운 형태로 유지하는 것을 권장합니다. 예를 들어:
# Bash commands
- npm run build: Build the project
- npm run typecheck: Run the typechecker
# Code style
- Use ES modules (import/export) syntax, not CommonJS (require)
- Destructure imports when possible (eg. import { foo } from 'bar')
# Workflow
- Be sure to typecheck when you’re done making a series of code changes
- Prefer running single tests, and not the whole test suite, for performance
You can place CLAUDE.md
files in several locations:
CLAUDE.md
파일은 여러 위치에 둘 수 있습니다:
- The root of your repo, or wherever you run
claude
from (the most common usage). Name itCLAUDE.md
and check it into git so that you can share it across sessions and with your team (recommended), or name itCLAUDE.local.md
and.gitignore
it
레포지토리의 루트 또는claude
을 실행하는 위치(가장 일반적인 사용법). 이름을CLAUDE.md
으로 지정하고 git에 커밋하여 세션 간 및 팀과 공유할 수 있습니다(권장). 또는 이름을CLAUDE.local.md
로 지정하고.gitignore
할 수 있습니다. - Any parent of the directory where you run
claude
. This is most useful for monorepos, where you might runclaude
fromroot/foo
, and haveCLAUDE.md
files in bothroot/CLAUDE.md
androot/foo/CLAUDE.md
. Both of these will be pulled into context automatically
claude
을 실행하는 디렉토리의 상위 디렉토리 중 어느 곳이든 가능합니다. 이는 모노레포에서 특히 유용한데, 예를 들어root/foo
에서claude
을 실행하고root/CLAUDE.md
와root/foo/CLAUDE.md
모두에CLAUDE.md
파일이 있을 수 있습니다. 이 두 파일 모두 자동으로 컨텍스트에 포함됩니다. - Any child of the directory where you run
claude
. This is the inverse of the above, and in this case, Claude will pull inCLAUDE.md
files on demand when you work with files in child directories
claude
를 실행하는 디렉터리의 모든 하위 디렉터리. 이는 위의 경우와 반대이며, 이 경우 Claude는 하위 디렉터리의 파일을 작업할 때 필요에 따라CLAUDE.md
파일을 불러옵니다. - Your home folder (
~/.claude/CLAUDE.md
), which applies it to all your claude sessions
모든 Claude 세션에 적용되는 홈 폴더(~/.claude/CLAUDE.md
)
When you run the /init
command, Claude will automatically generate a CLAUDE.md
for you.
/init
명령을 실행하면 Claude가 자동으로 CLAUDE.md
을 생성합니다.
b. Tune your CLAUDE.md
files
b. CLAUDE.md
파일을 조정하세요
Your CLAUDE.md
files become part of Claude’s prompts, so they should be refined like any frequently used prompt. A common mistake is adding extensive content without iterating on its effectiveness. Take time to experiment and determine what produces the best instruction following from the model.
귀하의 CLAUDE.md
파일은 Claude의 프롬프트의 일부가 되므로 자주 사용하는 프롬프트처럼 정제되어야 합니다. 흔한 실수는 효과를 반복 검토하지 않고 방대한 내용을 추가하는 것입니다. 시간을 들여 실험하고 모델이 가장 잘 지시를 따르도록 하는 방법을 찾아보세요.
You can add content to your CLAUDE.md
manually or press the #
key to give Claude an instruction that it will automatically incorporate into the relevant CLAUDE.md
. Many engineers use #
frequently to document commands, files, and style guidelines while coding, then include CLAUDE.md
changes in commits so team members benefit as well.
CLAUDE.md
에 내용을 수동으로 추가할 수 있으며, #
키를 눌러 Claude에게 지시를 내리면 해당 CLAUDE.md
에 자동으로 반영됩니다. 많은 엔지니어가 코딩 중 명령어, 파일, 스타일 가이드라인을 문서화하기 위해 #
를 자주 사용하며, 커밋에 CLAUDE.md
변경 사항을 포함시켜 팀원들도 혜택을 받도록 합니다.
At Anthropic, we occasionally run CLAUDE.md
files through the prompt improver and often tune instructions (e.g. adding emphasis with "IMPORTANT" or "YOU MUST") to improve adherence.
Anthropic에서는 가끔 CLAUDE.md
파일을 프롬프트 개선기에 통과시키고, 지시사항 준수를 높이기 위해 "IMPORTANT"나 "YOU MUST"와 같은 강조를 추가하는 등 지시사항을 자주 조정합니다.

c. Curate Claude's list of allowed tools
c. Claude의 허용 도구 목록 관리하기
By default, Claude Code requests permission for any action that might modify your system: file writes, many bash commands, MCP tools, etc. We designed Claude Code with this deliberately conservative approach to prioritize safety. You can customize the allowlist to permit additional tools that you know are safe, or to allow potentially unsafe tools that are easy to undo (e.g., file editing, git commit
).
기본적으로 Claude Code는 시스템을 변경할 수 있는 모든 작업(파일 쓰기, 여러 bash 명령어, MCP 도구 등)에 대해 권한을 요청합니다. Claude Code는 안전을 최우선으로 고려하여 이러한 보수적인 접근 방식을 의도적으로 설계했습니다. 안전하다고 알고 있는 추가 도구를 허용하도록 허용 목록을 사용자 지정하거나, 쉽게 되돌릴 수 있는 잠재적으로 안전하지 않은 도구(예: 파일 편집, git commit
)를 허용할 수 있습니다.
There are four ways to manage allowed tools:
허용된 도구를 관리하는 네 가지 방법이 있습니다:
- Select "Always allow" when prompted during a session.
세션 중에 권한 요청 시 "항상 허용"을 선택합니다. - Use the
/allowed-tools
command after starting Claude Code to add or remove tools from the allowlist. For example, you can addEdit
to always allow file edits,Bash(git commit:*)
to allow git commits, ormcp__puppeteer__puppeteer_navigate
to allow navigating with the Puppeteer MCP server.
Claude Code를 시작한 후/allowed-tools
명령어를 사용하여 허용 목록에 도구를 추가하거나 제거합니다. 예를 들어, 파일 편집을 항상 허용하려면Edit
을 추가하고, git 커밋을 허용하려면Bash(git commit:*)
를, Puppeteer MCP 서버를 사용한 탐색을 허용하려면mcp__puppeteer__puppeteer_navigate
을 추가할 수 있습니다. - Manually edit your
.claude/settings.json
or~/.claude.json
(we recommend checking the former into source control to share with your team).
.claude/settings.json
또는~/.claude.json
을 수동으로 편집하세요(팀과 공유하려면 전자를 소스 제어에 체크인하는 것을 권장합니다). - Use the
--allowedTools
CLI flag for session-specific permissions.
세션별 권한에는--allowedTools
CLI 플래그를 사용하세요.
d. If using GitHub, install the gh CLI
d. GitHub를 사용하는 경우 gh CLI를 설치하세요
Claude knows how to use the gh
CLI to interact with GitHub for creating issues, opening pull requests, reading comments, and more. Without gh
installed, Claude can still use the GitHub API or MCP server (if you have it installed).
Claude는 gh
CLI를 사용하여 GitHub에서 이슈 생성, 풀 리퀘스트 열기, 댓글 읽기 등 작업을 수행할 수 있습니다. gh
이 설치되어 있지 않아도 Claude는 GitHub API 또는 MCP 서버(설치한 경우)를 사용할 수 있습니다.
2. Give Claude more tools
2. Claude에게 더 많은 도구 제공하기
Claude has access to your shell environment, where you can build up sets of convenience scripts and functions for it just like you would for yourself. It can also leverage more complex tools through MCP and REST APIs.
Claude는 셸 환경에 접근할 수 있어, 자신을 위해 스크립트와 함수를 작성하듯 편리한 스크립트와 함수 세트를 구축할 수 있습니다. 또한 MCP와 REST API를 통해 더 복잡한 도구도 활용할 수 있습니다.
a. Use Claude with bash tools
a. bash 도구와 함께 Claude 사용하기
Claude Code inherits your bash environment, giving it access to all your tools. While Claude knows common utilities like unix tools and gh
, it won't know about your custom bash tools without instructions:
Claude Code는 사용자의 bash 환경을 상속받아 모든 도구에 접근할 수 있습니다. Claude는 unix 도구와 gh
같은 일반적인 유틸리티는 알지만, 별도의 지시가 없으면 사용자의 맞춤 bash 도구는 알지 못합니다:
- Tell Claude the tool name with usage examples
Claude에게 도구 이름과 사용 예시를 알려주세요 - Tell Claude to run
--help
to see tool documentation
Claude에게--help
를 실행하여 도구 문서를 확인하라고 말하세요 - Document frequently used tools in
CLAUDE.md
CLAUDE.md
에 자주 사용하는 도구를 문서화하세요
b. Use Claude with MCP
b. MCP와 함께 Claude 사용하기
Claude Code functions as both an MCP server and client. As a client, it can connect to any number of MCP servers to access their tools in three ways:
Claude Code는 MCP 서버와 클라이언트 역할을 모두 합니다. 클라이언트로서 여러 MCP 서버에 연결하여 세 가지 방법으로 도구에 접근할 수 있습니다:
- In project config (available when running Claude Code in that directory)
프로젝트 구성에서 (해당 디렉터리에서 Claude Code를 실행할 때 사용 가능) - In global config (available in all projects)
글로벌 구성에서 (모든 프로젝트에서 사용 가능) - In a checked-in
.mcp.json
file (available to anyone working in your codebase). For example, you can add Puppeteer and Sentry servers to your.mcp.json
, so that every engineer working on your repo can use these out of the box.
체크인된.mcp.json
파일에서 (코드베이스에서 작업하는 모든 사람이 사용 가능). 예를 들어, Puppeteer와 Sentry 서버를.mcp.json
에 추가할 수 있어, 리포지토리에서 작업하는 모든 엔지니어가 즉시 사용할 수 있습니다.
When working with MCP, it can also be helpful to launch Claude with the --mcp-debug
flag to help identify configuration issues.
MCP 작업 시 구성 문제를 식별하는 데 도움이 되도록 --mcp-debug
플래그를 사용하여 Claude를 실행하는 것도 유용할 수 있습니다.
c. Use custom slash commands
c. 사용자 지정 슬래시 명령어 사용
For repeated workflows—debugging loops, log analysis, etc.—store prompt templates in Markdown files within the .claude/commands
folder. These become available through the slash commands menu when you type /
. You can check these commands into git to make them available for the rest of your team.
반복적인 워크플로우—디버깅 루프, 로그 분석 등—를 위해 .claude/commands
폴더 내에 프롬프트 템플릿을 Markdown 파일로 저장하세요. 이들은 /
를 입력할 때 슬래시 명령어 메뉴를 통해 사용할 수 있습니다. 이러한 명령어를 git에 체크인하여 팀 전체가 사용할 수 있도록 할 수 있습니다.
Custom slash commands can include the special keyword $ARGUMENTS
to pass parameters from command invocation.
사용자 정의 슬래시 명령어에는 명령 호출 시 매개변수를 전달하기 위한 특수 키워드 $ARGUMENTS
를 포함할 수 있습니다.
For example, here’s a slash command that you could use to automatically pull and fix a Github issue:
예를 들어, 다음은 Github 이슈를 자동으로 가져와 수정하는 데 사용할 수 있는 슬래시 명령어입니다:
Please analyze and fix the GitHub issue: $ARGUMENTS.
Follow these steps:
1. Use `gh issue view` to get the issue details
2. Understand the problem described in the issue
3. Search the codebase for relevant files
4. Implement the necessary changes to fix the issue
5. Write and run tests to verify the fix
6. Ensure code passes linting and type checking
7. Create a descriptive commit message
8. Push and create a PR
Remember to use the GitHub CLI (`gh`) for all GitHub-related tasks.
Putting the above content into .claude/commands/fix-github-issue.md
makes it available as the /project:fix-github-issue
command in Claude Code. You could then for example use /project:fix-github-issue 1234
to have Claude fix issue #1234. Similarly, you can add your own personal commands to the ~/.claude/commands
folder for commands you want available in all of your sessions.
위 내용을 .claude/commands/fix-github-issue.md
에 넣으면 Claude Code에서 /project:fix-github-issue
명령어로 사용할 수 있습니다. 예를 들어 /project:fix-github-issue 1234
를 사용하여 Claude가 이슈 #1234를 수정하도록 할 수 있습니다. 마찬가지로, 모든 세션에서 사용 가능한 명령어를 위해 ~/.claude/commands
폴더에 개인 명령어를 추가할 수 있습니다.
3. Try common workflows 3. 일반적인 워크플로우 시도하기
Claude Code doesn’t impose a specific workflow, giving you the flexibility to use it how you want. Within the space this flexibility affords, several successful patterns for effectively using Claude Code have emerged across our community of users:
Claude Code는 특정 워크플로우를 강요하지 않아 원하는 방식으로 자유롭게 사용할 수 있습니다. 이러한 유연성 덕분에 우리 사용자 커뮤니티 내에서 Claude Code를 효과적으로 사용하는 여러 성공적인 패턴이 나타났습니다:
a. Explore, plan, code, commit
a. 탐색, 계획, 코딩, 커밋
This versatile workflow suits many problems:
이 다목적 워크플로우는 다양한 문제에 적합합니다:
- Ask Claude to read relevant files, images, or URLs, providing either general pointers ("read the file that handles logging") or specific filenames ("read logging.py"), but explicitly tell it not to write any code just yet.
Claude에게 관련 파일, 이미지 또는 URL을 읽도록 요청하되, 일반적인 지시("로깅을 처리하는 파일을 읽어라")나 구체적인 파일명("logging.py를 읽어라")을 제공하되, 아직 코드를 작성하지 말라고 명확히 지시하세요.- This is the part of the workflow where you should consider strong use of subagents, especially for complex problems. Telling Claude to use subagents to verify details or investigate particular questions it might have, especially early on in a conversation or task, tends to preserve context availability without much downside in terms of lost efficiency.
이 워크플로우 단계에서는 특히 복잡한 문제에 대해 서브에이전트를 적극적으로 활용하는 것을 고려해야 합니다. Claude에게 세부 사항을 확인하거나 대화나 작업 초기에 가질 수 있는 특정 질문을 조사하기 위해 서브에이전트를 사용하도록 지시하는 것은 효율성 손실 없이 컨텍스트 가용성을 유지하는 데 도움이 됩니다.
- This is the part of the workflow where you should consider strong use of subagents, especially for complex problems. Telling Claude to use subagents to verify details or investigate particular questions it might have, especially early on in a conversation or task, tends to preserve context availability without much downside in terms of lost efficiency.
- Ask Claude to make a plan for how to approach a specific problem. We recommend using the word "think" to trigger extended thinking mode, which gives Claude additional computation time to evaluate alternatives more thoroughly. These specific phrases are mapped directly to increasing levels of thinking budget in the system: "think" < "think hard" < "think harder" < "ultrathink." Each level allocates progressively more thinking budget for Claude to use.
Claude에게 특정 문제에 접근하는 계획을 세우도록 요청하세요. "think"라는 단어를 사용하여 확장된 사고 모드를 활성화하는 것을 권장하는데, 이는 Claude가 대안을 더 철저히 평가할 수 있도록 추가 계산 시간을 제공합니다. 이 특정 구문들은 시스템 내에서 점진적으로 증가하는 사고 예산 수준에 직접 매핑됩니다: "think" < "think hard" < "think harder" < "ultrathink." 각 단계는 Claude가 사용할 수 있는 사고 예산을 점차 더 많이 할당합니다.- If the results of this step seem reasonable, you can have Claude create a document or a GitHub issue with its plan so that you can reset to this spot if the implementation (step 3) isn’t what you want.
이 단계의 결과가 합리적으로 보인다면, Claude에게 계획을 담은 문서나 GitHub 이슈를 생성하게 하여 구현(3단계)이 원하는 바와 다를 경우 이 지점으로 되돌릴 수 있도록 할 수 있습니다.
- If the results of this step seem reasonable, you can have Claude create a document or a GitHub issue with its plan so that you can reset to this spot if the implementation (step 3) isn’t what you want.
- Ask Claude to implement its solution in code. This is also a good place to ask it to explicitly verify the reasonableness of its solution as it implements pieces of the solution.
Claude에게 코드로 솔루션을 구현하도록 요청하세요. 솔루션의 각 부분을 구현하면서 그 해결책의 타당성을 명시적으로 검증하도록 요청하기에도 좋은 시점입니다. - Ask Claude to commit the result and create a pull request. If relevant, this is also a good time to have Claude update any READMEs or changelogs with an explanation of what it just did.
Claude에게 결과를 커밋하고 풀 리퀘스트를 생성하도록 요청하세요. 관련이 있다면, Claude가 방금 수행한 작업에 대한 설명과 함께 README나 변경 로그를 업데이트하도록 하는 것도 좋은 시기입니다.
Steps #1-#2 are crucial—without them, Claude tends to jump straight to coding a solution. While sometimes that's what you want, asking Claude to research and plan first significantly improves performance for problems requiring deeper thinking upfront.
1단계와 2단계는 매우 중요합니다—이 단계들이 없으면 Claude는 바로 코딩 솔루션으로 넘어가는 경향이 있습니다. 때로는 그것이 원하는 바일 수 있지만, Claude에게 먼저 조사하고 계획하도록 요청하면 초기 심층 사고가 필요한 문제에 대해 성능이 크게 향상됩니다.
b. Write tests, commit; code, iterate, commit
b. 테스트 작성, 커밋; 코드 작성, 반복, 커밋
This is an Anthropic-favorite workflow for changes that are easily verifiable with unit, integration, or end-to-end tests. Test-driven development (TDD) becomes even more powerful with agentic coding:
이것은 단위, 통합 또는 종단 간 테스트로 쉽게 검증할 수 있는 변경 사항에 대해 Anthropic에서 선호하는 워크플로우입니다. 테스트 주도 개발(TDD)은 에이전트 코딩과 함께 더욱 강력해집니다:
- Ask Claude to write tests based on expected input/output pairs. Be explicit about the fact that you’re doing test-driven development so that it avoids creating mock implementations, even for functionality that doesn’t exist yet in the codebase.
예상 입력/출력 쌍을 기반으로 테스트를 작성하도록 Claude에게 요청하세요. 테스트 주도 개발을 하고 있다는 점을 명확히 하여, 코드베이스에 아직 존재하지 않는 기능에 대해서도 모의 구현을 생성하지 않도록 하세요. - Tell Claude to run the tests and confirm they fail. Explicitly telling it not to write any implementation code at this stage is often helpful.
Claude에게 테스트를 실행하고 실패하는지 확인하도록 지시하세요. 이 단계에서 구현 코드를 작성하지 말라고 명확히 지시하는 것이 종종 도움이 됩니다. - Ask Claude to commit the tests when you’re satisfied with them.
테스트에 만족하면 Claude에게 테스트를 커밋하도록 요청하세요. - Ask Claude to write code that passes the tests, instructing it not to modify the tests. Tell Claude to keep going until all tests pass. It will usually take a few iterations for Claude to write code, run the tests, adjust the code, and run the tests again.
Claude에게 테스트를 수정하지 말고 테스트를 통과하는 코드를 작성하라고 요청하세요. 모든 테스트가 통과할 때까지 계속 진행하라고 지시하세요. Claude가 코드를 작성하고, 테스트를 실행하고, 코드를 조정한 후 다시 테스트를 실행하는 데는 보통 몇 번의 반복이 필요합니다.- At this stage, it can help to ask it to verify with independent subagents that the implementation isn’t overfitting to the tests
이 단계에서는 구현이 테스트에 과적합되지 않았는지 독립적인 서브에이전트에게 확인하도록 요청하는 것이 도움이 될 수 있습니다
- At this stage, it can help to ask it to verify with independent subagents that the implementation isn’t overfitting to the tests
- Ask Claude to commit the code once you’re satisfied with the changes.
변경 사항에 만족하면 Claude에게 코드를 커밋하라고 요청하세요.
Claude performs best when it has a clear target to iterate against—a visual mock, a test case, or another kind of output. By providing expected outputs like tests, Claude can make changes, evaluate results, and incrementally improve until it succeeds.
Claude는 시각적 목업, 테스트 케이스 또는 다른 종류의 출력물과 같이 명확한 목표가 있을 때 가장 잘 작동합니다. 테스트와 같은 예상 출력을 제공하면 Claude가 변경을 수행하고 결과를 평가하며 성공할 때까지 점진적으로 개선할 수 있습니다.
c. Write code, screenshot result, iterate
c. 코드 작성, 결과 스크린샷, 반복
Similar to the testing workflow, you can provide Claude with visual targets:
테스트 워크플로와 유사하게, Claude에게 시각적 목표를 제공할 수 있습니다:
- Give Claude a way to take browser screenshots (e.g., with the Puppeteer MCP server, an iOS simulator MCP server, or manually copy / paste screenshots into Claude).
Claude가 브라우저 스크린샷을 찍을 수 있는 방법을 제공하세요(예: Puppeteer MCP 서버, iOS 시뮬레이터 MCP 서버, 또는 스크린샷을 수동으로 복사/붙여넣기). - Give Claude a visual mock by copying / pasting or drag-dropping an image, or giving Claude the image file path.
이미지를 복사/붙여넣기하거나 드래그 앤 드롭하거나 이미지 파일 경로를 제공하여 Claude에게 시각적 모형을 제공하세요. - Ask Claude to implement the design in code, take screenshots of the result, and iterate until its result matches the mock.
Claude에게 디자인을 코드로 구현하도록 요청하고, 결과의 스크린샷을 찍은 후, 결과가 목업과 일치할 때까지 반복하세요. - Ask Claude to commit when you're satisfied.
만족스러우면 Claude에게 커밋하도록 요청하세요.
Like humans, Claude's outputs tend to improve significantly with iteration. While the first version might be good, after 2-3 iterations it will typically look much better. Give Claude the tools to see its outputs for best results.
인간과 마찬가지로 Claude의 출력물은 반복할수록 크게 향상되는 경향이 있습니다. 첫 번째 버전이 괜찮더라도 2~3회 반복 후에는 보통 훨씬 더 나아집니다. 최상의 결과를 위해 Claude가 자신의 출력을 확인할 수 있는 도구를 제공하세요.

d. Safe YOLO mode d. 안전한 YOLO 모드
Instead of supervising Claude, you can use claude --dangerously-skip-permissions
to bypass all permission checks and let Claude work uninterrupted until completion. This works well for workflows like fixing lint errors or generating boilerplate code.
Claude를 감독하는 대신 claude --dangerously-skip-permissions
을 사용하여 모든 권한 검사를 우회하고 Claude가 중단 없이 작업을 완료하도록 할 수 있습니다. 이는 린트 오류 수정이나 보일러플레이트 코드 생성과 같은 워크플로우에 적합합니다.
Letting Claude run arbitrary commands is risky and can result in data loss, system corruption, or even data exfiltration (e.g., via prompt injection attacks). To minimize these risks, use --dangerously-skip-permissions
in a container without internet access. You can follow this reference implementation using Docker Dev Containers.
Claude가 임의 명령을 실행하도록 하는 것은 위험하며 데이터 손실, 시스템 손상 또는 데이터 유출(예: 프롬프트 인젝션 공격)을 초래할 수 있습니다. 이러한 위험을 최소화하려면 인터넷에 접속하지 않는 컨테이너 내에서 --dangerously-skip-permissions
을 사용하세요. Docker Dev Containers를 이용한 참조 구현을 따라 할 수 있습니다.
e. Codebase Q&A e. 코드베이스 Q&A
When onboarding to a new codebase, use Claude Code for learning and exploration. You can ask Claude the same sorts of questions you would ask another engineer on the project when pair programming. Claude can agentically search the codebase to answer general questions like:
새로운 코드베이스에 적응할 때는 학습과 탐색을 위해 Claude Code를 사용하세요. 페어 프로그래밍 시 프로젝트의 다른 엔지니어에게 묻는 것과 같은 질문을 Claude에게 할 수 있습니다. Claude는 에이전트 방식으로 코드베이스를 검색하여 다음과 같은 일반적인 질문에 답할 수 있습니다:
- How does logging work? 로깅은 어떻게 작동하나요?
- How do I make a new API endpoint?
새 API 엔드포인트는 어떻게 만드나요? - What does
async move { ... }
do on line 134 offoo.rs
?
foo.rs
의 134번째 줄에 있는async move { ... }
는 무엇을 하나요? - What edge cases does
CustomerOnboardingFlowImpl
handle?
CustomerOnboardingFlowImpl
는 어떤 엣지 케이스를 처리하나요? - Why are we calling
foo()
instead ofbar()
on line 333?
333번째 줄에서 왜bar()
대신foo()
를 호출하나요? - What’s the equivalent of line 334 of
baz.py
in Java?
baz.py
의 334번째 줄에 해당하는 Java 코드는 무엇인가요?
At Anthropic, using Claude Code in this way has become our core onboarding workflow, significantly improving ramp-up time and reducing load on other engineers. No special prompting is required! Simply ask questions, and Claude will explore the code to find answers.
Anthropic에서는 Claude Code를 이러한 방식으로 사용하는 것이 핵심 온보딩 워크플로우가 되어, 학습 시간을 크게 단축하고 다른 엔지니어들의 부담을 줄였습니다. 특별한 프롬프트가 필요하지 않습니다! 단순히 질문을 하면 Claude가 코드를 탐색하여 답을 찾아줍니다.

f. Use Claude to interact with git
f. Claude를 사용하여 git과 상호작용하기
Claude can effectively handle many git operations. Many Anthropic engineers use Claude for 90%+ of our git interactions:
Claude는 많은 git 작업을 효과적으로 처리할 수 있습니다. 많은 Anthropic 엔지니어들이 git 상호작용의 90% 이상을 Claude로 수행합니다:
- Searching git history to answer questions like "What changes made it into v1.2.3?", "Who owns this particular feature?", or "Why was this API designed this way?" It helps to explicitly prompt Claude to look through git history to answer queries like these.
"v1.2.3에 어떤 변경 사항이 포함되었나요?", "이 특정 기능의 담당자는 누구인가요?", 또는 "이 API가 이렇게 설계된 이유는 무엇인가요?"와 같은 질문에 답하기 위해 git 히스토리를 검색합니다. 이러한 질문에 답하기 위해 Claude가 git 히스토리를 살펴보도록 명확히 프롬프트하는 것이 도움이 됩니다. - Writing commit messages. Claude will look at your changes and recent history automatically to compose a message taking all the relevant context into account
커밋 메시지 작성. Claude는 변경 사항과 최근 히스토리를 자동으로 살펴보아 모든 관련 컨텍스트를 고려한 메시지를 작성합니다. - Handling complex git operations like reverting files, resolving rebase conflicts, and comparing and grafting patches
파일 되돌리기, 리베이스 충돌 해결, 패치 비교 및 병합과 같은 복잡한 git 작업 처리하기
g. Use Claude to interact with GitHub
g. Claude를 사용하여 GitHub와 상호작용하기
Claude Code can manage many GitHub interactions:
Claude Code는 다양한 GitHub 상호작용을 관리할 수 있습니다:
- Creating pull requests: Claude understands the shorthand "pr" and will generate appropriate commit messages based on the diff and surrounding context.
풀 리퀘스트 생성: Claude는 약어 "pr"을 이해하며, 변경 사항(diff)과 주변 문맥에 기반한 적절한 커밋 메시지를 생성합니다. - Implementing one-shot resolutions for simple code review comments: just tell it to fix comments on your PR (optionally, give it more specific instructions) and push back to the PR branch when it's done.
간단한 코드 리뷰 코멘트에 대한 원샷 해결 구현: PR의 코멘트를 수정하라고 지시하기만 하면(선택적으로 더 구체적인 지침을 줄 수 있음), 완료되면 PR 브랜치에 다시 푸시합니다. - Fixing failing builds or linter warnings
실패한 빌드나 린터 경고 수정 - Categorizing and triaging open issues by asking Claude to loop over open GitHub issues
Claude에게 열린 GitHub 이슈를 반복해서 확인하도록 요청하여 열린 이슈를 분류하고 우선순위를 정하기
This eliminates the need to remember gh
command line syntax while automating routine tasks.
이로 인해 gh
명령어 구문을 기억할 필요 없이 일상적인 작업을 자동화할 수 있습니다.
h. Use Claude to work with Jupyter notebooks
h. Claude를 사용하여 Jupyter 노트북 작업하기
Researchers and data scientists at Anthropic use Claude Code to read and write Jupyter notebooks. Claude can interpret outputs, including images, providing a fast way to explore and interact with data. There are no required prompts or workflows, but a workflow we recommend is to have Claude Code and a .ipynb
file open side-by-side in VS Code.
Anthropic의 연구원과 데이터 과학자들은 Claude Code를 사용하여 Jupyter 노트북을 읽고 작성합니다. Claude는 이미지 포함 출력을 해석할 수 있어 데이터를 빠르게 탐색하고 상호작용할 수 있는 방법을 제공합니다. 필수 프롬프트나 워크플로우는 없지만, 추천하는 워크플로우는 VS Code에서 Claude Code와 .ipynb
파일을 나란히 열어두는 것입니다.
You can also ask Claude to clean up or make aesthetic improvements to your Jupyter notebook before you show it to colleagues. Specifically telling it to make the notebook or its data visualizations “aesthetically pleasing” tends to help remind it that it’s optimizing for a human viewing experience.
동료에게 보여주기 전에 Claude에게 Jupyter 노트북을 정리하거나 미적으로 개선해 달라고 요청할 수도 있습니다. 특히 노트북이나 데이터 시각화를 “미적으로 보기 좋게” 만들어 달라고 명확히 지시하면, 인간이 보는 경험을 최적화하는 데 집중하도록 상기시키는 데 도움이 됩니다.
4. Optimize your workflow
4. 워크플로우 최적화하기
The suggestions below apply across all workflows:
아래 제안 사항은 모든 워크플로우에 적용됩니다:
a. Be specific in your instructions
a. 지시사항을 구체적으로 작성하세요
Claude Code’s success rate improves significantly with more specific instructions, especially on first attempts. Giving clear directions upfront reduces the need for course corrections later.
Claude Code의 성공률은 특히 첫 시도에서 지시사항이 구체적일수록 크게 향상됩니다. 처음부터 명확한 지침을 제공하면 이후에 수정할 필요가 줄어듭니다.
For example: 예를 들어:
Poor 나쁨 | Good 좋음 |
---|---|
add tests for foo.py foo.py에 대한 테스트 추가하기 | write a new test case for foo.py, covering the edge case where the user is logged out. avoid mocks foo.py에 대해 사용자가 로그아웃된 엣지 케이스를 다루는 새로운 테스트 케이스를 작성하세요. 목(mock) 사용을 피하세요. |
why does ExecutionFactory have such a weird api? ExecutionFactory가 왜 이렇게 이상한 API를 가지고 있나요? | look through ExecutionFactory's git history and summarize how its api came to be ExecutionFactory의 git 히스토리를 살펴보고 그 API가 어떻게 만들어졌는지 요약하세요. |
add a calendar widget 캘린더 위젯을 추가하세요. | look at how existing widgets are implemented on the home page to understand the patterns and specifically how code and interfaces are separated out. HotDogWidget.php is a good example to start with. then, follow the pattern to implement a new calendar widget that lets the user select a month and paginate forwards/backwards to pick a year. Build from scratch without libraries other than the ones already used in the rest of the codebase. 홈 페이지에 기존 위젯들이 어떻게 구현되어 있는지 살펴보고 패턴과 특히 코드와 인터페이스가 어떻게 분리되어 있는지 이해하세요. HotDogWidget.php가 시작하기에 좋은 예입니다. 그런 다음, 이 패턴을 따라 사용자가 월을 선택하고 앞으로/뒤로 페이지를 넘겨 연도를 선택할 수 있는 새로운 캘린더 위젯을 구현하세요. 기존 코드베이스에서 사용 중인 라이브러리 외에는 사용하지 않고 처음부터 구축하세요. |
Claude can infer intent, but it can't read minds. Specificity leads to better alignment with expectations.
Claude는 의도를 추론할 수 있지만, 마음을 읽을 수는 없습니다. 구체성이 기대에 더 잘 부합하게 만듭니다.

b. Give Claude images b. Claude에게 이미지 제공하기
Claude excels with images and diagrams through several methods:
Claude는 여러 방법을 통해 이미지와 다이어그램에서 뛰어납니다:
- Paste screenshots (pro tip: hit cmd+ctrl+shift+4 in macOS to screenshot to clipboard and ctrl+v to paste. Note that this is not cmd+v like you would usually use to paste on mac and does not work remotely.)
스크린샷 붙여넣기 (프로 팁: macOS에서 cmd+ctrl+shift+4를 눌러 클립보드로 스크린샷을 찍고 ctrl+v로 붙여넣기. 일반적으로 mac에서 사용하는 cmd+v가 아니며 원격 접속 시에는 작동하지 않습니다.) - Drag and drop images directly into the prompt input
이미지를 프롬프트 입력창에 직접 드래그 앤 드롭하기 - Provide file paths for images
이미지 파일 경로 제공하기
This is particularly useful when working with design mocks as reference points for UI development, and visual charts for analysis and debugging. If you are not adding visuals to context, it can still be helpful to be clear with Claude about how important it is for the result to be visually appealing.
이는 UI 개발을 위한 디자인 목업 참조점이나 분석 및 디버깅을 위한 시각적 차트 작업 시 특히 유용합니다. 시각 자료를 컨텍스트에 추가하지 않더라도 결과물이 시각적으로 매력적이어야 한다는 점을 Claude에게 명확히 전달하는 것이 도움이 될 수 있습니다.

c. Mention files you want Claude to look at or work on
c. Claude가 살펴보거나 작업하기를 원하는 파일을 언급하세요
Use tab-completion to quickly reference files or folders anywhere in your repository, helping Claude find or update the right resources.
탭 완성 기능을 사용하여 저장소 내 어디에서나 파일이나 폴더를 빠르게 참조할 수 있어 Claude가 올바른 리소스를 찾거나 업데이트하는 데 도움이 됩니다.

d. Give Claude URLs d. Claude에 URL 제공하기
Paste specific URLs alongside your prompts for Claude to fetch and read. To avoid permission prompts for the same domains (e.g., docs.foo.com), use /allowed-tools
to add domains to your allowlist.
특정 URL을 프롬프트와 함께 붙여넣어 Claude가 해당 URL을 가져와 읽도록 하세요. 동일 도메인(예: docs.foo.com)에 대한 권한 요청을 피하려면 /allowed-tools
을 사용하여 도메인을 허용 목록에 추가하세요.
e. Course correct early and often
e. 조기 및 자주 경로 수정하기
While auto-accept mode (shift+tab to toggle) lets Claude work autonomously, you'll typically get better results by being an active collaborator and guiding Claude's approach. You can get the best results by thoroughly explaining the task to Claude at the beginning, but you can also course correct Claude at any time.
자동 수락 모드(shift+tab으로 전환 가능)를 사용하면 Claude가 자율적으로 작업할 수 있지만, 일반적으로 적극적으로 협력하고 Claude의 접근 방식을 안내하는 것이 더 나은 결과를 얻을 수 있습니다. 작업을 처음에 Claude에게 철저히 설명하는 것이 최상의 결과를 얻는 방법이지만, 언제든지 Claude의 경로를 수정할 수도 있습니다.
These four tools help with course correction:
이 네 가지 도구가 경로 수정에 도움이 됩니다:
- Ask Claude to make a plan before coding. Explicitly tell it not to code until you’ve confirmed its plan looks good.
코딩하기 전에 Claude에게 계획을 세우도록 요청하세요. 계획이 좋아 보인다고 확인할 때까지 코딩하지 말라고 명확히 지시하세요. - Press Escape to interrupt Claude during any phase (thinking, tool calls, file edits), preserving context so you can redirect or expand instructions.
Escape 키를 눌러 Claude의 모든 단계(생각, 도구 호출, 파일 편집)를 중단할 수 있으며, 컨텍스트는 유지되어 지시를 재조정하거나 확장할 수 있습니다. - Double-tap Escape to jump back in history, edit a previous prompt, and explore a different direction. You can edit the prompt and repeat until you get the result you're looking for.
Escape 키를 두 번 눌러 이전 기록으로 돌아가 이전 프롬프트를 편집하고 다른 방향을 탐색할 수 있습니다. 프롬프트를 편집하고 원하는 결과가 나올 때까지 반복할 수 있습니다. - Ask Claude to undo changes, often in conjunction with option #2 to take a different approach.
변경 사항을 되돌리도록 Claude에 요청하세요. 종종 다른 접근 방식을 취하기 위해 옵션 #2와 함께 사용됩니다.
Though Claude Code occasionally solves problems perfectly on the first attempt, using these correction tools generally produces better solutions faster.
Claude Code가 가끔 첫 시도에 문제를 완벽하게 해결하기도 하지만, 이러한 수정 도구를 사용하면 일반적으로 더 나은 해결책을 더 빠르게 얻을 수 있습니다.
f. Use /clear
to keep context focused
f. /clear
를 사용하여 문맥을 집중시킵니다
During long sessions, Claude's context window can fill with irrelevant conversation, file contents, and commands. This can reduce performance and sometimes distract Claude. Use the /clear
command frequently between tasks to reset the context window.
장시간 세션 동안 Claude의 컨텍스트 창은 관련 없는 대화, 파일 내용 및 명령어로 가득 찰 수 있습니다. 이는 성능 저하를 일으키고 때로는 Claude의 집중을 방해할 수 있습니다. 작업 사이에 /clear
명령어를 자주 사용하여 컨텍스트 창을 초기화하세요.
g. Use checklists and scratchpads for complex workflows
g. 복잡한 워크플로우에는 체크리스트와 스크래치패드를 사용하세요
For large tasks with multiple steps or requiring exhaustive solutions—like code migrations, fixing numerous lint errors, or running complex build scripts—improve performance by having Claude use a Markdown file (or even a GitHub issue!) as a checklist and working scratchpad:
코드 마이그레이션, 다수의 린트 오류 수정, 복잡한 빌드 스크립트 실행과 같이 여러 단계가 있거나 철저한 해결책이 필요한 대규모 작업의 경우, Claude가 체크리스트 및 작업용 스크래치패드로 Markdown 파일(또는 GitHub 이슈)을 사용하도록 하여 성능을 향상시킬 수 있습니다.
For example, to fix a large number of lint issues, you can do the following:
예를 들어, 다수의 린트 문제를 수정하려면 다음과 같이 할 수 있습니다:
- Tell Claude to run the lint command and write all resulting errors (with filenames and line numbers) to a Markdown checklist
Claude에게 lint 명령어를 실행하고 모든 결과 오류(파일명과 행 번호 포함)를 Markdown 체크리스트에 작성하라고 지시하세요 - Instruct Claude to address each issue one by one, fixing and verifying before checking it off and moving to the next
Claude에게 각 문제를 하나씩 해결하고, 수정 및 검증한 후 체크 표시를 하고 다음 문제로 넘어가라고 지시하세요
h. Pass data into Claude
h. Claude에 데이터 전달하기
Several methods exist for providing data to Claude:
Claude에 데이터를 제공하는 여러 가지 방법이 있습니다:
- Copy and paste directly into your prompt (most common approach)
프롬프트에 직접 복사하여 붙여넣기(가장 일반적인 방법) - Pipe into Claude Code (e.g.,
cat foo.txt | claude
), particularly useful for logs, CSVs, and large data
Claude Code로 파이프 입력(예:cat foo.txt | claude
), 로그, CSV 및 대용량 데이터에 특히 유용 - Tell Claude to pull data via bash commands, MCP tools, or custom slash commands
bash 명령어, MCP 도구 또는 사용자 지정 슬래시 명령어를 통해 Claude가 데이터를 가져오도록 지시하기 - Ask Claude to read files or fetch URLs (works for images too)
Claude에게 파일을 읽거나 URL을 가져오도록 요청하세요(이미지에도 작동).
Most sessions involve a combination of these approaches. For example, you can pipe in a log file, then tell Claude to use a tool to pull in additional context to debug the logs.
대부분의 세션은 이러한 접근 방식을 조합하여 진행됩니다. 예를 들어, 로그 파일을 파이프로 전달한 다음 Claude에게 도구를 사용하여 추가 컨텍스트를 가져와 로그를 디버깅하도록 지시할 수 있습니다.
5. Use headless mode to automate your infra
5. 헤드리스 모드를 사용하여 인프라 자동화하기
Claude Code includes headless mode for non-interactive contexts like CI, pre-commit hooks, build scripts, and automation. Use the -p
flag with a prompt to enable headless mode, and --output-format stream-json
for streaming JSON output.
Claude Code는 CI, 프리커밋 훅, 빌드 스크립트 및 자동화와 같은 비대화형 환경을 위해 헤드리스 모드를 포함합니다. 프롬프트와 함께 -p
플래그를 사용하여 헤드리스 모드를 활성화하고, --output-format stream-json
플래그로 JSON 스트리밍 출력을 사용하세요.
Note that headless mode does not persist between sessions. You have to trigger it each session.
헤드리스 모드는 세션 간에 지속되지 않는다는 점에 유의하세요. 매 세션마다 이를 활성화해야 합니다.
a. Use Claude for issue triage
a. 문제 분류를 위해 Claude 사용하기
Headless mode can power automations triggered by GitHub events, such as when a new issue is created in your repository. For example, the public Claude Code repository uses Claude to inspect new issues as they come in and assign appropriate labels.
헤드리스 모드는 저장소에 새 이슈가 생성되는 등 GitHub 이벤트에 의해 트리거되는 자동화를 지원할 수 있습니다. 예를 들어, 공개 Claude Code 저장소는 새로 들어오는 이슈를 검사하고 적절한 라벨을 지정하기 위해 Claude를 사용합니다.
b. Use Claude as a linter
b. Claude를 린터로 사용하세요.
Claude Code can provide subjective code reviews beyond what traditional linting tools detect, identifying issues like typos, stale comments, misleading function or variable names, and more.
Claude Code는 전통적인 린팅 도구가 감지하는 것 이상의 주관적인 코드 리뷰를 제공하여 오타, 오래된 주석, 오해의 소지가 있는 함수 또는 변수 이름 등과 같은 문제를 식별할 수 있습니다.
6. Uplevel with multi-Claude workflows
6. 다중 Claude 워크플로우로 수준 향상하기
Beyond standalone usage, some of the most powerful applications involve running multiple Claude instances in parallel:
독립 실행 외에도, 가장 강력한 애플리케이션 중 일부는 여러 Claude 인스턴스를 병렬로 실행하는 것을 포함합니다:
a. Have one Claude write code; use another Claude to verify
a. 한 명의 Claude가 코드를 작성하고, 다른 한 명의 Claude가 검증하기
A simple but effective approach is to have one Claude write code while another reviews or tests it. Similar to working with multiple engineers, sometimes having separate context is beneficial:
간단하지만 효과적인 방법은 한 명의 Claude가 코드를 작성하고 다른 한 명이 검토하거나 테스트하는 것입니다. 여러 엔지니어와 협업하는 것과 비슷하게, 때로는 별도의 컨텍스트를 갖는 것이 유리합니다:
- Use Claude to write code
Claude를 사용하여 코드를 작성하세요. - Run
/clear
or start a second Claude in another terminal
/clear
를 실행하거나 다른 터미널에서 두 번째 Claude를 시작하세요 - Have the second Claude review the first Claude's work
두 번째 Claude에게 첫 번째 Claude의 작업을 검토하게 하세요 - Start another Claude (or
/clear
again) to read both the code and review feedback
다른 Claude(또는/clear
을 다시 시작)에게 코드와 검토 피드백을 모두 읽게 하세요 - Have this Claude edit the code based on the feedback
이 Claude가 피드백을 바탕으로 코드를 수정하게 하세요
You can do something similar with tests: have one Claude write tests, then have another Claude write code to make the tests pass. You can even have your Claude instances communicate with each other by giving them separate working scratchpads and telling them which one to write to and which one to read from.
테스트에도 비슷한 방식을 적용할 수 있습니다: 한 Claude가 테스트를 작성하고, 다른 Claude가 테스트를 통과시키기 위한 코드를 작성하게 하세요. Claude 인스턴스들이 서로 소통하도록 별도의 작업 스크래치패드를 주고, 어느 쪽에 쓰고 어느 쪽을 읽을지 지정할 수도 있습니다.
This separation often yields better results than having a single Claude handle everything.
이 분리는 종종 하나의 Claude가 모든 작업을 처리하는 것보다 더 나은 결과를 제공합니다.
b. Have multiple checkouts of your repo
b. 리포지토리를 여러 개 체크아웃하기
Rather than waiting for Claude to complete each step, something many engineers at Anthropic do is:
Claude가 각 단계를 완료할 때까지 기다리기보다는, Anthropic의 많은 엔지니어들이 하는 방법은:
- Create 3-4 git checkouts in separate folders
별도의 폴더에 3-4개의 git 체크아웃을 생성하는 것입니다. - Open each folder in separate terminal tabs
각 폴더를 별도의 터미널 탭에서 엽니다 - Start Claude in each folder with different tasks
각 폴더에서 서로 다른 작업으로 Claude를 시작합니다 - Cycle through to check progress and approve/deny permission requests
진행 상황을 확인하고 권한 요청을 승인/거부하기 위해 순환합니다
c. Use git worktrees c. git worktrees 사용
This approach shines for multiple independent tasks, offering a lighter-weight alternative to multiple checkouts. Git worktrees allow you to check out multiple branches from the same repository into separate directories. Each worktree has its own working directory with isolated files, while sharing the same Git history and reflog.
이 접근법은 여러 독립적인 작업에 탁월하며, 여러 개의 체크아웃에 대한 더 가벼운 대안을 제공합니다. Git worktree를 사용하면 동일한 저장소에서 여러 브랜치를 별도의 디렉터리로 체크아웃할 수 있습니다. 각 worktree는 고유한 작업 디렉터리를 가지고 파일이 격리되어 있으며, 동일한 Git 히스토리와 reflog를 공유합니다.
Using git worktrees enables you to run multiple Claude sessions simultaneously on different parts of your project, each focused on its own independent task. For instance, you might have one Claude refactoring your authentication system while another builds a completely unrelated data visualization component. Since the tasks don't overlap, each Claude can work at full speed without waiting for the other's changes or dealing with merge conflicts:
git worktrees를 사용하면 프로젝트의 서로 다른 부분에서 여러 Claude 세션을 동시에 실행할 수 있으며, 각 세션은 독립적인 작업에 집중할 수 있습니다. 예를 들어, 한 Claude가 인증 시스템을 리팩토링하는 동안 다른 Claude는 전혀 관련 없는 데이터 시각화 컴포넌트를 구축할 수 있습니다. 작업이 겹치지 않기 때문에 각 Claude는 다른 세션의 변경 사항을 기다리거나 병합 충돌을 처리하지 않고도 최대 속도로 작업할 수 있습니다.
- Create worktrees:
git worktree add ../project-feature-a feature-a
워크트리 생성:git worktree add ../project-feature-a feature-a
- Launch Claude in each worktree:
cd ../project-feature-a && claude
각 워크트리에서 Claude 실행:cd ../project-feature-a && claude
- Create additional worktrees as needed (repeat steps 1-2 in new terminal tabs)
필요에 따라 추가 작업 트리를 생성하세요(새 터미널 탭에서 1-2단계를 반복)
Some tips: 몇 가지 팁:
- Use consistent naming conventions
일관된 명명 규칙 사용 - Maintain one terminal tab per worktree
작업 트리당 하나의 터미널 탭 유지하기 - If you’re using iTerm2 on Mac, set up notifications for when Claude needs attention
Mac에서 iTerm2를 사용하는 경우 Claude가 주의를 필요로 할 때 알림 설정하기 - Use separate IDE windows for different worktrees
다른 워크트리를 위해 별도의 IDE 창을 사용하세요 - Clean up when finished:
git worktree remove ../project-feature-a
작업이 끝나면 정리하세요:git worktree remove ../project-feature-a
d. Use headless mode with a custom harness
d. 커스텀 하니스와 함께 헤드리스 모드를 사용하세요
claude -p
(headless mode) integrates Claude Code programmatically into larger workflows while leveraging its built-in tools and system prompt. There are two primary patterns for using headless mode:
claude -p
(헤드리스 모드)는 Claude Code를 내장 도구와 시스템 프롬프트를 활용하여 더 큰 워크플로우에 프로그래밍 방식으로 통합합니다. 헤드리스 모드를 사용하는 주요 패턴은 두 가지가 있습니다:
1. Fanning out handles large migrations or analyses (e.g., analyzing sentiment in hundreds of logs or analyzing thousands of CSVs):
1. 팬아웃은 대규모 마이그레이션이나 분석(예: 수백 개의 로그에서 감정 분석 또는 수천 개의 CSV 분석)을 처리합니다.
- Have Claude write a script to generate a task list. For example, generate a list of 2k files that need to be migrated from framework A to framework B.
Claude에게 작업 목록을 생성하는 스크립트를 작성하게 하세요. 예를 들어, 프레임워크 A에서 프레임워크 B로 마이그레이션해야 하는 2천 개의 파일 목록을 생성합니다. - Loop through tasks, calling Claude programmatically for each and giving it a task and a set of tools it can use. For example:
claude -p “migrate foo.py from React to Vue. When you are done, you MUST return the string OK if you succeeded, or FAIL if the task failed.” --allowedTools Edit Bash(git commit:*)
작업을 반복하면서 각 작업에 대해 Claude를 프로그래밍 방식으로 호출하고, 작업과 사용할 수 있는 도구 세트를 제공합니다. 예:claude -p “migrate foo.py from React to Vue. When you are done, you MUST return the string OK if you succeeded, or FAIL if the task failed.” --allowedTools Edit Bash(git commit:*)
- Run the script several times and refine your prompt to get the desired outcome.
스크립트를 여러 번 실행하고 원하는 결과를 얻을 때까지 프롬프트를 다듬으세요.
2. Pipelining integrates Claude into existing data/processing pipelines:
2. 파이프라이닝은 Claude를 기존 데이터/처리 파이프라인에 통합합니다:
- Call
claude -p “<your prompt>” --json | your_command
, whereyour_command
is the next step of your processing pipeline
your_command
이(가) 처리 파이프라인의 다음 단계인 경우claude -p “<your prompt>” --json | your_command
을(를) 호출하세요. - That’s it! JSON output (optional) can help provide structure for easier automated processing.
그게 전부입니다! JSON 출력(선택 사항)은 더 쉬운 자동 처리를 위해 구조를 제공하는 데 도움이 될 수 있습니다.
For both of these use cases, it can be helpful to use the --verbose
flag for debugging the Claude invocation. We generally recommend turning verbose mode off in production for cleaner output.
이 두 사용 사례 모두에서 Claude 호출을 디버깅할 때 --verbose
플래그를 사용하는 것이 도움이 될 수 있습니다. 일반적으로 더 깔끔한 출력을 위해 프로덕션 환경에서는 자세한 모드를 끄는 것을 권장합니다.
What are your tips and best practices for working with Claude Code? Tag @AnthropicAI so we can see what you're building!
Claude Code 작업 시 팁과 모범 사례가 있나요? @AnthropicAI를 태그하여 여러분이 무엇을 만들고 있는지 알려주세요!
Acknowledgements 감사의 글
Written by Boris Cherny. This work draws upon best practices from across the broader Claude Code user community, whose creative approaches and workflows continue to inspire us. Special thanks also to Daisy Hollman, Ashwin Bhat, Cat Wu, Sid Bidasaria, Cal Rueb, Nodir Turakulov, Barry Zhang, Drew Hodun and many other Anthropic engineers whose valuable insights and practical experience with Claude Code helped shape these recommendations.
작성자: Boris Cherny. 이 작업은 창의적인 접근 방식과 워크플로우로 우리에게 지속적인 영감을 주는 광범위한 Claude Code 사용자 커뮤니티의 모범 사례를 바탕으로 합니다. 또한 Daisy Hollman, Ashwin Bhat, Cat Wu, Sid Bidasaria, Cal Rueb, Nodir Turakulov, Barry Zhang, Drew Hodun 및 Claude Code에 대한 귀중한 통찰력과 실무 경험으로 이 권장 사항을 형성하는 데 도움을 준 많은 Anthropic 엔지니어들에게 특별한 감사를 전합니다.