gungarp/agent-runner

๐Ÿค– Claude Agent Framework๋กœ ์›Œํฌํ”Œ๋กœ๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ์œ ์—ฐํ•œ ์‹คํ–‰๊ณผ ์›ํ™œํ•œ ํ†ตํ•ฉ์„ ํ†ตํ•ด ํšจ์œจ์ ์ธ AI ๊ธฐ๋ฐ˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

agent-runner๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ด ์Šคํ‚ฌ์€ Claude Agent Framework๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ AI ์—์ด์ „ํŠธ ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ์—์ด์ „ํŠธ ๋Ÿฌ๋„ˆ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ด ์Šคํ‚ฌ์„ ํ†ตํ•ด ๋ณต์žกํ•œ ๋‹ค๋‹จ๊ณ„ ์›Œํฌํ”Œ๋กœ๋ฅผ ์ •์˜ํ•˜๊ณ , LLM ๊ธฐ๋ฐ˜ ์˜์‚ฌ ๊ฒฐ์ •, ๋„๊ตฌ ํ˜ธ์ถœ, ์™ธ๋ถ€ API ํ†ตํ•ฉ์„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ Claude Code, Cursor, Codex์™€ ๊ฐ™์€ ์—์ด์ „ํŠธ ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, YAML ๋˜๋Š” JSON์œผ๋กœ ์ž‘์„ฑ๋œ ์—์ด์ „ํŠธ ๋Ÿฌ๋„ˆ ์„ค์ • ํŒŒ์ผ์„ ํ†ตํ•ด ์ž‘์—… ์ฒด์ธ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ฌ์˜ ์ฃผ์š” ์žฅ์ ์€ ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ๋ชจ๋“ˆํ™”ํ•˜๊ณ , ์—์ด์ „ํŠธ ๊ฐ„ ์ปจํ…์ŠคํŠธ ์ „๋‹ฌ์„ ์ž๋™ํ™”ํ•˜๋ฉฐ, ์‹คํŒจ ์‹œ ์ž๋™ ์žฌ์‹œ๋„์™€ ๋กœ๊น…์„ ์ง€์›ํ•˜์—ฌ ์ƒ์‚ฐ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

์ง€์› ๋Œ€์ƒโœ“Claude Code~Codex CLI~Cursor
npx skills add gungarp/agent-runner

Installed? Explore more ์ƒ์‚ฐ์„ฑ & ํ˜‘์—… skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator ยท View all 6 โ†’

์ฆ๊ฒจ ์‚ฌ์šฉํ•˜๋Š” AI์—๊ฒŒ ๋ฌผ์–ด๋ณด๊ธฐ

์ด ์—์ด์ „ํŠธ ์Šคํ‚ฌ์ด ๋ฏธ๋ฆฌ ๋กœ๋“œ๋œ ์ƒˆ ์ฑ„ํŒ…์„ ์—ฝ๋‹ˆ๋‹ค.

๋ฌธ์„œ

agent-runner์€(๋Š”) ๋ฌด์—‡์„ ํ•˜๋‚˜์š”?

๐Ÿค– Claude Agent Framework๋กœ ์›Œํฌํ”Œ๋กœ๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ์œ ์—ฐํ•œ ์‹คํ–‰๊ณผ ์›ํ™œํ•œ ํ†ตํ•ฉ์„ ํ†ตํ•ด ํšจ์œจ์ ์ธ AI ๊ธฐ๋ฐ˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์š”

gungarp/agent-runner๋Š” Claude Agent Framework๋ฅผ ํ™œ์šฉํ•˜์—ฌ AI ์—์ด์ „ํŠธ ์›Œํฌํ”Œ๋กœ๋ฅผ ์ •์˜ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๊ณ , ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์˜ ์—์ด์ „ํŠธ ์ž‘์—…์„ ์กฐ์œจํ•˜๋ฉฐ, ์™ธ๋ถ€ ๋„๊ตฌ์™€์˜ ํ†ตํ•ฉ์„ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • ์›Œํฌํ”Œ๋กœ ์ž๋™ํ™”: ๋‹ค๋‹จ๊ณ„ ์—์ด์ „ํŠธ ์ž‘์—…์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๋˜๋Š” ์กฐ๊ฑด๋ถ€๋กœ ์‹คํ–‰
  • ์œ ์—ฐํ•œ ํ†ตํ•ฉ: Claude Code, Cursor, Codex ๋“ฑ ๋‹ค์–‘ํ•œ ์—์ด์ „ํŠธ ํ”Œ๋žซํผ๊ณผ ํ˜ธํ™˜
  • ๋„๊ตฌ ์ง€์›: ํŒŒ์ผ ์‹œ์Šคํ…œ, API ํ˜ธ์ถœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ ๋“ฑ ์™ธ๋ถ€ ๋„๊ตฌ ํ˜ธ์ถœ ์ง€์›
  • ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ: ์ž๋™ ์žฌ์‹œ๋„, ์˜ค๋ฅ˜ ๋กœ๊น…, ์‚ฌ์šฉ์ž ์ •์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ
  • ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ: ์—์ด์ „ํŠธ ๊ฐ„ ์ปจํ…์ŠคํŠธ ์ „๋‹ฌ ๋ฐ ์ƒํƒœ ์œ ์ง€

์„ค์น˜

# npm์„ ํ†ตํ•œ ์„ค์น˜
npm install -g gungarp/agent-runner

# ๋˜๋Š” GitHub ์ €์žฅ์†Œ์—์„œ ์ง์ ‘ ํด๋ก 
gh repo clone gungarp/agent-runner
cd agent-runner
npm install

์‚ฌ์šฉ๋ฒ•

๊ธฐ๋ณธ ์‹คํ–‰

agent-runner run --config workflow.yaml

์„ค์ • ํŒŒ์ผ ์˜ˆ์‹œ

# workflow.yaml
name: "๋ฌธ์„œ ์š”์•ฝ ์›Œํฌํ”Œ๋กœ"
version: "1.0"
steps:
  - name: "๋ฌธ์„œ ๊ฐ€์ ธ์˜ค๊ธฐ"
    agent: "claude"
    prompt: "์ฃผ์–ด์ง„ ๋ฌธ์„œ๋ฅผ ์ฝ์–ด์ฃผ์„ธ์š”."
    tools:
      - name: "read_file"
        params:
          path: "/path/to/document.md"
  - name: "์š”์•ฝ ์ƒ์„ฑ"
    agent: "claude"
    prompt: "์œ„ ๋ฌธ์„œ์˜ ํ•ต์‹ฌ ๋‚ด์šฉ์„ 3์ค„๋กœ ์š”์•ฝํ•ด์ฃผ์„ธ์š”."
    depends_on:
      - "๋ฌธ์„œ ๊ฐ€์ ธ์˜ค๊ธฐ"

ํ™˜๊ฒฝ ๋ณ€์ˆ˜

๋ณ€์ˆ˜๋ช…์„ค๋ช…ํ•„์ˆ˜
ANTHROPIC_API_KEYClaude API ํ‚ค์˜ˆ
AGENT_RUNNER_LOG_LEVEL๋กœ๊ทธ ๋ ˆ๋ฒจ ์„ค์ • (debug, info, warn, error)์•„๋‹ˆ์š”
AGENT_RUNNER_TIMEOUT๊ฐ ๋‹จ๊ณ„ ํƒ€์ž„์•„์›ƒ (์ดˆ ๋‹จ์œ„)์•„๋‹ˆ์š”

์ง€์› ํ”Œ๋žซํผ

๋ผ์ด์„ ์Šค

MIT License

๊ธฐ์—ฌ

๋ฒ„๊ทธ ๋ฆฌํฌํŠธ, ๊ธฐ๋Šฅ ์ œ์•ˆ, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋Š” ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ CONTRIBUTING.md๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ด€๋ จ ์Šคํ‚ฌ