๋๊ตฌ ์ฐธ์กฐ
Claude Code๊ฐ ์ฌ์ฉํ ์ ์๋ ๋๊ตฌ์ ์์ ํ ์ฐธ์กฐ ์๋ฃ์ด๋ฉฐ, ๊ถํ ์๊ตฌ์ฌํญ ๋ฐ ๋๊ตฌ๋ณ ๋์์ ํฌํจํฉ๋๋ค.
Claude Code๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ดํดํ๊ณ ์์ ํ๋ ๋ฐ ๋์์ด ๋๋ ๋๊ตฌ ์ธํธ์ ์ ๊ทผํ ์ ์์ต๋๋ค. ๋๊ตฌ ์ด๋ฆ์ ๊ถํ ๊ท์น, subagent ๋๊ตฌ ๋ชฉ๋ก, ๋ฐ hook ๋งค์ฒ์์ ์ฌ์ฉํ๋ ์ ํํ ๋ฌธ์์ด์
๋๋ค. ๋๊ตฌ๋ฅผ ์์ ํ ๋นํ์ฑํํ๋ ค๋ฉด ๊ถํ ์ค์ ์ deny ๋ฐฐ์ด์ ํด๋น ์ด๋ฆ์ ์ถ๊ฐํฉ๋๋ค.
์ฌ์ฉ์ ์ ์ ๋๊ตฌ๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด MCP ์๋ฒ๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. Claude๋ฅผ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋กฌํํธ ๊ธฐ๋ฐ ์ํฌํ๋ก์ฐ๋ก ํ์ฅํ๋ ค๋ฉด skill์ ์์ฑํฉ๋๋ค. ์ด๋ ์๋ก์ด ๋๊ตฌ ํญ๋ชฉ์ ์ถ๊ฐํ๋ ๋์ ๊ธฐ์กด Skill ๋๊ตฌ๋ฅผ ํตํด ์คํ๋ฉ๋๋ค.
| ๋๊ตฌ | ์ค๋ช | ํ์ํ ๊ถํ |
|---|---|---|
Agent |
์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์์ฒด context window๋ฅผ ๊ฐ์ง subagent๋ฅผ ์์ฑํฉ๋๋ค. Agent ๋๊ตฌ ๋์ ์ฐธ์กฐ | ์๋์ค |
AskUserQuestion |
์๊ตฌ์ฌํญ์ ์์งํ๊ฑฐ๋ ๋ชจํธํจ์ ๋ช ํํ ํ๊ธฐ ์ํด ๊ฐ๊ด์ ์ง๋ฌธ์ ํฉ๋๋ค | ์๋์ค |
Bash |
ํ๊ฒฝ์์ shell ๋ช ๋ น์ ์คํํฉ๋๋ค. Bash ๋๊ตฌ ๋์ ์ฐธ์กฐ | ์ |
CronCreate |
ํ์ฌ ์ธ์
๋ด์์ ๋ฐ๋ณต ๋๋ ์ผํ์ฑ ํ๋กฌํํธ๋ฅผ ์์ฝํฉ๋๋ค. ์์
์ ์ธ์
๋ฒ์์ด๋ฉฐ --resume ๋๋ --continue์์ ๋ง๋ฃ๋์ง ์์ผ๋ฉด ๋ณต์๋ฉ๋๋ค. ์์ฝ๋ ์์
์ฐธ์กฐ |
์๋์ค |
CronDelete |
ID๋ก ์์ฝ๋ ์์ ์ ์ทจ์ํฉ๋๋ค | ์๋์ค |
CronList |
์ธ์ ์ ๋ชจ๋ ์์ฝ๋ ์์ ์ ๋์ดํฉ๋๋ค | ์๋์ค |
Edit |
ํน์ ํ์ผ์ ๋ํ ๋์ ํธ์ง์ ์ํํฉ๋๋ค. Edit ๋๊ตฌ ๋์ ์ฐธ์กฐ | ์ |
EnterPlanMode |
Plan Mode๋ก ์ ํํ์ฌ ์ฝ๋ฉ ์ ์ ์ ๊ทผ ๋ฐฉ์์ ์ค๊ณํฉ๋๋ค | ์๋์ค |
EnterWorktree |
๊ฒฉ๋ฆฌ๋ git worktree๋ฅผ ์์ฑํ๊ณ ์ ํํฉ๋๋ค. ์๋ก์ด worktree๋ฅผ ์์ฑํ๋ ๋์ ํ์ฌ ์ ์ฅ์์ ๊ธฐ์กด worktree๋ก ์ ํํ๋ ค๋ฉด path๋ฅผ ์ ๋ฌํฉ๋๋ค. Subagent์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค |
์๋์ค |
ExitPlanMode |
์น์ธ์ ์ํ ๊ณํ์ ์ ์ํ๊ณ Plan Mode๋ฅผ ์ข ๋ฃํฉ๋๋ค | ์ |
ExitWorktree |
worktree ์ธ์ ์ ์ข ๋ฃํ๊ณ ์๋ ๋๋ ํ ๋ฆฌ๋ก ๋์๊ฐ๋๋ค. Subagent์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค | ์๋์ค |
Glob |
ํจํด ๋งค์นญ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ผ์ ์ฐพ์ต๋๋ค. Glob ๋๊ตฌ ๋์ ์ฐธ์กฐ | ์๋์ค |
Grep |
ํ์ผ ๋ด์ฉ์์ ํจํด์ ๊ฒ์ํฉ๋๋ค. Grep ๋๊ตฌ ๋์ ์ฐธ์กฐ | ์๋์ค |
ListMcpResourcesTool |
์ฐ๊ฒฐ๋ MCP ์๋ฒ์์ ๋ ธ์ถ๋ ๋ฆฌ์์ค๋ฅผ ๋์ดํฉ๋๋ค | ์๋์ค |
LSP |
์ธ์ด ์๋ฒ๋ฅผ ํตํ ์ฝ๋ ์ธํ ๋ฆฌ์ ์ค: ์ ์๋ก ์ด๋, ์ฐธ์กฐ ์ฐพ๊ธฐ, ํ์ ์ค๋ฅ ๋ฐ ๊ฒฝ๊ณ ๋ณด๊ณ . LSP ๋๊ตฌ ๋์ ์ฐธ์กฐ | ์๋์ค |
Monitor |
๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋ช ๋ น์ ์คํํ๊ณ ๊ฐ ์ถ๋ ฅ ๋ผ์ธ์ Claude์ ๋ค์ ์ ๋ฌํ๋ฏ๋ก, Claude๋ ๋ก๊ทธ ํญ๋ชฉ, ํ์ผ ๋ณ๊ฒฝ ๋๋ ๋ํ ์ค ํด๋ง๋ ์ํ์ ๋ฐ์ํ ์ ์์ต๋๋ค. Monitor ๋๊ตฌ ์ฐธ์กฐ | ์ |
NotebookEdit |
Jupyter ๋ ธํธ๋ถ ์ ์ ์์ ํฉ๋๋ค. NotebookEdit ๋๊ตฌ ๋์ ์ฐธ์กฐ | ์ |
PowerShell |
PowerShell ๋ช ๋ น์ ๊ธฐ๋ณธ์ ์ผ๋ก ์คํํฉ๋๋ค. PowerShell ๋๊ตฌ ์ฐธ์กฐ | ์ |
PushNotification |
๋ฐ์คํฌํฑ ์๋ฆผ์ ๋ณด๋ด๊ณ , Remote Control์ด ์ฐ๊ฒฐ๋์์ ๋ ํด๋ํฐ ํธ์๋ฅผ ๋ณด๋ด๋ฏ๋ก, ์ฅ๊ธฐ ์คํ ์์ ๋๋ ์์ฝ๋ ์์ ์ด ์ฌ์ฉ์๊ฐ ์๋ฆฌ๋ฅผ ๋ ๋ฌ์ ๋ ์ฐ๋ฝํ ์ ์์ต๋๋ค. {/* plan-availability: feature=push-notifications providers=anthropic */}ํธ์ ์ ๋ฌ์ Amazon Bedrock, Google Vertex AI ๋๋ Microsoft Foundry์์ ์ ๊ทผํ ์ ์๋ Anthropic ํธ์คํ ์ธํ๋ผ๋ฅผ ํตํด ์คํ๋ฉ๋๋ค | ์๋์ค |
Read |
ํ์ผ์ ๋ด์ฉ์ ์ฝ์ต๋๋ค. Read ๋๊ตฌ ๋์ ์ฐธ์กฐ | ์๋์ค |
ReadMcpResourceTool |
URI๋ก ํน์ MCP ๋ฆฌ์์ค๋ฅผ ์ฝ์ต๋๋ค | ์๋์ค |
RemoteTrigger |
claude.ai์์ Routines๋ฅผ ์์ฑ, ์
๋ฐ์ดํธ, ์คํ ๋ฐ ๋์ดํฉ๋๋ค. /schedule ๋ช
๋ น์ ์ง์ํฉ๋๋ค. {/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}Routines๋ claude.ai์ ์์ผ๋ฉฐ Pro, Max, Team ๋๋ Enterprise ํ๋์ด ํ์ํ๋ฏ๋ก, ์ด ๋๊ตฌ๋ Amazon Bedrock, Google Vertex AI ๋๋ Microsoft Foundry์์ ์ ๊ทผํ ์ ์์ต๋๋ค |
์๋์ค |
SendMessage |
agent team ํ์์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ฑฐ๋, agent ID๋ก subagent๋ฅผ ์ฌ๊ฐํฉ๋๋ค. ์ค์ง๋ subagent๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์๋์ผ๋ก ์ฌ๊ฐ๋ฉ๋๋ค. CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1์ด ์ค์ ๋์์ ๋๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค |
์๋์ค |
ShareOnboardingGuide |
{/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}}ONBOARDING.md๋ฅผ ์
๋ก๋ํ๊ณ ํ์์ด Claude Code์์ ์ด ์ ์๋ ๊ณต์ ๋งํฌ๋ฅผ ๋ฐํํฉ๋๋ค. ๊ฐ์ด๋๊ฐ ์์ฑ๋ ํ /team-onboarding์์ ํธ์ถ๋ฉ๋๋ค. Pro, Max, Team ๋ฐ Enterprise ํ๋์ claude.ai ๊ตฌ๋
์๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค |
์ |
Skill |
์ฃผ ๋ํ ๋ด์์ skill์ ์คํํฉ๋๋ค | ์ |
TaskCreate |
์์ ๋ชฉ๋ก์ ์ ์์ ์ ์์ฑํฉ๋๋ค | ์๋์ค |
TaskGet |
ํน์ ์์ ์ ์ ์ฒด ์ธ๋ถ ์ ๋ณด๋ฅผ ๊ฒ์ํฉ๋๋ค | ์๋์ค |
TaskList |
ํ์ฌ ์ํ์ ํจ๊ป ๋ชจ๋ ์์ ์ ๋์ดํฉ๋๋ค | ์๋์ค |
TaskOutput |
(๋ ์ด์ ์ฌ์ฉ๋์ง ์์) ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์์ ์ถ๋ ฅ์ ๊ฒ์ํฉ๋๋ค. ์์
์ ์ถ๋ ฅ ํ์ผ ๊ฒฝ๋ก์์ Read๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค |
์๋์ค |
TaskStop |
ID๋ก ์คํ ์ค์ธ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ์ ์ข ๋ฃํฉ๋๋ค | ์๋์ค |
TaskUpdate |
์์ ์ํ, ์ข ์์ฑ, ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ์์ ์ ์ญ์ ํฉ๋๋ค | ์๋์ค |
TeamCreate |
์ฌ๋ฌ ํ์์ด ์๋ agent team์ ์์ฑํฉ๋๋ค. CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1์ด ์ค์ ๋์์ ๋๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค |
์๋์ค |
TeamDelete |
agent team์ ํด์ฐํ๊ณ ํ์ ํ๋ก์ธ์ค๋ฅผ ์ ๋ฆฌํฉ๋๋ค. CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1์ด ์ค์ ๋์์ ๋๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค |
์๋์ค |
TodoWrite |
์ธ์ ์์ ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ๋น๋ํํ ๋ชจ๋ ๋ฐ Agent SDK์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ๋ํํ ์ธ์ ์ ๋์ TaskCreate, TaskGet, TaskList, TaskUpdate๋ฅผ ์ฌ์ฉํฉ๋๋ค | ์๋์ค |
ToolSearch |
tool search๊ฐ ํ์ฑํ๋์์ ๋ ์ง์ฐ๋ ๋๊ตฌ๋ฅผ ๊ฒ์ํ๊ณ ๋ก๋ํฉ๋๋ค | ์๋์ค |
WebFetch |
์ง์ ๋ URL์์ ์ฝํ ์ธ ๋ฅผ ๊ฐ์ ธ์ต๋๋ค. WebFetch ๋๊ตฌ ๋์ ์ฐธ์กฐ | ์ |
WebSearch |
์น ๊ฒ์์ ์ํํฉ๋๋ค. WebSearch ๋๊ตฌ ๋์ ์ฐธ์กฐ | ์ |
Write |
ํ์ผ์ ์์ฑํ๊ฑฐ๋ ๋ฎ์ด์๋๋ค. Write ๋๊ตฌ ๋์ ์ฐธ์กฐ | ์ |
๊ถํ ๊ท์น ๋ฐ hook์ผ๋ก ๋๊ตฌ ๊ตฌ์ฑ
๋๋ถ๋ถ์ ๊ฒฝ์ฐ Claude๊ฐ ์ด๋ฌํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ฉฐ Claude์ ์ํธ์์ฉํ ๋ ๋๊ตฌ ์ด๋ฆ์ ์ง์ ์ง์ ํ ํ์๊ฐ ์์ต๋๋ค. ๊ถํ ๋ฐ ๊ธฐํ ๊ตฌ์ฑ์ ์ ์ํ ๋ ๋๊ตฌ ์ด๋ฆ์ ์ง์ ์ฐธ์กฐํฉ๋๋ค:
- ์ค์ ์
permissions.allow๋ฐpermissions.deny๋ฐ/permissions์ธํฐํ์ด์ค์์ - Agent SDK์
allowedTools๋ฐdisallowedTools์ต์ ์์ - subagent์
tools๋๋disallowedToolsfrontmatter์์ - skill์
allowed-toolsfrontmatter์์ - hook์
if์กฐ๊ฑด์์
์ด๋ค ๋ชจ๋ ๋์ผํ ๊ท์น ํ์์ธ ToolName(specifier)๋ฅผ ํ์ฉํฉ๋๋ค. specifier๋ ๋๊ตฌ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ, ์ฌ๋ฌ ๋๊ตฌ๊ฐ ํ์์ ๊ณต์ ํฉ๋๋ค:
| ๊ท์น ํ์ | ์ ์ฉ ๋์ | ์ธ๋ถ ์ ๋ณด |
|---|---|---|
Bash(npm run *) |
Bash, Monitor | ๋ช ๋ น ํจํด ๋งค์นญ |
PowerShell(Get-ChildItem *) |
PowerShell | ๋ช ๋ น ํจํด ๋งค์นญ |
Read(~/secrets/**) |
Read, Grep, Glob, LSP | ๊ฒฝ๋ก ํจํด ๋งค์นญ |
Edit(/src/**) |
Edit, Write, NotebookEdit | ๊ฒฝ๋ก ํจํด ๋งค์นญ |
Skill(deploy *) |
Skill | Skill ์ด๋ฆ ๋งค์นญ |
Agent(Explore) |
Agent | Subagent ํ์ ๋งค์นญ |
WebFetch(domain:example.com) |
WebFetch | ๋๋ฉ์ธ ๋งค์นญ |
WebSearch |
WebSearch | specifier ์์; ๋๊ตฌ ์ ์ฒด๋ฅผ ํ์ฉํ๊ฑฐ๋ ๊ฑฐ๋ถํฉ๋๋ค |
ExitPlanMode ๋๋ ShareOnboardingGuide์ ๊ฐ์ด ์ฌ๊ธฐ์ ๋์ด๋์ง ์์ ๋๊ตฌ๋ specifier ์์ด ๋๊ตฌ ์ด๋ฆ๋ง ํ์ฉํฉ๋๋ค.
Edit(...) allow ๊ท์น์ ๋์ผํ ๊ฒฝ๋ก์ ๋ํ ์ฝ๊ธฐ ์ ๊ทผ๋ ๋ถ์ฌํ๋ฏ๋ก, ์ผ์นํ๋ Read(...) ๊ท์น์ด ํ์ํ์ง ์์ต๋๋ค.
Hook matcher ํ๋๋ ๊ดํธ๋ก ๋ฌถ์ธ ๊ท์น ํ์์ด ์๋ ๋๊ตฌ ์ด๋ฆ๋ง ์ฌ์ฉํฉ๋๋ค. ๋งค์นญ ๊ท์น์ matcher ํจํด์ ์ฐธ์กฐํฉ๋๋ค. ๊ฐ ๋๊ตฌ๊ฐ hook์ tool_input์ ์ ๋ฌํ๋ ํ๋ ์ด๋ฆ์ PreToolUse ์
๋ ฅ ์ฐธ์กฐ๋ฅผ ์ฐธ์กฐํฉ๋๋ค.
Agent ๋๊ตฌ ๋์
Agent ๋๊ตฌ๋ ๋ณ๋์ context window์์ subagent๋ฅผ ์์ฑํฉ๋๋ค. Subagent๋ ์์ ์ ์์
์ ์์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ๋ค์ ๋จ์ผ ํ
์คํธ ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ชจ ๋ํ์ ๋ฐํํฉ๋๋ค. ๋ถ๋ชจ๋ subagent์ ์ค๊ฐ ๋๊ตฌ ํธ์ถ์ด๋ ์ถ๋ ฅ์ ๋ณด์ง ๋ชปํ๊ณ , ์ต์ข
๊ฒฐ๊ณผ๋ง ๋ด
๋๋ค. Subagent๊ฐ ์คํํ๋ ํด์ ์๋ฅผ ์ ํํ๋ ค๋ฉด subagent ์ ์์์ maxTurns๋ฅผ ์ค์ ํฉ๋๋ค.
๋์ผํ Agent ๋๊ตฌ๋ fork ๋ชจ๋๊ฐ ํ์ฑํ๋์์ ๋ forked subagent๋ ์์ํฉ๋๋ค. fork๋ ์๋ก ์์ํ๋ ๋์ ์ ์ฒด ๋ถ๋ชจ ๋ํ๋ฅผ ์์ํ๊ณ , ํญ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ๋๋ฉฐ, ์ฌ์ ํ ํฐ๋ฏธ๋์์ ๊ถํ ํ๋กฌํํธ๋ฅผ ํ์ํฉ๋๋ค. ์ด ์น์ ์ ๋๋จธ์ง ๋ถ๋ถ์ ๋ช ๋ช ๋ subagent๋ฅผ ์ค๋ช ํฉ๋๋ค.
๋ช
๋ช
๋ subagent๊ฐ ์ฌ์ฉํ ์ ์๋ ๋๊ตฌ๋ subagent ์ ์์ tools ๋ฐ disallowedTools ํ๋์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค:
- ํ๋๊ฐ ์ค์ ๋์ง ์์: subagent๋ ๋ถ๋ชจ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋๊ตฌ๋ฅผ ์์ํฉ๋๋ค.
tools๋ง: subagent๋ ๋์ด๋ ๋๊ตฌ๋ง ๊ฐ์ ธ์ต๋๋ค.disallowedTools๋ง: subagent๋ ๋์ด๋ ๋๊ตฌ๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ถ๋ชจ ๋๊ตฌ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.- ๋ ๋ค ์ค์ ๋จ:
disallowedTools๊ฐ ์ฐ์ ํฉ๋๋ค. ๋ ๋ค์ ๋์ด๋ ๋๊ตฌ๋ ์ ๊ฑฐ๋ฉ๋๋ค.
Subagent๋ฅผ ์์ํ๋ ๊ฒ ์์ฒด๋ ๊ถํ์ ์์ฒญํ์ง ์์ต๋๋ค. Subagent์ ์์ฒด ๋๊ตฌ ํธ์ถ์ ์คํ๋ ๋ ๊ถํ ๊ท์น์ ๋ํด ํ์ธ๋ฉ๋๋ค:
- ํฌ๊ทธ๋ผ์ด๋ subagent๋ ๊ฐ ๋๊ตฌ ํธ์ถ์ด ๋ฐ์ํ๋ ์๊ฐ ์ฃผ ๋ํ์์ ๋ณด๊ฒ ๋ ๋์ผํ ๊ถํ ํ๋กฌํํธ๋ฅผ ํ์ํฉ๋๋ค.
- ๋ฐฑ๊ทธ๋ผ์ด๋ subagent๋ ํ๋กฌํํธ๋ฅผ ํ์ํ์ง ์์ต๋๋ค. ์ด๋ค์ ์ธ์ ์์ ์ด๋ฏธ ๋ถ์ฌ๋ ๊ถํ์ผ๋ก ์คํ๋๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ํ๋กฌํํธ๋ฅผ ํ์ํ ๋๊ตฌ ํธ์ถ์ ์๋์ผ๋ก ๊ฑฐ๋ถํฉ๋๋ค. ๊ฑฐ๋ถ ํ subagent๋ ํด๋น ๋๊ตฌ ์์ด ๊ณ์ ์งํํฉ๋๋ค.
Subagent๊ฐ ๋จผ์ ๋๋ฌํ ์ ์๋ ๊ฒ์ ์ ํํ๋ ค๋ฉด tools ํ๋๋ฅผ ์ขํ๊ณ , Bash๋ฅผ ๋ชฉ๋ก์์ ์ ์ธํ๊ฑฐ๋, Subagent ๊ธฐ๋ฅ ์ ์ด์์ ์ค๋ช
ํ ๋๋ก ์ค์ ์์ ๊ฑฐ๋ถ ๊ท์น์ ์ค์ ํฉ๋๋ค. ํฌ๊ทธ๋ผ์ด๋์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค ์ ํ์ ๋ํ ์์ธํ ๋ด์ฉ์ Subagent๋ฅผ ํฌ๊ทธ๋ผ์ด๋ ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ์ ์ฐธ์กฐํฉ๋๋ค.
Bash ๋๊ตฌ ๋์
Bash ๋๊ตฌ๋ ๋ค์์ ์ง์์ฑ ๋์์ผ๋ก ๊ฐ ๋ช ๋ น์ ๋ณ๋์ ํ๋ก์ธ์ค์์ ์คํํฉ๋๋ค:
- Claude๊ฐ ์ฃผ ์ธ์
์์
cd๋ฅผ ์คํํ ๋, ์๋ก์ด ์์ ๋๋ ํ ๋ฆฌ๋ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ๋ด์ ๋จธ๋ฌผ๋ฌ ์๊ฑฐ๋--add-dir,/add-dir, ๋๋ ์ค์ ์additionalDirectories๋ก ์ถ๊ฐํ ์ถ๊ฐ ์์ ๋๋ ํ ๋ฆฌ ๋ด์ ๋จธ๋ฌผ๋ฌ ์๋ ํ ์ดํ Bash ๋ช ๋ น์ผ๋ก ์ด์๋ฉ๋๋ค. Subagent ์ธ์ ์ ์ ๋ ์์ ๋๋ ํ ๋ฆฌ ๋ณ๊ฒฝ์ ์ด์ํ์ง ์์ต๋๋ค.cd๊ฐ ํด๋น ๋๋ ํ ๋ฆฌ ์ธ๋ถ๋ก ์ด๋ํ๋ฉด, Claude Code๋ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ก ์ฌ์ค์ ํ๊ณ ๋๊ตฌ ๊ฒฐ๊ณผ์Shell cwd was reset to <dir>์ ์ถ๊ฐํฉ๋๋ค.- ๋ชจ๋ Bash ๋ช
๋ น์ด ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์์ ์์ํ๋๋ก ์ด ์ด์์ ๋นํ์ฑํํ๋ ค๋ฉด
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1์ ์ค์ ํฉ๋๋ค.
- ํ๊ฒฝ ๋ณ์๋ ์ง์๋์ง ์์ต๋๋ค. ํ ๋ช
๋ น์
export๋ ๋ค์ ๋ช ๋ น์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Claude Code๋ฅผ ์์ํ๊ธฐ ์ ์ virtualenv ๋๋ conda ํ๊ฒฝ์ ํ์ฑํํฉ๋๋ค. Bash ๋ช
๋ น ์ ์ฒด์์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ง์ํ๋ ค๋ฉด Claude Code๋ฅผ ์์ํ๊ธฐ ์ ์ CLAUDE_ENV_FILE์ shell ์คํฌ๋ฆฝํธ๋ก ์ค์ ํ๊ฑฐ๋, SessionStart hook์ ์ฌ์ฉํ์ฌ ๋์ ์ผ๋ก ์ฑ์๋๋ค.
๋ ๊ฐ์ง ์ ํ์ด ๊ฐ ๋ช ๋ น์ ์ ํํฉ๋๋ค:
- Timeout: ๊ธฐ๋ณธ๊ฐ์ 2๋ถ์
๋๋ค. Claude๋
timeout๋งค๊ฐ๋ณ์๋ก ๋ช ๋ น๋น ์ต๋ 10๋ถ์ ์์ฒญํ ์ ์์ต๋๋ค.BASH_DEFAULT_TIMEOUT_MS๋ฐBASH_MAX_TIMEOUT_MS๋ก ๊ธฐ๋ณธ๊ฐ ๋ฐ ์ํ์ ์ฌ์ ์ํฉ๋๋ค. - ์ถ๋ ฅ ๊ธธ์ด: ๊ธฐ๋ณธ๊ฐ์ 30,000์์
๋๋ค. ๋ช
๋ น์ด ๊ทธ ์ด์์ ์์ฑํ๋ฉด, Claude Code๋ ์ ์ฒด ์ถ๋ ฅ์ ์ธ์
๋๋ ํ ๋ฆฌ์ ํ์ผ์ ์ ์ฅํ๊ณ Claude์ ํ์ผ ๊ฒฝ๋ก์ ์์ ๋ถ๋ถ์ ์งง์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. Claude๋ ๋๋จธ์ง๊ฐ ํ์ํ ๋ ํด๋น ํ์ผ์ ์ฝ๊ฑฐ๋ ๊ฒ์ํฉ๋๋ค.
BASH_MAX_OUTPUT_LENGTH๋ก ์ ํ์ ๋์ ๋๋ค. ์ต๋ 150,000์๊น์ง ๊ฐ๋ฅํฉ๋๋ค.
dev ์๋ฒ ๋๋ watch ๋น๋์ ๊ฐ์ ์ฅ๊ธฐ ์คํ ํ๋ก์ธ์ค์ ๊ฒฝ์ฐ, Claude๋ run_in_background: true๋ฅผ ์ค์ ํ์ฌ ๋ช
๋ น์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ผ๋ก ์์ํ๊ณ ์คํ๋๋ ๋์ ๊ณ์ ์์
ํ ์ ์์ต๋๋ค. /tasks๋ก ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ ๋์ดํ๊ณ ์ค์งํฉ๋๋ค.
Edit ๋๊ตฌ ๋์
Edit ๋๊ตฌ๋ ์ ํํ ๋ฌธ์์ด ๊ต์ฒด๋ฅผ ์ํํฉ๋๋ค. old_string๊ณผ new_string์ ๊ฐ์ ธ์ ์ฒซ ๋ฒ์งธ๋ฅผ ๋ ๋ฒ์งธ๋ก ๊ต์ฒดํฉ๋๋ค. ์ ๊ท์์ด๋ fuzzy ๋งค์นญ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
ํธ์ง์ด ์ ์ฉ๋๋ ค๋ฉด ์ธ ๊ฐ์ง ํ์ธ์ด ํต๊ณผํด์ผ ํฉ๋๋ค:
- ํธ์ง ์ ์ฝ๊ธฐ: Claude๋ ํ์ฌ ๋ํ์์ ํ์ผ์ ์ฝ์์ด์ผ ํ๋ฉฐ, ํด๋น ์ฝ๊ธฐ ์ดํ ํ์ผ์ด ๋์คํฌ์์ ๋ณ๊ฒฝ๋์ง ์์์ด์ผ ํฉ๋๋ค. ์ด ํ์ธ์ ๋จผ์ ์คํ๋๋ฉฐ, ๋ฌธ์์ด ๋งค์นญ ์ ์ ์คํ๋ฉ๋๋ค.
- ๋งค์นญ:
old_string์ ํ์ผ์ ์ ํํ ์์ฑ๋ ๋๋ก ๋ํ๋์ผ ํฉ๋๋ค. ๊ณต๋ฐฑ์ด๋ ๋ค์ฌ์ฐ๊ธฐ์ ๋จ์ผ ๋ฌธ์ ์ฐจ์ด๋ ๋ฏธ์คํ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค. - ๊ณ ์ ์ฑ:
old_string์ ์ ํํ ํ ๋ฒ ๋ํ๋์ผ ํฉ๋๋ค. ํ ๋ฒ ์ด์ ๋ํ๋๋ฉด, Claude๋ ํ ๋ฐ์์ ๊ณ ์ ํ๊ธฐ์ ์ถฉ๋ถํ ์ฃผ๋ณ ์ปจํ ์คํธ๊ฐ ์๋ ๋ ๊ธด ๋ฌธ์์ด์ ์ ๊ณตํ๊ฑฐ๋,replace_all: true๋ฅผ ์ค์ ํ์ฌ ๋ชจ๋ ๊ต์ฒดํฉ๋๋ค.
Bash๋ก ํ์ผ์ ๋ณด๋ ๊ฒ๋ ๋ช
๋ น์ด ๋จ์ผ ํ์ผ์ ๋ํ cat path/to/file ๋๋ sed -n 'X,Yp' path/to/file์ผ ๋ ํ์ดํ๋ ๋ฆฌ๋ค์ด๋ ํธ๊ฐ ์์ผ๋ฉด ํธ์ง ์ ์ฝ๊ธฐ ์๊ตฌ์ฌํญ์ ๋ง์กฑํฉ๋๋ค. head, tail ๋๋ ํ์ดํ๋ ์ถ๋ ฅ๊ณผ ๊ฐ์ ๋ค๋ฅธ Bash ๋ช
๋ น์ ๊ณ์ฐ๋์ง ์์ผ๋ฉฐ, Claude๋ ์ด ๊ฒฝ์ฐ ํธ์ง ์ ์ Read๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ด๋ ํธ์ง ์ ๊ฒฉ์ฑ์๋ง ์ํฅ์ ๋ฏธ์น๋ฉฐ, ๊ถํ์๋ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค. Read ๋ฐ Edit ๊ฑฐ๋ถ ๊ท์น์ Claude Code๊ฐ cat, head, tail ๋ฐ sed์ ๊ฐ์ด Bash์์ ์ธ์ํ๋ ํ์ผ ๋ช
๋ น์๋ ์ ์ฉ๋์ง๋ง, ํ์ผ์ ๊ฐ์ ์ ์ผ๋ก ์ฝ๊ฑฐ๋ ์ฐ๋ Python ๋๋ Node ์คํฌ๋ฆฝํธ์ ๊ฐ์ ์์์ ํ์ ํ๋ก์ธ์ค์๋ ์ ์ฉ๋์ง ์์ต๋๋ค. OS ์์ค ์ ์ฉ์ ์ํด ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ํฌํจํ๋ ค๋ฉด sandbox๋ฅผ ํ์ฑํํฉ๋๋ค.
Glob ๋๊ตฌ ๋์
Glob ๋๊ตฌ๋ ์ด๋ฆ ํจํด์ผ๋ก ํ์ผ์ ์ฐพ์ต๋๋ค. ์ฌ๊ท ๋๋ ํ ๋ฆฌ ๋งค์นญ์ ์ํ **๋ฅผ ํฌํจํ ํ์ค glob ๊ตฌ๋ฌธ์ ์ง์ํฉ๋๋ค:
**/*.js๋ ๋ชจ๋ ๊น์ด์ ๋ชจ๋.jsํ์ผ๊ณผ ์ผ์นํฉ๋๋คsrc/**/*.ts๋src/์๋์ ๋ชจ๋.tsํ์ผ๊ณผ ์ผ์นํฉ๋๋ค*.{json,yaml}์ ํ์ฌ ๋๋ ํ ๋ฆฌ์.json๋ฐ.yamlํ์ผ๊ณผ ์ผ์นํฉ๋๋ค
๊ฒฐ๊ณผ๋ ์์ ์๊ฐ์ผ๋ก ์ ๋ ฌ๋๊ณ 100๊ฐ ํ์ผ๋ก ์ ํ๋ฉ๋๋ค. ์ํ์ ๋๋ฌํ๋ฉด, Claude๋ ๊ฒฐ๊ณผ์์ ์๋ฆผ ํ๋๊ทธ๋ฅผ ๋ณด๊ณ ํจํด์ ์ขํ ์ ์์ต๋๋ค.
Glob์ ๊ธฐ๋ณธ์ ์ผ๋ก .gitignore๋ฅผ ์กด์คํ์ง ์์ผ๋ฏ๋ก, gitignored ํ์ผ์ ์ถ์ ๋ ํ์ผ๊ณผ ํจ๊ป ์ฐพ์ต๋๋ค. ์ด๋ gitignored ํ์ผ์ ๊ฑด๋๋ฐ๋ Grep๊ณผ ๋ค๋ฆ
๋๋ค. Glob์ด .gitignore๋ฅผ ์กด์คํ๋๋ก ํ๋ ค๋ฉด Claude Code๋ฅผ ์์ํ๊ธฐ ์ ์ CLAUDE_CODE_GLOB_NO_IGNORE=false๋ฅผ ์ค์ ํฉ๋๋ค.
Grep ๋๊ตฌ ๋์
Grep ๋๊ตฌ๋ ํ์ผ ๋ด์ฉ์์ ํจํด์ ๊ฒ์ํฉ๋๋ค. Glob์ด ์ด๋ฆ์ผ๋ก ํ์ผ์ ์ฐพ๋ ๊ฒฝ์ฐ, Grep์ ํ์ผ ๋ด๋ถ์ ๋ผ์ธ์ ์ฐพ์ต๋๋ค.
Grep์ ripgrep์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ POSIX grep์ด ์๋ ripgrep์ ์ ๊ท์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค. ์ ๊ท์ ๋ฉํ๋ฌธ์๋ฅผ ํฌํจํ๋ ํจํด์ ์ด์ค์ผ์ดํ๊ฐ ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, Go ์ฝ๋์์ interface{}๋ฅผ ์ฐพ์ผ๋ ค๋ฉด interface\{\} ํจํด์ด ํ์ํฉ๋๋ค.
์ธ ๊ฐ์ง ์ถ๋ ฅ ๋ชจ๋๋ ๋ฐํ๋๋ ๋ด์ฉ์ ์ ์ดํฉ๋๋ค:
files_with_matches: ํ์ผ ๊ฒฝ๋ก๋ง, ๋ผ์ธ ๋ด์ฉ ์์. ์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.content: ํ์ผ ๋ฐ ๋ผ์ธ ๋ฒํธ๊ฐ ์๋ ์ผ์นํ๋ ๋ผ์ธ.count: ํ์ผ๋น ์ผ์น ์.
Claude๋ **/*.tsx์ ๊ฐ์ glob ๋งค๊ฐ๋ณ์๋ก ํ์ผ๋ณ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฒ์ ์ง์ ํ๊ฑฐ๋, py ๋๋ rust์ ๊ฐ์ type ๋งค๊ฐ๋ณ์๋ก ์ธ์ด๋ณ๋ก ๋ฒ์ ์ง์ ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํจํด์ ๋จ์ผ ๋ผ์ธ ๋ด์์ ์ผ์นํฉ๋๋ค. Claude๋ multiline: true๋ฅผ ์ค์ ํ์ฌ ๋ผ์ธ ๊ฒฝ๊ณ๋ฅผ ๋์ด ์ผ์น์ํฌ ์ ์์ต๋๋ค.
Grep์ .gitignore๋ฅผ ์กด์คํ๋ฏ๋ก gitignored ํ์ผ์ ๊ฑด๋๋๋๋ค. gitignored ํ์ผ์ ๊ฒ์ํ๋ ค๋ฉด Claude๋ ๊ฒฝ๋ก๋ฅผ ์ง์ ์ ๋ฌํฉ๋๋ค.
LSP ๋๊ตฌ ๋์
LSP ๋๊ตฌ๋ ์คํ ์ค์ธ ์ธ์ด ์๋ฒ์์ Claude์ ์ฝ๋ ์ธํ ๋ฆฌ์ ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ฐ ํ์ผ ํธ์ง ํ ์๋์ผ๋ก ํ์ ์ค๋ฅ ๋ฐ ๊ฒฝ๊ณ ๋ฅผ ๋ณด๊ณ ํ๋ฏ๋ก Claude๋ ๋ณ๋์ ๋น๋ ๋จ๊ณ ์์ด ๋ฌธ์ ๋ฅผ ์์ ํ ์ ์์ต๋๋ค. Claude๋ ๋ํ ์ฝ๋๋ฅผ ํ์ํ๊ธฐ ์ํด ์ง์ ํธ์ถํ ์ ์์ต๋๋ค:
- ๊ธฐํธ์ ์ ์๋ก ์ด๋
- ๊ธฐํธ์ ๋ํ ๋ชจ๋ ์ฐธ์กฐ ์ฐพ๊ธฐ
- ์์น์ ํ์ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ
- ํ์ผ ๋๋ ์ํฌ์คํ์ด์ค์ ๊ธฐํธ ๋์ด
- ์ธํฐํ์ด์ค์ ๊ตฌํ ์ฐพ๊ธฐ
- ํธ์ถ ๊ณ์ธต ์ถ์
์ด ๋๊ตฌ๋ ์ธ์ด์ ๋ํ ์ฝ๋ ์ธํ ๋ฆฌ์ ์ค ํ๋ฌ๊ทธ์ธ์ ์ค์นํ ๋๊น์ง ๋นํ์ฑ ์ํ์ ๋๋ค. ํ๋ฌ๊ทธ์ธ์ ์ธ์ด ์๋ฒ ๊ตฌ์ฑ์ ๋ฒ๋ค๋ก ์ ๊ณตํ๋ฉฐ, ์๋ฒ ๋ฐ์ด๋๋ฆฌ๋ ๋ณ๋๋ก ์ค์นํฉ๋๋ค.
Monitor ๋๊ตฌ
Monitor ๋๊ตฌ๋ Claude Code v2.1.98 ์ด์์ด ํ์ํฉ๋๋ค.
Monitor ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด Claude๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋ฌด์ธ๊ฐ๋ฅผ ๊ฐ์ํ๊ณ ๋ํ๋ฅผ ์ผ์ ์ค์งํ์ง ์๊ณ ๋ณ๊ฒฝ๋ ๋ ๋ฐ์ํ ์ ์์ต๋๋ค. Claude์ ๋ค์์ ์์ฒญํฉ๋๋ค:
- ๋ก๊ทธ ํ์ผ์ ์ถ์ ํ๊ณ ์ค๋ฅ๊ฐ ๋ํ๋๋ฉด ํ๋๊ทธ ์ง์
- PR ๋๋ CI ์์ ์ ํด๋งํ๊ณ ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๋ณด๊ณ
- ํ์ผ ๋ณ๊ฒฝ์ ์ํด ๋๋ ํ ๋ฆฌ ๊ฐ์
- ์ง์ ํ ์ฅ๊ธฐ ์คํ ์คํฌ๋ฆฝํธ์ ์ถ๋ ฅ ์ถ์
Claude๋ ๊ฐ์๋ฅผ ์ํ ์์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ณ , ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํํ๋ฉฐ, ๊ฐ ์ถ๋ ฅ ๋ผ์ธ์ด ๋์ฐฉํ ๋ ์์ ํฉ๋๋ค. ๋์ผํ ์ธ์ ์์ ๊ณ์ ์์ ํ๊ณ Claude๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ๊ฐ์ ํฉ๋๋ค. Claude์ ์ทจ์ํ๋๋ก ์์ฒญํ๊ฑฐ๋ ์ธ์ ์ ์ข ๋ฃํ์ฌ ๋ชจ๋ํฐ๋ฅผ ์ค์งํฉ๋๋ค.
Monitor๋ Bash์ ๋์ผํ ๊ถํ ๊ท์น์ ์ฌ์ฉํ๋ฏ๋ก, Bash์ ๋ํด ์ค์ ํ allow ๋ฐ deny ํจํด์ด ์ฌ๊ธฐ์๋ ์ ์ฉ๋ฉ๋๋ค. Amazon Bedrock, Google Vertex AI ๋๋ Microsoft Foundry์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. DISABLE_TELEMETRY ๋๋ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC์ด ์ค์ ๋์์ ๋๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ฌ๊ทธ์ธ์ Claude์ ์์ํ๋๋ก ์์ฒญํ๋ ๋์ ํ๋ฌ๊ทธ์ธ์ด ํ์ฑํ๋ ๋ ์๋์ผ๋ก ์์๋๋ ๋ชจ๋ํฐ๋ฅผ ์ ์ธํ ์ ์์ต๋๋ค. ํ๋ฌ๊ทธ์ธ ๋ชจ๋ํฐ๋ฅผ ์ฐธ์กฐํฉ๋๋ค.
NotebookEdit ๋๊ตฌ ๋์
NotebookEdit์ cell_id๋ก ๋์ ์
์ ์ง์ ํ์ฌ Jupyter ๋
ธํธ๋ถ์ ํ ๋ฒ์ ํ ์
์ฉ ์์ ํฉ๋๋ค. ์ผ๋ฐ ํ์ผ์์ Edit์ฒ๋ผ ๋
ธํธ๋ถ ์ ์ฒด์์ ๋ฌธ์์ด ๊ต์ฒด๋ฅผ ์ํํ์ง ์์ต๋๋ค.
์ธ ๊ฐ์ง ํธ์ง ๋ชจ๋๋ ๋์ ์ ์ ๋ฐ์ํ๋ ์ผ์ ์ ์ดํฉ๋๋ค:
replace: ์ ์ ์์ค๋ฅผ ๋ฎ์ด์๋๋ค. ์ด๊ฒ์ด ๊ธฐ๋ณธ๊ฐ์ ๋๋ค.insert: ๋์ ํ์ ์ ์ ์ ์ถ๊ฐํฉ๋๋ค.cell_id๊ฐ ์์ผ๋ฉด, ์ ์ ์ ๋ ธํธ๋ถ์ ์์ ๋ถ๋ถ์ผ๋ก ์ด๋ํฉ๋๋ค.cell_type์code๋๋markdown์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.delete: ๋์ ์ ์ ์ ๊ฑฐํฉ๋๋ค.
๊ถํ ๊ท์น์ Edit(...) ๊ฒฝ๋ก ํ์์ ์ฌ์ฉํฉ๋๋ค. Edit(notebooks/**)์ ๊ฐ์ ๊ท์น์ ํด๋น ๋๋ ํ ๋ฆฌ์ ํ์ผ์ ๋ํ NotebookEdit ํธ์ถ์ ํฌํจํฉ๋๋ค.
PowerShell ๋๊ตฌ
PowerShell ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด Claude๋ PowerShell ๋ช ๋ น์ ๊ธฐ๋ณธ์ ์ผ๋ก ์คํํ ์ ์์ต๋๋ค. Windows์์๋ ์ด๊ฒ์ด Git Bash๋ฅผ ํตํด ๋ผ์ฐํ ํ๋ ๋์ PowerShell์์ ๋ช ๋ น์ ์คํํ๋ค๋ ์๋ฏธ์ ๋๋ค. Git Bash๊ฐ ์๋ Windows์์๋ ๋๊ตฌ๊ฐ ์๋์ผ๋ก ํ์ฑํ๋ฉ๋๋ค. Git Bash๊ฐ ์ค์น๋ Windows์์๋ ๋๊ตฌ๊ฐ ์ ์ง์ ์ผ๋ก ์ถ์๋๊ณ ์์ต๋๋ค. Linux, macOS ๋ฐ WSL์์๋ ๋๊ตฌ๊ฐ ์ตํธ์ธ์ ๋๋ค.
PowerShell ๋๊ตฌ ํ์ฑํ
ํ๊ฒฝ ๋๋ settings.json์์ CLAUDE_CODE_USE_POWERSHELL_TOOL=1์ ์ค์ ํฉ๋๋ค:
{
"env": {
"CLAUDE_CODE_USE_POWERSHELL_TOOL": "1"
}
}
Windows์์๋ ๋ณ์๋ฅผ 0์ผ๋ก ์ค์ ํ์ฌ ์ถ์๋ฅผ ๊ฑฐ๋ถํ ์ ์์ต๋๋ค. Linux, macOS ๋ฐ WSL์์๋ ๋๊ตฌ์ PowerShell 7 ์ด์์ด ํ์ํฉ๋๋ค: pwsh๋ฅผ ์ค์นํ๊ณ PATH์ ์๋์ง ํ์ธํฉ๋๋ค.
Windows์์ Claude Code๋ PowerShell 7+์ ๊ฒฝ์ฐ pwsh.exe๋ฅผ ์๋ ๊ฐ์งํ๋ฉฐ PowerShell 5.1์ ๊ฒฝ์ฐ powershell.exe๋ก ํด๋ฐฑํฉ๋๋ค. ๋๊ตฌ๊ฐ ํ์ฑํ๋๋ฉด Claude๋ PowerShell์ ๊ธฐ๋ณธ ์
ธ๋ก ์ทจ๊ธํฉ๋๋ค. Bash ๋๊ตฌ๋ Git Bash๊ฐ ์ค์น๋์ด ์์ ๋ POSIX ์คํฌ๋ฆฝํธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ค์ , hook ๋ฐ skill์ shell ์ ํ
์ธ ๊ฐ์ง ์ถ๊ฐ ์ค์ ์ด PowerShell์ด ์ฌ์ฉ๋๋ ์์น๋ฅผ ์ ์ดํฉ๋๋ค:
settings.json์"defaultShell": "powershell": ๋ํํ!๋ช ๋ น์ PowerShell์ ํตํด ๋ผ์ฐํ ํฉ๋๋ค. PowerShell ๋๊ตฌ๊ฐ ํ์ฑํ๋์ด์ผ ํฉ๋๋ค.- ๊ฐ๋ณ command hook์
"shell": "powershell": ํด๋น hook์ PowerShell์์ ์คํํฉ๋๋ค. Hook์ PowerShell์ ์ง์ ์์ฑํ๋ฏ๋กCLAUDE_CODE_USE_POWERSHELL_TOOL์ ๊ด๊ณ์์ด ์๋ํฉ๋๋ค. - skill frontmatter์
shell: powershell:!`command`๋ธ๋ก์ PowerShell์์ ์คํํฉ๋๋ค. PowerShell ๋๊ตฌ๊ฐ ํ์ฑํ๋์ด์ผ ํฉ๋๋ค.
Bash ๋๊ตฌ ์น์
์์ ์ค๋ช
ํ ๋์ผํ ์ฃผ ์ธ์
์์
๋๋ ํ ๋ฆฌ ์ฌ์ค์ ๋์์ด PowerShell ๋ช
๋ น์ ์ ์ฉ๋๋ฉฐ, CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR ํ๊ฒฝ ๋ณ์๋ ํฌํจ๋ฉ๋๋ค.
๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ ํ์ฌํญ
PowerShell ๋๊ตฌ๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ค์ ๋ค์๊ณผ ๊ฐ์ ์๋ ค์ง ์ ํ์ฌํญ์ด ์์ต๋๋ค:
- PowerShell ํ๋กํ์ด ๋ก๋๋์ง ์์ต๋๋ค
- Windows์์๋ sandboxing์ด ์ง์๋์ง ์์ต๋๋ค
Read ๋๊ตฌ ๋์
Read ๋๊ตฌ๋ ํ์ผ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ธ์ ๋ผ์ธ ๋ฒํธ๊ฐ ์๋ ๋ด์ฉ์ ๋ฐํํฉ๋๋ค. Claude๋ ํญ์ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ ๋ฌํ๋๋ก ์ง์๋ฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Read๋ ์์ ๋ถ๋ถ์์ ํ์ผ์ ๋ฐํํฉ๋๋ค. ํฌ๊ธฐ ์๊ณ๊ฐ์ ์ด๊ณผํ๋ ํ์ผ์ ๋ถ๋ถ ๋ด์ฉ์ด ์๋ ์ค๋ฅ๋ฅผ ๋ฐํํ์ฌ Claude๊ฐ offset ๋ฐ limit์ผ๋ก ์ฌ์๋ํ์ฌ ํน์ ๋ฒ์๋ฅผ ์ฝ๋๋ก ํ๋กฌํํธํฉ๋๋ค.
Read๋ ์ผ๋ฐ ํ ์คํธ ์ด์์ ์ฌ๋ฌ ํ์ผ ํ์ ์ ์ฒ๋ฆฌํฉ๋๋ค:
- ์ด๋ฏธ์ง: PNG, JPG ๋ฐ ๊ธฐํ ์ด๋ฏธ์ง ํ์์ ์๋ณธ ๋ฐ์ดํธ๊ฐ ์๋ Claude๊ฐ ๋ณผ ์ ์๋ ์๊ฐ์ ์ฝํ ์ธ ๋ก ๋ฐํ๋ฉ๋๋ค. Claude Code๋ ๋ชจ๋ธ์ ์ด๋ฏธ์ง ํฌ๊ธฐ ์ ํ์ ๋ง๋๋ก ํฐ ์ด๋ฏธ์ง๋ฅผ ํฌ๊ธฐ ์กฐ์ ํ๊ณ ์ฌ์์ถํ๋ฏ๋ก, Claude๋ ํฐ ์คํฌ๋ฆฐ์ท์ ์ถ์๋ ๋ฒ์ ์ ๋ณผ ์ ์์ต๋๋ค. Claude๊ฐ ํฐ ์ด๋ฏธ์ง์์ ์ธ๋ฐํ ํฝ์ ์์ค์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋์น๋ฉด, ์๋ฅผ ๋ค์ด ImageMagick์ ํตํด Bash๋ก ๊ด์ฌ ์์ญ์ ๋จผ์ ์๋ฅด๋๋ก ์์ฒญํฉ๋๋ค.
- PDF: Claude๋ ์งง์
.pdfํ์ผ์ ์ ์ฒด์ ์ผ๋ก ์ฝ์ต๋๋ค. 10ํ์ด์ง๋ณด๋ค ๊ธด PDF์ ๊ฒฝ์ฐ,"1-5"์ ๊ฐ์pages๋งค๊ฐ๋ณ์๋ก ๋ฒ์์์ ์ฝ์ผ๋ฉฐ, ํ ๋ฒ์ ์ต๋ 20ํ์ด์ง๊น์ง ์ฝ์ต๋๋ค. - Jupyter ๋
ธํธ๋ถ:
.ipynbํ์ผ์ ์ฝ๋, markdown ๋ฐ ์๊ฐํ๋ฅผ ํฌํจํ ๋ชจ๋ ์ ๊ณผ ํด๋น ์ถ๋ ฅ์ ๋ฐํํฉ๋๋ค.
Read๋ ํ์ผ๋ง ์ฝ์ผ๋ฉฐ, ๋๋ ํ ๋ฆฌ๋ ์ฝ์ง ์์ต๋๋ค. Claude๋ Bash ๋๊ตฌ๋ฅผ ํตํด ls๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ ํ ๋ฆฌ ๋ด์ฉ์ ๋์ดํฉ๋๋ค.
WebFetch ๋๊ตฌ ๋์
WebFetch๋ URL๊ณผ ์ถ์ถํ ๋ด์ฉ์ ์ค๋ช ํ๋ ํ๋กฌํํธ๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ํ์ด์ง๋ฅผ ๊ฐ์ ธ์ค๊ณ , ์๋ฒ๊ฐ HTML์ ๋ฐํํ ๋ ์๋ต์ Markdown์ผ๋ก ๋ณํํ๋ฉฐ, ์๊ณ ๋น ๋ฅธ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์ฝํ ์ธ ์ ๋ํด ํ๋กฌํํธ๋ฅผ ์คํํฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฐ์ ธ์ค๊ธฐ์ ๊ฒฝ์ฐ, Claude๋ ์๋ณธ ํ์ด์ง๊ฐ ์๋ ํด๋น ๋ชจ๋ธ์ ๋ต๋ณ์ ๋ฐ์ต๋๋ค. ๋ณํ ๋จ๊ณ๋ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์ด๋ WebFetch๋ฅผ ์ค๊ณ์ ์์ค์ด ์๊ฒ ๋ง๋ญ๋๋ค. ์ถ์ถ ํ๋กฌํํธ๋ Claude์ ๋๋ฌํ๋ ๋ด์ฉ์ ๊ฒฐ์ ํ๋ฏ๋ก, ํ์ด์ง๊ฐ ๋ฌด์ธ๊ฐ๋ฅผ ์ธ๊ธํ์ง ์๋๋ค๋ ๊ฒฐ๊ณผ๋ ํ๋กฌํํธ๊ฐ ๊ทธ๊ฒ์ ๋ฌป์ง ์์๋ค๋ ์๋ฏธ์ผ ์ ์์ต๋๋ค. Claude์ ๋ ๊ตฌ์ฒด์ ์ธ ํ๋กฌํํธ๋ก ๋ค์ ๊ฐ์ ธ์ค๋๋ก ์์ฒญํ๊ฑฐ๋, ์ฒ๋ฆฌ๋์ง ์์ ํ์ด์ง์ ๊ฒฝ์ฐ Bash๋ฅผ ํตํด curl์ ์ฌ์ฉํฉ๋๋ค.
๋ช ๊ฐ์ง ๋์์ด Claude๊ฐ ๋ฐ๋ ์๋ต์ ํ์ฑํฉ๋๋ค:
- HTTP URL์ ์๋์ผ๋ก HTTPS๋ก ์ ๊ทธ๋ ์ด๋๋ฉ๋๋ค.
- ํฐ ํ์ด์ง๋ ์ฒ๋ฆฌ ์ ์ ๊ณ ์ ๋ฌธ์ ์ ํ์ผ๋ก ์๋ฆฝ๋๋ค.
- ์๋ต์ 15๋ถ ๋์ ์บ์๋๋ฏ๋ก, ๋์ผํ URL์ ๋ฐ๋ณต ๊ฐ์ ธ์ค๊ธฐ๋ ๋น ๋ฅด๊ฒ ๋ฐํ๋ฉ๋๋ค.
- URL์ด ๋ค๋ฅธ ํธ์คํธ๋ก ๋ฆฌ๋ค์ด๋ ํธ๋๋ฉด, WebFetch๋ ์๋ณธ URL๊ณผ ๋ฆฌ๋ค์ด๋ ํธ ๋์์ ์ด๋ฆ์ ์ง์ ํ๋ ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๊ณ ๋ฐ๋ผ๊ฐ์ง ์์ต๋๋ค. Claude๋ ๋ ๋ฒ์งธ WebFetch ํธ์ถ๋ก ์ URL์ ๊ฐ์ ธ์ต๋๋ค.
๊ธฐ๋ณธ ๋ฐ acceptEdits ๊ถํ ๋ชจ๋์์ WebFetch๋ ์ ๋๋ฉ์ธ์ ์ฒ์ ๋๋ฌํ ๋ ํ๋กฌํํธํฉ๋๋ค. ํ๋กฌํํธ ์์ด ๋ฏธ๋ฆฌ ๋๋ฉ์ธ์ ํ์ฉํ๋ ค๋ฉด WebFetch(domain:example.com)๊ณผ ๊ฐ์ ๊ถํ ๊ท์น์ ์ถ๊ฐํฉ๋๋ค. auto ๋ฐ bypassPermissions ๊ถํ ๋ชจ๋๋ ํ๋กฌํํธ๋ฅผ ์์ ํ ๊ฑด๋๋๋๋ค.
WebFetch๋ Claude-User๋ก ์์ํ๋ User-Agent ํค๋์ ์ฝํ
์ธ ํ์์ ์ง์ํ๋ ์๋ฒ๊ฐ Markdown์ ์ง์ ๋ฐํํ ์ ์๋๋ก HTML๋ณด๋ค Markdown์ ์ ํธํ๋ Accept ํค๋๋ฅผ ์ค์ ํฉ๋๋ค. Sandbox ๋คํธ์ํฌ ๊ท์น์ ๋ณ๋๋ก ๊ตฌ์ฑ๋๋ฏ๋ก, sandboxed ํ๋ก์ธ์ค๊ฐ ๋๋ฌํ๊ธฐ๋ฅผ ์ํ๋ ๋๋ฉ์ธ์ ์ฌ์ ํ ๋ช
์์ sandbox ๊ถํ ๊ท์น์ด ํ์ํฉ๋๋ค.
WebSearch ๋๊ตฌ ๋์
WebSearch๋ Anthropic์ web search ๋ฐฑ์๋์ ๋ํด ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ๊ฒฐ๊ณผ ์ ๋ชฉ๊ณผ URL์ ๋ฐํํฉ๋๋ค. ๊ฒฐ๊ณผ ํ์ด์ง๋ฅผ ๊ฐ์ ธ์ค์ง ์์ต๋๋ค. Claude๊ฐ ๊ฒ์ ๊ฒฐ๊ณผ์์ ์ฐพ์ ํ์ด์ง๋ฅผ ์ฝ์ผ๋ ค๋ฉด WebFetch๋ก ํ์ ์กฐ์นํฉ๋๋ค.
์ด ๋๊ตฌ๋ ํธ์ถ๋น ์ต๋ 8๊ฐ์ ๋ฐฑ์๋ ๊ฒ์์ ๋ฐํํ์ฌ ๋ฐํ ์ ์ ๊ฒ์์ ๋ด๋ถ์ ์ผ๋ก ๊ฐ์ ํ ์ ์์ต๋๋ค. Claude๋ allowed_domains๋ก ํน์ ํธ์คํธ๋ง ํฌํจํ๊ฑฐ๋ blocked_domains๋ก ์ ์ธํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฒ์ ์ง์ ํ ์ ์์ต๋๋ค. ๋ ๋ชฉ๋ก์ ๋จ์ผ ํธ์ถ์์ ๊ฒฐํฉํ ์ ์์ต๋๋ค.
๊ฒ์ ๋ฐฑ์๋๋ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ ๊ณต์๋ก ๊ฒ์ํ๋ ค๋ฉด ๊ฒ์ ๋๊ตฌ๋ฅผ ๋ ธ์ถํ๋ MCP ์๋ฒ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
WebSearch ๊ถํ ๊ท์น์ specifier๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. allow ๋๋ deny์ ๋จ์ WebSearch ํญ๋ชฉ์ด ์ ์ผํ ํ์์
๋๋ค.
WebSearch๋ Claude API ๋ฐ Microsoft Foundry์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. Google Cloud Vertex AI์์๋ Opus, Sonnet ๋ฐ Haiku๋ฅผ ํฌํจํ Claude 4 ๋ชจ๋ธ๊ณผ ํจ๊ป ์๋ํฉ๋๋ค. Amazon Bedrock์ ์๋ฒ ์ธก web search ๋๊ตฌ๋ฅผ ๋ ธ์ถํ์ง ์์ต๋๋ค.
Write ๋๊ตฌ ๋์
Write ๋๊ตฌ๋ ์ ๊ณต๋ ์ ์ฒด ์ฝํ ์ธ ๋ก ์ ํ์ผ์ ์์ฑํ๊ฑฐ๋ ๊ธฐ์กด ํ์ผ์ ๋ฎ์ด์๋๋ค. ์ถ๊ฐํ๊ฑฐ๋ ๋ณํฉํ์ง ์์ต๋๋ค.
๋์ ๊ฒฝ๋ก๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ฉด, Claude๋ ํ์ฌ ๋ํ์์ ํด๋น ํ์ผ์ ์ต์ํ ํ ๋ฒ ์ฝ์์ด์ผ ํฉ๋๋ค. ์ฝ์ง ์์ ๊ธฐ์กด ํ์ผ์ ๋ํ Write๋ ์ค๋ฅ๋ก ์คํจํฉ๋๋ค. ์ด ์ ์ฝ์ ์ ํ์ผ์๋ ์ ์ฉ๋์ง ์์ต๋๋ค.
Bash cat ๋๋ sed -n์ผ๋ก ํ์ผ์ ๋ณด๋ ๊ฒ๋ Edit ๋๊ตฌ ๋์์์ ์ค๋ช
ํ ๋๋ก ์ด ์๊ตฌ์ฌํญ์ ๋ง์กฑํฉ๋๋ค.
๊ธฐ์กด ํ์ผ์ ๋ํ ๋ถ๋ถ ๋ณ๊ฒฝ์ ๊ฒฝ์ฐ, Claude๋ Write ๋์ Edit์ ์ฌ์ฉํฉ๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ๋๊ตฌ ํ์ธ
์ ํํ ๋๊ตฌ ์ธํธ๋ ์ ๊ณต์, ํ๋ซํผ ๋ฐ ์ค์ ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์คํ ์ค์ธ ์ธ์ ์์ ๋ก๋๋ ํญ๋ชฉ์ ํ์ธํ๋ ค๋ฉด Claude์ ์ง์ ๋ฌธ์ํฉ๋๋ค:
What tools do you have access to?
Claude๋ ๋ํํ ์์ฝ์ ์ ๊ณตํฉ๋๋ค. ์ ํํ MCP ๋๊ตฌ ์ด๋ฆ์ ๊ฒฝ์ฐ /mcp๋ฅผ ์คํํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
- MCP ์๋ฒ: ์ธ๋ถ ์๋ฒ๋ฅผ ์ฐ๊ฒฐํ์ฌ ์ฌ์ฉ์ ์ ์ ๋๊ตฌ ์ถ๊ฐ
- ๊ถํ: ๊ถํ ์์คํ , ๊ท์น ๊ตฌ๋ฌธ, ๋๊ตฌ๋ณ ํจํด
- Subagents: subagent์ ๋ํ ๋๊ตฌ ์ ๊ทผ ๊ตฌ์ฑ
- Hooks: ๋๊ตฌ ์คํ ์ ํ์ ์ฌ์ฉ์ ์ ์ ๋ช ๋ น ์คํ