Skip to content

Latest commit

ย 

History

History
102 lines (76 loc) ยท 6.13 KB

File metadata and controls

102 lines (76 loc) ยท 6.13 KB

์ž‘์—… ์‹œ์ž‘ ์ „ ๋ฐ˜๋“œ์‹œ git pull์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

WhyLog ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ

WhyLog ๋ชจ๋…ธ๋ ˆํฌ์—์„œ ๊ฐœ๋ฐœ์ž์™€ AI ์—์ด์ „ํŠธ๊ฐ€ ๋”ฐ๋ผ์•ผ ํ•˜๋Š” ๊ณตํ†ต ๊ทœ์น™๊ณผ ๋ฌธ์„œ ์œ„์น˜๋ฅผ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

ํŒŒํŠธ๋ณ„ ๋ฌธ์„œ ์ธ๋ฑ์Šค

  • AI: AI ๊ธฐ์ˆ  ์Šคํƒ, ํด๋” ๊ตฌ์กฐ, LLM ํ˜ธ์ถœ ๊ทœ์•ฝ, ํ”„๋กฌํ”„ํŠธ ๊ด€๋ฆฌ, ์ฐธ์กฐ ๊ตฌํ˜„
  • Server: ์„œ๋ฒ„ ๊ณ„์ธต ๊ตฌ์กฐ, ํŠธ๋žœ์žญ์…˜ยท์ฟผ๋ฆฌ ๊ทœ์น™, ์‘๋‹ต ํ˜•์‹, ๊ฒฝ๊ณ„, ์ฐธ์กฐ ๊ตฌํ˜„, ๋ฆฌ๋ทฐ ์ฒดํฌ๋ฆฌ์ŠคํŠธ
  • Web: ํ”„๋ก ํŠธ์—”๋“œ ๊ตฌ์กฐ, ์ปดํฌ๋„ŒํŠธยท์ƒํƒœ ๊ด€๋ฆฌยท์Šคํƒ€์ผ ๊ทœ์น™, ์ฐธ์กฐ ๊ตฌํ˜„

๊ณตํ†ต ๋ฌธ์„œ

  • Architecture: AIยทServerยทWeb ์—ฐ๊ฒฐ ๊ตฌ์กฐ์™€ ์„œ๋น„์Šค ํ๋ฆ„
  • Domain: ๊ณตํ†ต ์šฉ์–ด์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™
  • Decisions: ํšŒ์˜์—์„œ ํ™•์ •๋œ ๊ฒฐ์ • ์‚ฌํ•ญ, YYYY-MM.md๋กœ ์›”๋ณ„ ๊ด€๋ฆฌ
  • PR Reviews: PR๋ณ„ CI ๋ฆฌ๋ทฐ ๊ธฐ๋ก ํ˜•์‹๊ณผ ์กฐํšŒ ๊ทœ์น™

์ €์žฅ์†Œ ๊ตฌ์กฐ

  • ai/: AI ์„œ๋น„์Šค
  • server/: Spring Boot ๋ฐฑ์—”๋“œ
  • web/: ํ”„๋ก ํŠธ์—”๋“œ
  • docs/: ๊ณตํ†ต ์„ค๊ณ„ ๋ฐ ๊ฒฐ์ • ๊ธฐ๋ก

๋ฌธ์„œ ๊ด€๋ฆฌ ์›์น™

  • ๋ฌธ์„œ์˜ ์ •๋ณธ์€ ์ €์žฅ์†Œ ๋‚ด๋ถ€์˜ AGENTS.md์™€ docs/์ž…๋‹ˆ๋‹ค.
  • ์‹ค์ œ ๊ทœ์น™์€ AGENTS.md์—๋งŒ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • CLAUDE.md๋Š” ๊ฐ™์€ ํด๋”์˜ AGENTS.md๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ ํŒŒํŠธ์— ๋ฌธ์„œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ฒฝ๋กœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ํ•ด๋‹น ํŒŒํŠธ์˜ ๋ฌธ์„œ ๋ชฉ์ฐจ๋„ ํ•จ๊ป˜ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค.
  • ํŒŒํŠธ ๋ฌธ์„œ ๊ตฌ์„ฑ์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋ฃจํŠธ์˜ ํŒŒํŠธ๋ณ„ ๋ฌธ์„œ ์ธ๋ฑ์Šค๋„ ํ•จ๊ป˜ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค.
  • ํŒŒํŠธ ๋ชฉ์ฐจ์™€ ๋ฃจํŠธ ์ธ๋ฑ์Šค ์ค‘ ํ•˜๋‚˜๋งŒ ๋ˆ„๋ฝ๋œ ๊ฒฝ์šฐ ๊ธฐ๋ก์„ฑ ์ˆ˜์ •์œผ๋กœ ๋ณด๊ณ  ๋ฐ”๋กœ PR๋กœ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.
  • ํšŒ์˜์—์„œ ํ™•์ •๋œ ๊ฒฐ์ •์€ docs/decisions/YYYY-MM.md์— ์›” ๋‹จ์œ„๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์›” ํŒŒ์ผ์ด ์—†์„ ๋•Œ๋งŒ ์ƒˆ๋กœ ๋งŒ๋“ค๊ณ  docs/decisions/README.md ์ธ๋ฑ์Šค๋ฅผ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค.
  • docs/pr-reviews/๋Š” ๊ทœ์น™์ด ์•„๋‹Œ ์‹คํ–‰ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ๋Š” ํ˜„์žฌ ์ž‘์—…๊ณผ ๊ด€๋ จ๋œ PR ๋ฌธ์„œ๋งŒ ์„ ํƒํ•ด์„œ ์ฝ์Šต๋‹ˆ๋‹ค.
  • AI๊ฐ€ ํšŒ์˜ ๋…น์Œ์—์„œ ๋ฝ‘์€ ์ดˆ์•ˆ์€ ๊ทธ๋Œ€๋กœ ๋จธ์ง€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ก ๋‹ด๋‹น์ด ๊ฒฐ์ •๋งŒ ๋‚จ๊ธฐ๊ณ  ์„œ์ˆ ยท์š”์•ฝยท๋ฐฐ๊ฒฝ ์„ค๋ช…์„ ๊ฑท์–ด๋‚ธ ๋’ค PR์„ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค. ์›”๋ณ„ decisions.md์—๋Š” ๊ฒฐ์ • ํ•œ ์ค„๊ณผ ๋‚ ์งœ๋งŒ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

๋ฌธ์„œ ๋ถ„๋Ÿ‰

  • ๊ฐ AGENTS.md๋Š” 150์ค„์„ ๋„˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋„˜์œผ๋ฉด ํ•ด๋‹น ํŒŒํŠธ ํด๋” ์•„๋ž˜๋กœ ๋ถ„๋ฆฌํ•˜๊ณ  AGENTS.md์—๋Š” ๋ชฉ์ฐจ๋งŒ ๋‚จ๊น๋‹ˆ๋‹ค.
  • ์ค„์„ ์ถ”๊ฐ€ํ•  ๋•Œ "์ด ์ค„์„ ์ง€์šฐ๋ฉด AI๊ฐ€ ์‹ค์ˆ˜ํ•˜๊ฒŒ ๋˜๋‚˜?" ๋ฅผ ๋ฌป์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ๋ฅผ ์ฝ์–ด์„œ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ(๊ธฐ์ˆ  ์Šคํƒ, ํด๋” ํŠธ๋ฆฌ, ํŒŒ์ผ๋ณ„ ์„ค๋ช…)์€ ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ทœ์น™์„ ๋ฐ˜๋ณตํ•ด์„œ ์–ด๊ธด๋‹ค๋ฉด ๋ฌธ์„œ๊ฐ€ ๊ธธ์–ด์„œ ๊ทœ์น™์ด ๋ฌปํžŒ ๊ฒƒ์œผ๋กœ ๋ณด๊ณ , ๊ทœ์น™์„ ๊ฐ•์กฐํ•˜๊ธฐ ์ „์— ๋ถ„๋Ÿ‰๋ถ€ํ„ฐ ์ค„์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ž‘์—… ์ ˆ์ฐจ

  1. ์ž‘์—… ์‹œ์ž‘ ์ „ git pull์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ์—์„œ ๋ชจํ˜ธํ•œ ๋ถ€๋ถ„์„ ๋จผ์ € ์งˆ๋ฌธํ•˜๊ณ  ์™„๋ฃŒ ์กฐ๊ฑด์„ ํ™•์ •ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ž‘์—…์„ ์ž‘์€ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.
  4. ์˜ˆ์ƒ ์†Œ์š” ์‹œ๊ฐ„, ๋ง‰ํž ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ๋ถ€๋ถ„, ์ „๋ฌธ ๋ฐ– ์˜์—ญ์— ๋Œ€ํ•œ ๊ฑฑ์ •์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  5. ๊ตฌํ˜„ ์‹œ์ž‘ ์‹œ ์ž‘์—… ์ค‘ PR์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  6. ๋‹ค๋ฅธ ํŒŒํŠธ์˜ ์˜์—ญ์„ ์ˆ˜์ •ํ•  ๋•Œ๋Š” ํ•ด๋‹น ๊ฐ€๋””์–ธ์—๊ฒŒ PR ์ฝ”๋ฉ˜ํŠธ๋กœ ์„ค๊ณ„๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  7. ์„ค๊ณ„ ํ™•์ธ ์š”์ฒญ์— 24์‹œ๊ฐ„ ๋™์•ˆ ์‘๋‹ต์ด ์—†์œผ๋ฉด ํŒ๋‹จํ•œ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๊ณ  ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  8. ๊ธฐ๊ณ„ ๊ฒ€์‚ฌ์™€ AI ๋ฆฌ๋ทฐ์˜ ์ฐจ๋‹จ ํ•ญ๋ชฉ์ด ์—†์œผ๋ฉด ๋จธ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  9. ์‹ค์ œ ์†Œ์š” ์‹œ๊ฐ„, ์‹ค์ œ๋กœ ๋ง‰ํžŒ ๋ถ€๋ถ„, ๋ฐฐ์šด ์ ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€

  • ํ˜•์‹์€ <type>(<scope>): <์„ค๋ช…>์ž…๋‹ˆ๋‹ค.
  • type์€ feat, fix, refactor, docs, chore, ci, style, test ์ค‘ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • scope๋Š” ai, server, web, docs, root ์ค‘ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ํŒŒํŠธ๋ฅผ ๋™์‹œ์— ๋ณ€๊ฒฝํ•˜๋ฉด scope๋ฅผ ์ƒ๋žตํ•ด <type>: <์„ค๋ช…>์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋ธŒ๋žœ์น˜ ์ด๋ฆ„

  • ํ˜•์‹์€ <type>/<short-description>์ž…๋‹ˆ๋‹ค.
  • type์€ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์™€ ๊ฐ™์€ ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•˜๊ณ , short-description์€ ์˜๋ฌธ ์†Œ๋ฌธ์ž kebab-case๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • IssueยทPR ๋ฒˆํ˜ธ์™€ # ๋ฌธ์ž๋Š” ๋„ฃ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ: feat/meeting-summary, ci/ai-review.

๊ฒ€์‚ฌ ๋ฐ ๋ฆฌ๋ทฐ ์›์น™

  • ๊ธฐ๊ณ„ ๊ฒ€์‚ฌ๋Š” ํฌ๋งคํ„ฐ, ๋ฆฐํ„ฐ, ํƒ€์ž… ๊ฒ€์‚ฌ, ํ…Œ์ŠคํŠธ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ๊ณ„ ๊ฒ€์‚ฌ ์‹คํŒจ ์‹œ AI ๋ฆฌ๋ทฐ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • AI ๋ฆฌ๋ทฐ๋Š” ๋ฃจํŠธ ๋ฌธ์„œ, ๋ณ€๊ฒฝ๋œ ํŒŒํŠธ์˜ AGENTS.md, ๊ณตํ†ต ๋ฌธ์„œ์™€ ๊ธฐ๋Šฅ ์™„๋ฃŒ ์กฐ๊ฑด์„ ๊ธฐ์ค€์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • AI ๋ฆฌ๋ทฐ ๊ฒฐ๊ณผ๋Š” ๋ฐ˜๋“œ์‹œ ์ฐจ๋‹จ๊ณผ ์ œ์•ˆ์œผ๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฐจ๋‹จ ํ•ญ๋ชฉ์€ ํƒ€๋‹น์„ฑ์„ ์‚ฌ๋žŒ์ด ๋จผ์ € ํŒ๋‹จํ•œ ๋’ค ํ•„์š”ํ•œ ํ•ญ๋ชฉ๋งŒ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์ œ์•ˆ ํ•ญ๋ชฉ์€ ๋จธ์ง€๋ฅผ ์ฐจ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ณต์šฉ ๋ชจ๋“ˆ์ด๋‚˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ณ€๊ฒฝ์€ ๊ด€๋ จ ๊ฐ€๋””์–ธ์˜ ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋กœ์ปฌ AI๋Š” ๊ตฌํ˜„์— ์‚ฌ์šฉํ•˜๊ณ , ๊ณต์‹ ๋ฆฌ๋ทฐ ๊ธฐ๋ก์€ CI์˜ AI ๋ฆฌ๋ทฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

AI ์‚ฌ์šฉ ์›์น™

์ž‘์—… ๋ฐฉ์‹

  • ๊ฐ€์ •์„ ๋จผ์ € ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ชจํ˜ธํ•˜๋ฉด ์ถ”์ธกํ•˜์ง€ ๋ง๊ณ  ์งˆ๋ฌธํ•˜๊ณ , ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๊ฐ€ ์žˆ์œผ๋ฉด ๋“œ๋Ÿฌ๋ƒ…๋‹ˆ๋‹ค.
  • ์ตœ์†Œ ์ฝ”๋“œ๋กœ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญํ•˜์ง€ ์•Š์€ ์ถ”์ƒํ™”์™€ ์˜ˆ๋น„ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์š”์ฒญํ•œ ๊ฒƒ๋งŒ ๊ฑด๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ๋œ ๋ชจ๋“  ์ค„์ด ์š”์ฒญ๊ณผ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌด๊ด€ํ•œ ํฌ๋งคํŒ…ยท์ฃผ์„ยท๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•จ๊ป˜ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์™„๋ฃŒ ์กฐ๊ฑด์„ ๋จผ์ € ์ •์˜ํ•˜๊ณ  ๊ฒ€์ฆ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹จ, diff๋ฅผ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์œ„ ์ ˆ์ฐจ๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

ํŒ€ ๊ทœ์น™

  • AI๊ฐ€ ์ƒ์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ ์ƒํƒœ๋กœ ๋จธ์ง€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์ฐธ์กฐ ๊ตฌํ˜„์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ AI์—๊ฒŒ ํ•จ๊ป˜ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์Šคํ‚ค๋งˆ๋‚˜ ๊ณต์šฉ ์ธํ„ฐํŽ˜์ด์Šค ๋ณ€๊ฒฝ์€ AI๊ฐ€ ๋ฐ”๋กœ ์ ์šฉํ•˜์ง€ ์•Š๊ณ  ๋จผ์ € ์ œ์•ˆํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

  • ๋™์‹œ์— ์—ฌ๋Ÿฌ AI ์ž‘์—…์„ ๋ณ‘๋ ฌ๋กœ ์ง„ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์ถœ๋ ฅ ๊ธธ์ด๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ๋ช…๋ น์€ ๋ฐ”์ดํŠธ๋กœ ์ž๋ฆ…๋‹ˆ๋‹ค. head -n์€ ํ•œ ์ค„์ด ๊ฑฐ๋Œ€ํ•˜๋ฉด ๋ฌด๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    ./gradlew build 2>&1 | tail -c 4000