Skip to content
Helena Park edited this page May 9, 2026 · 30 revisions

ํ”„๋กœ์ ํŠธ ์„ค์ •

์ด ํ”„๋กœ์ ํŠธ์— ๊ด€์‹ฌ์„ ๊ฐ€์ ธ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์—ฌ๋Š” ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค! ๐ŸŽ‰

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” GitHub์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ(PR) ๊ธฐ๋ฐ˜์œผ๋กœ ๊ธฐ์—ฌ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋จผ์ € ํ”„๋กœ์ ํŠธ๋ฅผ ํฌํฌํ•˜๊ณ  PR์„ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.

๋กœ์ปฌ ์‹คํ–‰ ํ™˜๊ฒฝ ์„ค์ •

  1. Bun ์„ค์น˜ํ•˜๊ธฐ
  2. ํ”„๋กœ์ ํŠธ๋ฅผ ํฌํฌํ•˜๊ณ  PR์„ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ์ฐธ๊ณ ํ•ด์„œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ž์‹ ์˜ ๊ณ„์ •์— ํฌํฌํ•˜๊ณ , ํด๋ก ํ•ฉ๋‹ˆ๋‹ค.
    1. ์ด ๋•Œ ํด๋ก ํ•œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์—…์ŠคํŠธ๋ฆผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์™€ ๋™๊ธฐํ™”ํ•˜๋Š” ์„ค์ •์„ ํ•จ๊ป˜ ์ ์šฉํ•˜๋ฉด ๊ธฐ์—ฌ์— ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.
  3. ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค:
cd path/to/daleui
#  ์˜์กด์„ฑ ์„ค์น˜
bun install

# Storybook ์‹คํ–‰ (๋””์ž์ธ ์‹œ์Šคํ…œ ๊ธฐ์—ฌ ์‹œ)
bun run sb # or bun run storybook

# ๋งˆ์ผ€ํŒ… ์›น์‚ฌ์ดํŠธ ์‹คํ–‰ (๋งˆ์ผ€ํŒ… ์›น์‚ฌ์ดํŠธ ๊ธฐ์—ฌ ์‹œ)
bun run dev

๊ธฐ์ˆ  ์Šคํƒ

์ด์Šˆ ๊ด€๋ฆฌ

  • ๋ฌด๋ฃŒ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ธ ๊นƒํ—ˆ๋ธŒ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ์ด์Šˆ(Jira ํ‹ฐ์ผ“๊ณผ ๊ฐ™์€ ๊ฐœ๋…)๋ฅผ ๊ด€๋ฆฌํ•ด ์ฃผ์„ธ์š”.
  • ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์œ ํ˜•(Type)์„ ๋ฐ˜๋“œ์‹œ ์„ ํƒํ•ด์ฃผ์‹œ๊ณ , ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ ํ›„ ์šฐ์„ ์ˆœ์œ„(Priority)์™€ ์˜ˆ์ƒ ์†Œ์š” ์‹œ๊ฐ„(Est)๋„ ํ•จ๊ป˜ ๋„ฃ์–ด์ฃผ์„ธ์š”.
  • ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์Šคํ”„๋ฆฐํŠธ(Sprint)์™€ ์ƒํƒœ(Status)๋Š” ๋น„์›Œ๋‘์–ด ์ผ๋‹จ ๋ฐฑ๋กœ๊ทธ(Backlog)์— ๋‘๋„๋ก ํ•ด ์ฃผ์„ธ์š”.
  • ์ด์Šˆ๋Š” ํŒ€ ํšŒ์˜ ๋•Œ Grooming, Triage, Planning ๊ณผ์ •์„ ๊ฑฐ์นœ ํ›„์— ์Šคํ”„๋ฆฐํŠธ์— ์ถ”๊ฐ€ํ•ด ์ฃผ์„ธ์š”.
  • ๊ธด๊ธ‰ ์ด์Šˆ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์Šคํ”„๋ฆฐํŠธ์— To Do ์ด์Šˆ๊ฐ€ ์†Œ์ง„๋˜์—ˆ์„ ๋•Œ๋Š” ๋””์Šค์ฝ”๋“œ์—์„œ ์†Œํ†ต ํ›„์— ํ˜„์žฌ ์Šคํ”„๋ฆฐํŠธ์— ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
  • ์ž์œจ์ ์ธ ํ˜‘์—…๊ณผ ์ž๋ฐœ์ ์ธ ๊ธฐ์—ฌ๋ฅผ ์œ„ํ•ด ํŠน๋ณ„ํ•œ ์‚ฌ์œ ๊ฐ€ ์—†๋‹ค๋ฉด ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋‹ด๋‹น์ž๋ฅผ ์„ค์ •ํ•˜์ง€ ๋งˆ์„ธ์š”.
  • ์ด์Šˆ ์ƒํƒœ๋Š” ์Šคํ”„๋ฆฐํŠธ์— ์ถ”๊ฐ€๋˜์—ˆ์„ ๋•Œ ๋ถ€ํ„ฐ To Do๋กœ ์„ค์ •ํ•ด์ฃผ์„ธ์š”.
  • ์ž‘์—…์„ ์‹œ์ž‘ํ•˜์‹œ๋ฉด ์ด์Šˆ์˜ ์ƒํƒœ๋ฅผ ๋ฐ˜๋“œ์‹œ In Progress๋กœ ์˜ฎ๊ฒจ์ฃผ์„ธ์š”. (๋งŽ์ด ๊นŒ๋จน๋Š” ๋ถ€๋ถ„์ด๋‹ˆ ๊ผญ ์ง€์ผœ ์ฃผ์„ธ์š”.)
  • ์ด์Šˆ๊ฐ€ ์—ฐ๊ฒฐ๋œ Pull Request๊ฐ€ ๋ณ‘ํ•ฉ๋˜๋ฉด ์ด์Šˆ๋Š” ์ž๋™์œผ๋กœ Done ์ƒํƒœ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค.
  • ๋™์‹œ์— 2๊ฐœ ์ด์ƒ ์ด์Šˆ๋ฅผ ํ• ๋‹นํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์ฃผ์„ธ์š”. WIP๊ฐ€ 2๋ณด๋‹ค ์ปค์ง€๋ฉด ํŒ€์˜ ๋ฆฌ๋ทฐ ๋ถ€๋‹ด์ด ์ปค์ง€๋‹ˆ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.
  • ์„œ๋ธŒ ์ด์Šˆ๋Š” Spike ํ‹ฐ์ผ“์—์„œ ํŒŒ์ƒ๋œ Action ํ‹ฐ์ผ“์— ํ•œํ•ด ์‚ฌ์šฉํ•ด ์ฃผ์„ธ์š”.
  • ์„œ๋ธŒ ์ด์Šˆ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์•„๋„, ์ƒ์œ„ Spike ํ‹ฐ์ผ“(Parent Issue)์€ ์™„๋ฃŒ ์ฒ˜๋ฆฌํ•ด ์ฃผ์„ธ์š”.
  • ์ด์Šˆ๊ฐ€ ์Šคํ”„๋ฆฐํŠธ 1ํšŒ ์ด์ƒ ์ด๊ด€๋  ๊ฒฝ์šฐ spillover label์„ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
  • ์ด์Šˆ๊ฐ€ ์Šคํ”„๋ฆฐํŠธ 2ํšŒ ์ด์ƒ ์ด๊ด€๋  ๊ฒฝ์šฐ ๊ณต๋ก ํ™”ํ•˜๊ณ  blocker ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜์—ฌ ํ•ด๊ฒฐ ๋ฐฉํ–ฅ์„ ์ •๋ฆฌํ•ด์ฃผ์„ธ์š”.

์ฃผ๊ฐ„ ํšŒ์˜๋ก ์ด์Šˆ ์ž๋™ ์ƒ์„ฑ

์ฃผ๊ฐ„ Sprint ํšŒ์˜๋ก ์ด์Šˆ๋Š” GitHub Actions๋ฅผ ํ†ตํ•ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ํ‰์†Œ์—๋Š” ๋ณ„๋„ Repository Variables ์„ค์ • ์—†์ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
๋น„์ •๊ทœ ์Šคํ”„๋ฆฐํŠธ ๋“ฑ์œผ๋กœ ํŠน์ • ์ฃผ์˜ ํšŒ์˜๋ก ์ด์Šˆ ์ƒ์„ฑ์„ ๊ฑด๋„ˆ๋›ฐ์–ด์•ผ ํ•  ๋•Œ๋งŒ Repository Variables์— ์•„๋ž˜ ๊ฐ’์„ ์„ค์ •ํ•ด ์ฃผ์„ธ์š”.

Variable ์„ค๋ช… ๊ฐ’
SKIP_NEXT_RUN ๋‹ค์Œ ํšŒ์˜๋ก ์ด์Šˆ ์ƒ์„ฑ์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. true

๊ฑด๋„ˆ๋›ฐ๊ธฐ๊ฐ€ ๋๋‚œ ๋’ค์—๋Š” SKIP_NEXT_RUN ๊ฐ’์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋น„์›Œ๋‘๋ฉด ๋‹ค์Œ ์‹คํ–‰๋ถ€ํ„ฐ ๋‹ค์‹œ ํšŒ์˜๋ก ์ด์Šˆ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

PR ๊ด€๋ฆฌ

  1. ํ”„๋กœ์ ํŠธ ๋ณด๋“œ์—์„œ To Do ์ƒํƒœ์˜ ํ‹ฐ์ผ“์„ ์„ ํƒํ•˜๊ณ  ๋ณธ์ธ์—๊ฒŒ ํ• ๋‹นํ•ด ์ฃผ์„ธ์š”.
  2. ํ”„๋กœ์ ํŠธ ์„ค์ •
  1. ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ
  • main ๋ธŒ๋žœ์น˜์—์„œ ์ƒˆ๋กœ์šด feature ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ด ์ฃผ์„ธ์š”.
  • ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์—๋Š” -, _ ์™ธ์˜ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.
    ์ฐธ๊ณ  ์ด์Šˆ
  1. ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ์ปค๋ฐ‹
  • ๋ธŒ๋žœ์น˜ ๋‚ด์—์„œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์ปค๋ฐ‹ํ•ด ์ฃผ์„ธ์š”.
  • ๋ณ€๊ฒฝ์ด ๋ชจ๋‘ ์™„๋ฃŒ๋˜๋ฉด ํฌํฌ๋ฐ›์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ธŒ๋žœ์น˜๋ฅผ ํ‘ธ์‹œํ•ด ์ฃผ์„ธ์š”.
  1. ํ…Œ์ŠคํŠธ ์ž‘์„ฑ
  • ๊ธฐ์—ฌํ•œ ์ฝ”๋“œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.
  1. PR ์ƒ์„ฑ
  • Pull Requests ํŽ˜์ด์ง€์—์„œ ์ƒˆ๋กœ์šด PR์„ ์ƒ์„ฑํ•ด ์ฃผ์„ธ์š”.

  • PR ์ œ๋ชฉ๊ณผ ์„ค๋ช…์€ ๊ฐ€๊ธ‰์  ํ•œ๊ตญ์–ด๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด์Šˆ ์ œ๋ชฉ๊ณผ ์ผ์น˜ํ•˜๋„๋ก ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

  • PR์ด ๋“ฑ๋ก๋œ ์ด์Šˆ์™€ ์—ฐ๊ด€๋œ๋‹ค๋ฉด, PR ์ƒ์„ฑ ํ›„ ์˜ค๋ฅธ์ชฝ ์‚ฌ์ด๋“œ๋ฐ” Development ํ•ญ๋ชฉ์—์„œ ํ•ด๋‹น ์ด์Šˆ๋ฅผ ์„ ํƒํ•ด ์—ฐ๊ฒฐํ•ด์ฃผ์„ธ์š”.

    PR ์ด์Šˆ ์—ฐ๊ฒฐ ์˜ˆ์‹œ
  1. PR ๋ฆฌ๋ทฐ ๋ฐ ๋ณ‘ํ•ฉ
  • ์ตœ์†Œ ํ•œ ๋ช… ์ด์ƒ์˜ ๊ด€๋ฆฌ์ž์—๊ฒŒ PR ๊ฒ€ํ† ์™€ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋ฐ›์•„ ์ฃผ์„ธ์š”.
  • ๋ณ€๊ฒฝ ์š”์ฒญ์ด ์žˆ์„ ๊ฒฝ์šฐ, ์ˆ˜์ •์„ ๋ฐ˜์˜ํ•œ ํ›„ ๋‹ค์‹œ ํ‘ธ์‹œํ•˜๊ณ  ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•ด ์ฃผ์„ธ์š”.
  • ๋””์ž์ธ ๋ณ€๊ฒฝ์ด ์žˆ์„ ๊ฒฝ์šฐ, PR์— ui ํƒœ๊ทธ๋ฅผ ๋‹ฌ์•„์„œ Chromatic์„ ์‹คํ–‰ํ•ด ์ฃผ์„ธ์š”.
  • UI Review ์ฒดํฌ์—์„œ ํ•ด๋‹น ๋””์ž์ธ์„ ๋‹ด๋‹นํ•œ ๋””์ž์ด๋„ˆ์—๊ฒŒ ๋ฆฌ๋ทฐ๋ฅผ ์š”์ฒญํ•ด ์ฃผ์„ธ์š”. (์ƒ์„ฑ๋œ PR์˜ ํ•˜๋‹จ Merge ๋ถ€๋ถ„์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ) image

UI Review: ์ž‘์—… ๋‚ด์—ญ์„ ๋””์ž์ธ ๋‹ด๋‹น์ž์—๊ฒŒ ํ™•์ธ ์š”์ฒญํ•˜๋Š” ์ž‘์—…

image

UI Tests: ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด ์˜๋„์น˜ ์•Š์€ UI ๋ณ€ํ™”๋ฅผ ์ผ์œผํ‚ค์ง€ ์•Š์•˜๋Š”์ง€, Chromatic ์Šค๋ƒ…์ƒท์„ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜๋ฉฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ™•์ธํ•˜๋Š” ์ž‘์—…

  • ์ตœ์†Œ 1๊ฐœ์˜ ์Šน์ธ์„ ๋ฐ›์€ ํ›„ main ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉํ•ด ์ฃผ์„ธ์š”.
  • ์ดํ›„ ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ํ†ตํ•ด ๊ธฐ์—ฌํ•œ ๋‚ด์šฉ์ด ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ ์ž‘์„ฑ ๋ฐ ๊ฒ€ํ† 

  • PR ๋ณ‘ํ•ฉ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ตœ์†Œ 1๋ช…์˜ ๋™๋ฃŒ ๊ฐœ๋ฐœ์ž๋กœ๋ถ€ํ„ฐ ์Šน์ธ์„ ๋ฐ›์•„์•ผ ํ•˜์ง€๋งŒ, ํ’ˆ์งˆ ํ–ฅ์ƒ์„ ์œ„ํ•ด์„œ ๊ธด๊ธ‰ ๊ฑด์ด ์•„๋‹ˆ๋ผ๋ฉด 2๊ฐœ์˜ ์Šน์ธ์„ ๋ฐ›๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.
  • [Proposed] "Resolve conversation" ๋ฒ„ํŠผ์€ ์ฝ”๋“œ ๊ฒ€ํ† ์ž๊ฐ€ ํ”ผ๋“œ๋ฐฑ์ด ๋ณธ์ธ์ด ์˜๋„ํ•œ ๋Œ€๋กœ ์กฐ์น˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์ฐจ์›์—์„œ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค. ์ฝ”๋“œ ์ž‘์„ฑ์ž๊ฐ€ ์ž„์˜๋กœ Resolved ํ‘œ์‹œํ•  ์‹œ ์˜คํ•ด๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜์กด์„ฑ

  • ํ•ญ์ƒ ์˜์กด์„ฑ์„ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋„๋ก Dependabot์„ ์ฝ”๋“œ ์ €์žฅ์†Œ์— ์„ค์ •ํ•ด๋†“์•˜์Šต๋‹ˆ๋‹ค.
  • Dependabot์ด ์˜ฌ๋ฆฐ PR์„ ๋Šฆ์ง€ ์•Š๊ฒŒ ๊ฒ€ํ†  ๋ฐ ๋ณ‘ํ•ฉํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋ฒ„์ „์ด ์ผ์œผํ‚ค๋Š” breaking changes๋ฅผ ๋Œ€์‘ํ•˜๋Š” ์ž‘์—…์€ ํŒ€ ๊ฐœ๋ฐœ์ž ๋ชจ๋‘์˜ ๊ณต๋™ ์ฑ…์ž„์ž…๋‹ˆ๋‹ค.
  • Dependabot์ด ์˜ฌ๋ฆฐ PR์„ ๋ฐ˜๋“œ์‹œ PR ์ฝ”๋ฉ˜ํŠธ๋ฅผ ํ†ตํ•ด์„œ Dependabot์—๊ฒŒ ์›ํ•˜์‹œ๋Š” ์ž‘์—…์„ ์‹œ์ผœ์ฃผ์„ธ์š”. ์ง์ ‘ ์ˆ˜์ •ํ•˜์‹œ๋ฉด Dependabot์€ ํ•ด๋‹น PR์„ ๋” ์ด์ƒ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•ด์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ’ˆ์งˆ ๊ฒ€์‚ฌ

main ๋ธŒ๋žœ์น˜์— ํ’ˆ์งˆ ๊ธฐ์ค€์— ๋ฏธ๋‹ฌํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์œ ์ž…์ด ๋˜์ง€ ์•Š๋„๋ก PR์„ ์˜ฌ๋ฆฌ์‹œ๋ฉด ์ž๋™์œผ๋กœ ํ’ˆ์งˆ ๊ฒ€์‚ฌ๊ฐ€ ์ง„ํ–‰๋˜๊ณ  ์‹คํŒจํ•  ๊ฒฝ์šฐ ๋ณ‘ํ•ฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํ’ˆ์งˆ ๊ฒ€์‚ฌ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์ง์ ‘ ์ง„ํ–‰ํ•˜์‹ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Formatting

Prettier๋ฅผ ํ†ตํ•ด์„œ ์ผ๊ด€์ ์ธ ์ฝ”๋“œ ํฌ๋ฉงํŒ…์„ ์œ ์ง€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. VSCode ์‚ฌ์šฉ์ž ๋ถ„๋“ค์€ Prettier ์ต์Šคํ…์…˜์„ ์“ฐ์‹œ๋ฉด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ์ž๋™์œผ๋กœ ์ฝ”๋“œ๋ฅผ ํฌ๋ฉงํŒ…ํ•  ์ˆ˜ ์žˆ์–ด์„œ ํŽธํ•˜๋‹ˆ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

Prettier options ๋Š” ๊ธฐ๋ณธ ์„ค์ •๊ฐ’์œผ๋กœ ํ•ด์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Linting

ESLint๋ฅผ ํ†ตํ•ด์„œ ์ž ์žฌ์ ์ธ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๋”ฐ๋ฅด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฐํŒ… ๊ทœ์น™์„ ์œ„๋ฐ˜ํ•˜๊ณ  ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

# ์ „์ฒด ๊ฒ€์‚ฌ
bun run lint

# ํŠน์ • ํŒŒ์ผ ๊ฒ€์‚ฌ
bun run lint src/components/TextInput/TextInput.tsx

Type Checking

TypeScript๋ฅผ ํ†ตํ•ด์„œ ์ •์  ํƒ€์ž… ๊ฒ€์‚ฌ๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํƒ€์ž… ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

bunx tsc

npm ํŒจํ‚ค์ง€ ๋ฐฐํฌ ๊ณผ์ •

flowchart TD
  RELEASE_PR["1. GitHub UI > Actions์—์„œ<br/>Release PR ์ƒ์„ฑ<br/>(๊ฐœ๋ฐœ์ž)"]
  TAG["3. ์ž๋™์œผ๋กœ ํƒœ๊ทธ & GitHub Release Draft ์ƒ์„ฑ๋จ<br/>(GitHub Action)"]
  PUBLISH["4. npm publish ์‹คํ–‰<br/>(GitHub Action)"]

  RELEASE_PR --> |"2. Release PR Approve & Merge<br/>(๊ฐœ๋ฐœ์ž)"| TAG
  TAG --> PUBLISH
Loading
  1. Release PR ์ƒ์„ฑ: GitHub UI์—์„œ Actionsํƒญ > ์ขŒ์ธก ์‚ฌ์ด๋“œ๋ฐ” Workflow ๋ชฉ๋ก ์ค‘, 'Release PR โฌ†๏ธ' ํด๋ฆญ > Run workflow ํด๋ฆญ > Branch๋Š” main, Version bump type์€ patch/minor/major ์ค‘ ์„ ํƒ > 'Run workflow'๋ฒ„ํŠผ ํด๋ฆญ
image
image
  • patch: ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ
    • ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์—†์ด ์˜คํƒ€๋ฅผ ๊ณ ์น˜๊ฑฐ๋‚˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋Š” ๋“ฑ ์‚ฌ์†Œํ•œ ์ˆ˜์ •์ผ ๋•Œ
  • minor: ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์„ ๋•Œ
    • ์ƒˆ๋กœ์šด ์ปดํฌ๋„ŒํŠธ๋‚˜ ํ•จ์ˆ˜๊ฐ€ ์ƒ๊ฒผ์ง€๋งŒ, ๊ธฐ์กด ๊ธฐ๋Šฅ๋„ ๊ทธ๋Œ€๋กœ ์“ธ ์ˆ˜ ์žˆ์„ ๋•Œ
  • major: ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” API ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ƒ๊ฒผ์„ ๋•Œ (์ด์ „ ๋ฒ„์ „๊ณผ ํ˜ธํ™˜ ์•ˆ ๋จ)
    • ๊ธฐ๋Šฅ์ด ์™„์ „ํžˆ ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ์‚ญ์ œ๋˜์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ๊ณ ์ณ์•ผ ํ•  ๋•Œ (Breaking Changes)


2. ์ƒ์„ฑ๋œ Release PR Approve & Merge
image

  1. Release PR์ด Merge๋˜๋ฉด ์ž๋™์œผ๋กœ ํƒœ๊ทธ & GitHub Release Draft ์ƒ์„ฑ๋จ

  1. GitHub์˜ Code ํƒญ ํด๋ฆญ > ํ™”๋ฉด ์˜ค๋ฅธ์ชฝ ์ค‘๊ฐ„๋ถ€๋ถ„์˜ Release ๋ถ€๋ถ„ ํด๋ฆญ
image

-> ์ƒ์„ฑ๋œ Release Draft์˜ Edit๋ชจ๋“œ > Release notes ๋“ฑ ์ˆ˜์ • ํ›„ 'Publish release'๋ฒ„ํŠผ ํด๋ฆญ

  1. npm์‚ฌ์ดํŠธ์—์„œ ๋ฒ„์ „ update ํ™•์ธ
image

๊ธฐ์—ฌ ์ „ ํ™•์ธ์‚ฌํ•ญ

์ฝ”๋“œ ์Šคํƒ€์ผ, ๋„ค์ด๋ฐ ๊ทœ์น™, PR ์ž‘์„ฑ ๊ทœ์น™ ๋“ฑ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๋จผ์ € ์ปจ๋ฒค์…˜ ๋ฌธ์„œ๋ฅผ ์ฝ์–ด์ฃผ์„ธ์š”.

Clone this wiki locally