๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

AI ๊ฐœ๋ฐœ

์‹ค๋ฌด ํ”„๋กœ์ ํŠธ ๊ธฐ๋ฐ˜ Gemini CLI ์›Œํฌํ”Œ๋กœ์šฐ ์˜ˆ์‹œ

๋ฐ˜์‘ํ˜•

๐Ÿ› ๏ธ ์‹ค๋ฌด ์›Œํฌํ”Œ๋กœ์šฐ ์˜ˆ์‹œ: ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ ๊ฐœ์„ ๊ณผ ๋ฐฐํฌ ์ž๋™ํ™”

1. ํ”„๋กœ์ ํŠธ ์„ ํƒ ๋ฐ ์ดˆ๊ธฐ ํƒ์ƒ‰

  • ์ƒํ™ฉ: ํŒ€์ด ๊ธฐ์—ฌ ์ค‘์ธ ์˜คํ”ˆ์†Œ์Šค ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ถ„์„ํ•ด์•ผ ํ•  ๋•Œ
  • ๋ช…๋ น:
  • git clone https://github.com/AashiDutt/Google-Agent-Development-Kit-Demo cd Google-Agent-Development-Kit-Demo gemini > Explore the current directory and describe the project architecture.
  • ๊ฒฐ๊ณผ: Gemini CLI๋Š” agents/, shared/, common/ ๊ฐ™์€ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์„ฑ๊ณผ ์—ญํ• ์„ ์ž์—ฐ์–ด๋กœ ์š”์•ฝํ•ด ์ค๋‹ˆ๋‹ค

2. ์ด์Šˆ ๋ถ„์„ & ๋ฒ„๊ทธ ์ˆ˜์ • ์ œ์•ˆ

  • ์ƒํ™ฉ: ํŠน์ • GitHub issue (#1)๊ฐ€ ๋‚จ์•„์žˆ์Œ
  • ๋ช…๋ น:
  • gemini > Here's a GitHub issue: [@search https://github.com/AashiDutt/Google-Agent-Development-Kit-Demo/issues/1]. Analyze and suggest a 3-step fix plan.
  • ๊ฒฐ๊ณผ: CLI๊ฐ€ ๊ด€๋ จ ํŒŒ์ผ๊ณผ ํ•จ์ˆ˜๋ฅผ ์ฐพ์•„ ๋‹จ๊ณ„๋ณ„ ์ˆ˜์ • ๋ฐฉ์•ˆ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค

3. ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง ๋ฐ ํ…Œ์ŠคํŠธ ์ž๋™ ์ƒ์„ฑ

  • ์ƒํ™ฉ: ๋ฒ„๊ทธ ์ˆ˜์ • ์ดํ›„ ์ฝ”๋“œ ํ’ˆ์งˆ ๋ณด์žฅ
  • ๋ช…๋ น:
  • > Refactor function `process_agent()` to improve error handling. > Generate pytest tests for `process_agent()`. > !pytest --maxfail=1 --disable-warnings -q
  • ๊ฒฐ๊ณผ: CLI๊ฐ€ diff ํ˜•ํƒœ๋กœ ๋ฆฌํŒฉํ† ๋ง์„ ์ œ์•ˆํ•˜๊ณ , pytest ํ…Œ์ŠคํŠธ ํŒŒ์ผ๊ณผ ๊ฒฐ๊ณผ ์š”์•ฝ(report)์„ ์ƒ์„ฑ .

4. ๋ฌธ์„œ ๋ฐ ๋‹ค์ด์–ด๊ทธ๋žจ ์ž๋™ ์ƒ์„ฑ

  • ์ƒํ™ฉ: ์ฝ”๋“œ ๋ณ€๊ฒฝ ๋‚ด์—ญ์„ ๋ฌธ์„œํ™”ํ•˜๊ณ  ํŒ€์— ๊ณต์œ 
  • ๋ช…๋ น:
  • > Generate a markdown changelog for today's changes. > Generate a flowchart showing how agents communicate.
  • ๊ฒฐ๊ณผ: README.md๋‚˜ docs/change-log.md๊ฐ€ ์ž๋™ ์ƒ์„ฑ๋˜๊ณ , .svg ํ˜•์‹ ํ”Œ๋กœ์šฐ์ฐจํŠธ๋„ ํ•จ๊ป˜ ์ œ๊ณต

5. CI/CD ํŒŒ์ดํ”„๋ผ์ธ ์—ฐ๋™

  • ์ƒํ™ฉ: GitHub Actions๋‚˜ Jenkins์— ์ž๋™ํ™”๋œ ์›Œํฌํ”Œ๋กœ์šฐ ํ†ตํ•ฉ
  • ๊ตฌ์„ฑ: .github/workflows/gemini.yml ํŒŒ์ผ์— ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ํฌํ•จ:
  • steps: - name: Checkout code uses: actions/checkout@v3 - name: Install Gemini CLI run: npm install -g @google/gemini-cli - name: Run Gemini tasks run: | gemini <<EOF Summarize all changes since last tag. Generate unit tests for new modules. Generate changelog markdown. EOF - name: Commit docs uses: EndBug/add-and-commit@v9 with: author_name: github-actions message: "chore: updated changelog and tests via Gemini CLI"

โœ… ์š”์•ฝ ์ •๋ฆฌ

๋‹จ๊ณ„ Gemini CLI ๋ช…๋ น ์˜ˆ์‹œ ํšจ๊ณผ
์•„ํ‚คํ…์ฒ˜ ํƒ์ƒ‰ Explore the directory... ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ํŒŒ์•…
์ด์Šˆ ๋ถ„์„ & ์ˆ˜์ • ๊ณ„ํš Analyze GitHub issue... ๋น ๋ฅธ ๋Œ€์‘ ๋ฐฉ์•ˆ ์„ค๊ณ„
์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง & ํ…Œ์ŠคํŠธ ์ž๋™ํ™” Refactor... + Generate pytest... + !pytest ์ฝ”๋“œ ํ’ˆ์งˆ ๋ฐ ์•ˆ์ •์„ฑ ํ–ฅ์ƒ
๋ฌธ์„œํ™” ๋ฐ ๋‹ค์ด์–ด๊ทธ๋žจ ์ƒ์„ฑ Generate changelog + Generate flowchart ํ˜‘์—… ํšจ์œจ ๊ทน๋Œ€ํ™”
CI/CD ํ†ตํ•ฉ ์›Œํฌํ”Œ๋กœ์šฐ ์ •์˜ (GitHub Actions) ๋ฐ˜๋ณต ์ž‘์—… ์ž๋™ํ™”

์ด ์˜ˆ์‹œ์ฒ˜๋Ÿผ Gemini CLI๋Š” ์ฝ”๋“œ ์ž‘์„ฑ → ๋ฒ„๊ทธ ์ˆ˜์ • → ๋ฌธ์„œ ์ƒ์„ฑ → CI ํ†ตํ•ฉ๊นŒ์ง€ ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ ์ „๋ฐ˜์„ ์›ํ™œํ•˜๊ฒŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋„์ž…ํ•˜๋ฉด ๊ฐœ๋ฐœ ์†๋„์™€ ํšจ์œจ์ด ๋ˆˆ์— ๋„๊ฒŒ ๊ฐœ์„ ๋˜์ฃ .

 

๋ฐ˜์‘ํ˜•