๐Ÿš€ Git Auto Commit (gac)

June 18, 2026 ยท View on GitHub

๐Ÿš€ Git Auto Commit (gac)

PyPI version Changelog Python Build Status codecov Ruff mypy Contributions welcome License: MIT

English | ็ฎ€ไฝ“ไธญๆ–‡ | ็น้ซ”ไธญๆ–‡ | ๆ—ฅๆœฌ่ชž | ํ•œ๊ตญ์–ด | เคนเคฟเคจเฅเคฆเฅ€ | Tiแบฟng Viแป‡t | Franรงais | ะ ัƒััะบะธะน | Espaรฑol | Portuguรชs | Norsk | Svenska | Deutsch | Nederlands | Italiano

์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” LLM ๊ธฐ๋ฐ˜ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€!

์ปค๋ฐ‹์„ ์ž๋™ํ™”ํ•˜์„ธ์š”! git commit -m "..." ๋Œ€์‹  uvx gac๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ์ด ์ƒ์„ฑํ•˜๋Š” ๋งฅ๋ฝ์ ์ด๊ณ  ์ž˜ ํฌ๋งท๋œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์œผ์„ธ์š”!


๋ฌด์—‡์„ ์–ป์„ ์ˆ˜ ์žˆ๋‚˜์š”?

๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ง€๋Šฅ์ ์ด๊ณ  ๋งฅ๋ฝ์ ์ธ ๋ฉ”์‹œ์ง€:

GAC generating a contextual commit message


๋น ๋ฅธ ์‹œ์ž‘

uvx gac init   # ํ”„๋กœ๋ฐ”์ด๋”, ๋ชจ๋ธ, ์–ธ์–ด ๊ตฌ์„ฑ
uvx gac  # LLM์œผ๋กœ ์ƒ์„ฑ ๋ฐ ์ปค๋ฐ‹

์ด๊ฒŒ ์ „๋ถ€์ž…๋‹ˆ๋‹ค! ์ƒ์„ฑ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ  y๋กœ ํ™•์ธํ•˜์„ธ์š”.


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

33+ ์ง€์›๋˜๋Š” ํ”„๋กœ๋ฐ”์ด๋”

  • Anthropic โ€ข Azure OpenAI โ€ข Cerebras โ€ข ChatGPT (OAuth) โ€ข Chutes.ai โ€ข Claude Code (OAuth)
  • Crof.ai โ€ข DeepInfra โ€ข DeepSeek โ€ข Fireworks โ€ข Gemini โ€ข GitHub Copilot (OAuth) โ€ข Groq
  • Kimi for Coding โ€ข Lilac โ€ข LM Studio โ€ข MiniMax.io โ€ข Mistral AI โ€ข Moonshot AI โ€ข Neuralwatt โ€ข Ollama
  • Ollama Cloud โ€ข OpenAI โ€ข OpenCode Go โ€ข OpenRouter โ€ข Plexus Gateway โ€ข Qwen Cloud (CN & INTL)
  • Replicate โ€ข Streamlake/Vanchin โ€ข Synthetic.new โ€ข Together AI โ€ข Wafer.ai โ€ข Z.AI (API & Coding Plans)
  • Custom Endpoints (Anthropic/OpenAI)

๐Ÿง  ์Šค๋งˆํŠธ LLM ๋ถ„์„

  • ์˜๋„ ์ดํ•ด: ์ฝ”๋“œ ๊ตฌ์กฐ, ๋กœ์ง, ํŒจํ„ด์„ ๋ถ„์„ํ•ด ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ๋ฟ ์•„๋‹ˆ๋ผ ๋ณ€๊ฒฝ์˜ ์ด์œ ๊นŒ์ง€ ์ดํ•ด
  • ์˜๋ฏธ ์ธ์‹: ๋ฆฌํŒฉํ† ๋ง, ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ธฐ๋Šฅ, ํ˜ธํ™˜์„ฑ ๊นจ์ง€๋Š” ๋ณ€๊ฒฝ์„ ์ธ์‹ํ•˜์—ฌ ๋งฅ๋ฝ์ ์œผ๋กœ ์ ์ ˆํ•œ ๋ฉ”์‹œ์ง€ ์ƒ์„ฑ
  • ์ง€๋Šฅ์  ํ•„ํ„ฐ๋ง: ์ƒ์„ฑ๋œ ํŒŒ์ผ, ์˜์กด์„ฑ, ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ๋ฌด์‹œํ•˜๋ฉด์„œ ์˜๋ฏธ ์žˆ๋Š” ๋ณ€๊ฒฝ ์šฐ์„ ์ˆœ์œ„ ์ง€์ •
  • ์ง€๋Šฅ์  ์ปค๋ฐ‹ ๊ทธ๋ฃนํ™” - --group์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ จ ๋ณ€๊ฒฝ์„ ์—ฌ๋Ÿฌ ๋…ผ๋ฆฌ์  ์ปค๋ฐ‹์œผ๋กœ ์ž๋™ ๊ทธ๋ฃนํ™”

๐Ÿ“ ๋‹ค์–‘ํ•œ ๋ฉ”์‹œ์ง€ ํ˜•์‹

  • ํ•œ ์ค„ ์š”์•ฝ (-o ํ”Œ๋ž˜๊ทธ): ์ปจ๋ฒค์…”๋„ ์ปค๋ฐ‹ ํ˜•์‹์„ ๋”ฐ๋ฅด๋Š” ํ•œ ์ค„ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€
  • ํ‘œ์ค€ (๊ธฐ๋ณธ๊ฐ’): ๊ตฌํ˜„ ์„ธ๋ถ€์‚ฌํ•ญ์„ ์„ค๋ช…ํ•˜๋Š” ๋ถˆ๋ › ํฌ์ธํŠธ๊ฐ€ ํฌํ•จ๋œ ์š”์•ฝ
  • ์ƒ์„ธ (-v ํ”Œ๋ž˜๊ทธ): ๋™๊ธฐ, ๊ธฐ์ˆ ์  ์ ‘๊ทผ ๋ฐฉ์‹, ์˜ํ–ฅ ๋ถ„์„์„ ํฌํ•จํ•œ ํฌ๊ด„์ ์ธ ์„ค๋ช…
  • 50/72 ๊ทœ์น™ (--50-72 ํ”Œ๋ž˜๊ทธ): git log์™€ GitHub UI์—์„œ ์ตœ์ ์˜ ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ํด๋ž˜์‹ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ํ˜•์‹ ๊ฐ•์ œ
  • DCO/Signoff (--signoff ํ”Œ๋ž˜๊ทธ): Developer Certificate of Origin ๊ทœ์ • ์ค€์ˆ˜๋ฅผ ์œ„ํ•ด Signed-off-by ์ค„ ์ถ”๊ฐ€ (Cherry Studio, Linux ์ปค๋„ ๋ฐ ๊ธฐํƒ€ ํ”„๋กœ์ ํŠธ์—์„œ ํ•„์š”)

๐ŸŒ ๋‹ค๊ตญ์–ด ์ง€์›

  • 25+ ์–ธ์–ด: ์˜์–ด, ์ค‘๊ตญ์–ด, ์ผ๋ณธ์–ด, ํ•œ๊ตญ์–ด, ์ŠคํŽ˜์ธ์–ด, ํ”„๋ž‘์Šค์–ด, ๋…์ผ์–ด ๋“ฑ 18+ ์–ธ์–ด๋กœ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ƒ์„ฑ
  • ์œ ์—ฐํ•œ ๋ฒˆ์—ญ: ๋„๊ตฌ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์ปจ๋ฒค์…”๋„ ์ปค๋ฐ‹ ์ ‘๋‘์‚ฌ๋ฅผ ์˜์–ด๋กœ ์œ ์ง€ํ•˜๊ฑฐ๋‚˜ ์™„์ „ํžˆ ๋ฒˆ์—ญ
  • ๋‹ค์–‘ํ•œ ์›Œํฌํ”Œ๋กœ์šฐ: uvx gac language๋กœ ๊ธฐ๋ณธ ์–ธ์–ด ์„ค์ • ๋˜๋Š” -l <language> ํ”Œ๋ž˜๊ทธ๋กœ ์ผํšŒ์„ฑ ์žฌ์ •์˜
  • ๋„ค์ดํ‹ฐ๋ธŒ ์Šคํฌ๋ฆฝํŠธ ์ง€์›: CJK, ํ‚ค๋ฆด, ํƒœ๊ตญ์–ด ๋“ฑ ๋น„๋ผํ‹ด ์Šคํฌ๋ฆฝํŠธ ์™„์ „ ์ง€์›

๐Ÿ’ป ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜

  • ์ƒํ˜ธ์ž‘์šฉ ํ”ผ๋“œ๋ฐฑ: r์„ ์ž…๋ ฅํ•˜์—ฌ ์žฌ์ƒ์„ฑ, e๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํŽธ์ง‘ (๊ธฐ๋ณธ์ ์œผ๋กœ ์ธํ”Œ๋ ˆ์ด์Šค TUI, ๋˜๋Š” $GAC_EDITOR๊ฐ€ ์„ค์ •๋œ ๊ฒฝ์šฐ ํ•ด๋‹น ์—๋””ํ„ฐ), ๋˜๋Š” ๋” ์งง๊ฒŒ ๋งŒ๋“ค์–ด์ค˜๋‚˜ ๋ฒ„๊ทธ ์ˆ˜์ •์— ์ง‘์ค‘ํ•ด์ค˜์™€ ๊ฐ™์ด ํ”ผ๋“œ๋ฐฑ ์ง์ ‘ ์ž…๋ ฅ
  • ์ƒํ˜ธ์ž‘์šฉ ์งˆ๋ฌธ: --interactive (-i)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋ชฉํ‘œ ์งˆ๋ฌธ์— ๋‹ตํ•ด ๋” ํ’๋ถ€ํ•œ ์ปจํ…์ŠคํŠธ๋ฅผ ๋‹ด์€ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ƒ์„ฑ
  • ํ•œ ๋ฒˆ์˜ ๋ช…๋ น ์›Œํฌํ”Œ๋กœ์šฐ: uvx gac -ayp (๋ชจ๋‘ ์Šคํ…Œ์ด์ง•, ์ž๋™ ํ™•์ธ, ํ‘ธ์‹œ)์™€ ๊ฐ™์€ ํ”Œ๋ž˜๊ทธ๋กœ ์™„์ „ํ•œ ์›Œํฌํ”Œ๋กœ์šฐ
  • Git ํ†ตํ•ฉ: ๋น„์‹ผ LLM ์ž‘์—… ์ „์— pre-commit ๋ฐ lefthook hooks ์‹คํ–‰
  • MCP ์„œ๋ฒ„: uvx gac serve๋ฅผ ์‹คํ–‰ํ•˜์—ฌ Model Context Protocol์„ ํ†ตํ•ด AI ์—์ด์ „ํŠธ์— ์ปค๋ฐ‹ ๋„๊ตฌ ์ œ๊ณต

๐Ÿ“Š ์‚ฌ์šฉ ํ†ต๊ณ„

uvx gac stats               # ๊ฐœ์š”: ์ด gac ์ˆ˜, ์—ฐ์† ๊ธฐ๋ก, ์ผ์ผ/์ฃผ๊ฐ„ ํ”ผํฌ, ์ƒ์œ„ ํ”„๋กœ์ ํŠธ ๋ฐ ๋ชจ๋ธ
uvx gac stats models        # ๋ชจ๋ธ๋ณ„ ์„ธ๋ถ€ ์ •๋ณด: gac ์ˆ˜, ํ† ํฐ, ์ง€์—ฐ ์‹œ๊ฐ„, ์†๋„, ์ปค๋ฐ‹๋‹น ์ง€์—ฐ ์‹œ๊ฐ„ ์ฐจํŠธ
uvx gac stats projects      # ํ”„๋กœ์ ํŠธ๋ณ„ ์„ธ๋ถ€ ์ •๋ณด: ๋ชจ๋“  ์ €์žฅ์†Œ์˜ gac ์ˆ˜, ์ปค๋ฐ‹ ์ˆ˜, ํ† ํฐ ์ˆ˜, gac๋‹น ํ‰๊ท  ํŒŒ์ผ ์ˆ˜
uvx gac stats recent        # ์ตœ๊ทผ gac ๊ธฐ๋ก: gac๋‹น ํ† ํฐ, ์†๋„, ์ง€์—ฐ ์‹œ๊ฐ„, ํŒŒ์ผ ์ˆ˜ (-n 20์œผ๋กœ ๋” ๋ณด๊ธฐ)
uvx gac stats reset         # ๋ชจ๋“  ํ†ต๊ณ„ ์ดˆ๊ธฐํ™” (ํ™•์ธ ํ•„์š”)
uvx gac stats reset model <model-id>  # ํŠน์ • ๋ชจ๋ธ์˜ ํ†ต๊ณ„๋งŒ ์ดˆ๊ธฐํ™”
  • gac ์‚ฌ์šฉ ์ถ”์ : gac์œผ๋กœ ๋ช‡ ๋ฒˆ ์ปค๋ฐ‹ํ–ˆ๋Š”์ง€, ํ˜„์žฌ ์—ฐ์† ์‚ฌ์šฉ ์ผ์ˆ˜, ์ผ์ผ/์ฃผ๊ฐ„ ํ™œ๋™ ํ”ผํฌ, ์ƒ์œ„ ํ”„๋กœ์ ํŠธ ํ™•์ธ
  • ํ† ํฐ ์ถ”์ : ์ผ, ์ฃผ, ํ”„๋กœ์ ํŠธ, ๋ชจ๋ธ๋ณ„ ์ด ํ”„๋กฌํ”„ํŠธ + ์™„๋ฃŒ ํ† ํฐ โ€” ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ํ•˜์ด ์Šค์ฝ”์–ด ํŠธ๋กœํ”ผ ํฌํ•จ
  • ์ƒ์œ„ ๋ชจ๋ธ: ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ๊ณผ ๊ฐ ๋ชจ๋ธ์˜ ํ† ํฐ ์†Œ๋น„๋Ÿ‰ ํ™•์ธ
  • ํ•˜์ด ์Šค์ฝ”์–ด ์ถ•ํ•˜: ๐Ÿ† ์ƒˆ๋กœ์šด ์ผ์ผ, ์ฃผ๊ฐ„, ํ† ํฐ ๋˜๋Š” ์—ฐ์† ๊ธฐ๋ก์„ ์„ธ์šฐ๋ฉด ํŠธ๋กœํ”ผ ํš๋“; ๐Ÿฅˆ ๊ธฐ๋ก๊ณผ ํƒ€์ด๋ฉด ํš๋“
  • ์„ค์ • ์‹œ ์˜ตํŠธ์ธ: uvx gac init์ด ํ†ต๊ณ„ ํ™œ์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ๋ฌป๊ณ  ์ €์žฅ๋˜๋Š” ํ•ญ๋ชฉ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค
  • ์–ธ์ œ๋“  ์˜ตํŠธ์•„์›ƒ: GAC_DISABLE_STATS=true (๋˜๋Š” 1/yes/on) ์„ค์ •์œผ๋กœ ๋น„ํ™œ์„ฑํ™”. false/0/no๋กœ ์„ค์ • (๋˜๋Š” ํ•ด์ œ) ์‹œ ํ†ต๊ณ„๊ฐ€ ํ™œ์„ฑํ™” ์ƒํƒœ๋กœ ์œ ์ง€
  • ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์šฐ์„ : ~/.gac_stats.json์— ๋กœ์ปฌ ์ €์žฅ. ์นด์šดํŠธ, ๋‚ ์งœ, ํ”„๋กœ์ ํŠธ ์ด๋ฆ„, ๋ชจ๋ธ ์ด๋ฆ„๋งŒ โ€” ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€, ์ฝ”๋“œ, ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋Š” ์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์›๊ฒฉ ์ธก์ • ์—†์Œ

๐Ÿ›ก๏ธ ๋‚ด์žฅ ๋ณด์•ˆ

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

์‚ฌ์šฉ ์˜ˆ์ œ

๊ธฐ๋ณธ ์›Œํฌํ”Œ๋กœ์šฐ

# ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์Šคํ…Œ์ด์ง•
git add .

# LLM์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์ปค๋ฐ‹
uvx gac

# ๊ฒ€ํ†  โ†’ y (์ปค๋ฐ‹) | n (์ทจ์†Œ) | r (์žฌ์ƒ์„ฑ) | e (ํŽธ์ง‘) | ๋˜๋Š” ํ”ผ๋“œ๋ฐฑ ์ž…๋ ฅ

์ผ๋ฐ˜ ๋ช…๋ น์–ด

๋ช…๋ น์–ด์„ค๋ช…
uvx gac์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ƒ์„ฑ
uvx gac -y์ž๋™ ํ™•์ธ (๊ฒ€ํ†  ๋ถˆํ•„์š”)
uvx gac -a์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ƒ์„ฑ ์ „ ๋ชจ๋‘ ์Šคํ…Œ์ด์ง•
uvx gac -S์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒํ•˜๊ฒŒ ์Šคํ…Œ์ด์ง•ํ•  ํŒŒ์ผ ์„ ํƒ
uvx gac -o์‚ฌ์†Œํ•œ ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ํ•œ ์ค„ ๋ฉ”์‹œ์ง€
uvx gac -v๋™๊ธฐ, ๊ธฐ์ˆ ์  ์ ‘๊ทผ ๋ฐฉ์‹, ์˜ํ–ฅ ๋ถ„์„์ด ํฌํ•จ๋œ ์ƒ์„ธ ํ˜•์‹
uvx gac -h "hint"LLM์„ ์œ„ํ•œ ์ปจํ…์ŠคํŠธ ์ถ”๊ฐ€ (์˜ˆ: uvx gac -h "๋ฒ„๊ทธ ์ˆ˜์ •")
uvx gac -s์Šค์ฝ”ํ”„ ํฌํ•จ (์˜ˆ: feat(auth):)
uvx gac -i๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์งˆ๋ฌธํ•˜์—ฌ ๋” ๋‚˜์€ ์ปจํ…์ŠคํŠธ ์–ป๊ธฐ
uvx gac -g๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์—ฌ๋Ÿฌ ๋…ผ๋ฆฌ์ ์ธ ์ปค๋ฐ‹์œผ๋กœ ๊ทธ๋ฃนํ™”
uvx gac -p์ปค๋ฐ‹ํ•˜๊ณ  ํ‘ธ์‹œ
uvx gac modelAI ๊ณต๊ธ‰์ž์™€ ๋ชจ๋ธ ๋ณ€๊ฒฝ
uvx gac statsgac ์‚ฌ์šฉ ํ†ต๊ณ„ ๋ณด๊ธฐ

๊ณ ๊ธ‰ ์‚ฌ์šฉ์ž ์˜ˆ์ œ

# ํ•œ ๋ช…๋ น์–ด๋กœ ์™„์ „ํ•œ ์›Œํฌํ”Œ๋กœ์šฐ
# ์ปค๋ฐ‹ ํ†ต๊ณ„ ๋ณด๊ธฐ
uvx gac stats

# ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์˜ ํ†ต๊ณ„
uvx gac stats projects

uvx gac -ayp -h "๋ฆด๋ฆฌ์Šค ์ค€๋น„"

# ์Šค์ฝ”ํ”„๊ฐ€ ํฌํ•จ๋œ ์ƒ์„ธ ์„ค๋ช…
uvx gac -v -s

# ์ž‘์€ ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ๋น ๋ฅธ ํ•œ ์ค„ ์š”์•ฝ
uvx gac -o

# ํŠน์ • ์–ธ์–ด๋กœ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ƒ์„ฑ
uvx gac -l ko

# ๋ณ€๊ฒฝ์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ด€๋ จ๋œ ์ปค๋ฐ‹์œผ๋กœ ๊ทธ๋ฃนํ™”
uvx gac -ag

# ์ƒ์„ธํ•œ ์ถœ๋ ฅ์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉ ๋ชจ๋“œ ์‚ฌ์šฉํ•œ ์ƒ์„ธํ•œ ์„ค๋ช…
uvx gac -iv

# LLM์ด ๋ณด๋Š” ๋‚ด์šฉ ๋””๋ฒ„๊น…
uvx gac --show-prompt

# ๋ณด์•ˆ ์Šค์บ” ๊ฑด๋„ˆ๋›ฐ๊ธฐ (์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉ)
uvx gac --skip-secret-scan

# DCO ๊ทœ์ • ์ค€์ˆ˜๋ฅผ ์œ„ํ•œ signoff ์ถ”๊ฐ€ (Cherry Studio, Linux ์ปค๋„ ๋“ฑ)
uvx gac --signoff

์ƒํ˜ธ์ž‘์šฉ ํ”ผ๋“œ๋ฐฑ ์‹œ์Šคํ…œ

๊ฒฐ๊ณผ๊ฐ€ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์œผ์„ธ์š”? ์—ฌ๋Ÿฌ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค:

# ๋‹จ์ˆœ ์žฌ์ƒ์„ฑ (ํ”ผ๋“œ๋ฐฑ ์—†์Œ)
r

# ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ํŽธ์ง‘
e

# ๋˜๋Š” ํ”ผ๋“œ๋ฐฑ์„ ์ง์ ‘ ์ž…๋ ฅํ•˜์„ธ์š”!
๋” ์งง๊ฒŒ ๋งŒ๋“ค๊ณ  ์„ฑ๋Šฅ ๊ฐœ์„ ์— ์ง‘์ค‘ํ•ด์ค˜
์Šค์ฝ”ํ”„๊ฐ€ ํฌํ•จ๋œ ์ปจ๋ฒค์…”๋„ ์ปค๋ฐ‹ ํ˜•์‹ ์‚ฌ์šฉํ•ด์ค˜
๋ณด์•ˆ ์˜ํ–ฅ ์„ค๋ช…ํ•ด์ค˜

# ๋นˆ ์ž…๋ ฅ์—์„œ Enter๋ฅผ ๋ˆŒ๋Ÿฌ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋‹ค์‹œ ๋ณด์„ธ์š”

ํŽธ์ง‘ ๊ธฐ๋Šฅ(e)์œผ๋กœ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค๋“ฌ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ๊ธฐ๋ณธ๊ฐ’ (์ธํ”Œ๋ ˆ์ด์Šค TUI): vi/emacs ํ‚ค๋ฐ”์ธ๋”ฉ์œผ๋กœ ๋‹ค์ค‘ ๋ผ์ธ ํŽธ์ง‘ โ€” ์˜คํƒ€ ์ˆ˜์ •, ํ‘œํ˜„ ์กฐ์ •, ์žฌ๊ตฌ์„ฑ
  • GAC_EDITOR ์‚ฌ์šฉ ์‹œ: ์›ํ•˜๋Š” ์—๋””ํ„ฐ(code, vim, nano ๋“ฑ) ์—ด๊ธฐ โ€” ์ฐพ๊ธฐ/๋ฐ”๊พธ๊ธฐ, ๋งคํฌ๋กœ ๋“ฑ ์—๋””ํ„ฐ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

VS Code ๊ฐ™์€ GUI ์—๋””ํ„ฐ๋Š” ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค: gac์ด --wait์„ ์‚ฝ์ž…ํ•˜์—ฌ ์—๋””ํ„ฐ ํƒญ์„ ๋‹ซ์„ ๋•Œ๊นŒ์ง€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์„ค์ •์ด ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.


์„ค์ •

์ƒํ˜ธ์ž‘์šฉ์ ์œผ๋กœ ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด uvx gac init๋ฅผ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์„ธ์š”:

๋‚˜์ค‘์— ์–ธ์–ด ์„ค์ •์„ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๊ณ  ํ”„๋กœ๋ฐ”์ด๋”๋‚˜ ๋ชจ๋ธ์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋‚˜์š”? ์–ธ์–ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ฐ„์†Œํ™”๋œ ํ๋ฆ„์„ ์œ„ํ•ด uvx gac model์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์˜ต์…˜์€ .gac.env.example์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค๋ฅธ ์–ธ์–ด๋กœ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์›ํ•˜์‹œ๋‚˜์š”? uvx gac language๋ฅผ ์‹คํ–‰ํ•˜์—ฌ Espaรฑol, Franรงais, ๆ—ฅๆœฌ่ชž ๋“ฑ 25+ ์–ธ์–ด ์ค‘์—์„œ ์„ ํƒํ•˜์„ธ์š”.

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์Šคํƒ€์ผ์„ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”? ์‚ฌ์šฉ์ž ์ •์˜ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ์ž‘์„ฑ์— ๋Œ€ํ•œ ์•ˆ๋‚ด๋Š” docs/CUSTOM_SYSTEM_PROMPTS.md๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.


๋„์›€๋ง ์–ป๊ธฐ

  • ์ „์ฒด ๋ฌธ์„œ: docs/USAGE.md - ์™„์ „ํ•œ CLI ์ฐธ์กฐ
  • MCP ์„œ๋ฒ„: docs/MCP.md - AI ์—์ด์ „ํŠธ๋ฅผ ์œ„ํ•œ MCP ์„œ๋ฒ„๋กœ GAC ์‚ฌ์šฉ
  • Claude Code OAuth: docs/CLAUDE_CODE.md - Claude Code ์„ค์ • ๋ฐ ์ธ์ฆ
  • ChatGPT OAuth: docs/CHATGPT_OAUTH.md - ChatGPT OAuth ์„ค์ • ๋ฐ ์ธ์ฆ
  • ์‚ฌ์šฉ์ž ์ •์˜ ํ”„๋กฌํ”„ํŠธ: docs/CUSTOM_SYSTEM_PROMPTS.md - ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์Šคํƒ€์ผ ์‚ฌ์šฉ์ž ์ •์˜
  • ์‚ฌ์šฉ ํ†ต๊ณ„: uvx gac stats --help ๋˜๋Š” ์ „์ฒด ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”
  • ๋ฌธ์ œ ํ•ด๊ฒฐ: docs/TROUBLESHOOTING.md - ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ ๋ฐ ํ•ด๊ฒฐ์ฑ…
  • ๊ธฐ์—ฌ: docs/CONTRIBUTING.md - ๊ฐœ๋ฐœ ์„ค์ • ๋ฐ ๊ฐ€์ด๋“œ๋ผ์ธ

โญ GitHub์—์„œ ์Šคํƒ€ํ•˜๊ธฐ โ€ข ๐Ÿ› ์ด์Šˆ ๋ณด๊ณ  โ€ข ๐Ÿ“– ์ „์ฒด ๋ฌธ์„œ