Skip to content
hyoseong edited this page Feb 22, 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

๊ธฐ์ˆ  ์Šคํƒ

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

  • 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

Type Checking

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

$ bunx tsc

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

flowchart TD
  MAIN[main ๋ธŒ๋žœ์น˜]
  RELEASE_PR["๋ฒ„์ „ bump &<br/>Release PR ์ƒ์„ฑ<br/>(GitHub Action)"]
  TAG["ํƒœ๊ทธ ์ƒ์„ฑ &<br/>GitHub Release Draft ์ƒ์„ฑ<br/>(GitHub Action)"]
  PUBLISH["npm publish ์‹คํ–‰<br/>(GitHub Action)"]

  MAIN -->|"GitHub UI์—์„œ<br/>Release PR ์‹คํ–‰<br/>(๊ฐœ๋ฐœ์ž)"| RELEASE_PR
  RELEASE_PR -->|"Release PR ๋ฆฌ๋ทฐ & ๋จธ์ง€<br/>(๊ฐœ๋ฐœ์ž)"| TAG
  TAG -->|"GitHub Release ๋ฐœํ–‰<br/>(๊ฐœ๋ฐœ์ž)"| PUBLISH
Loading

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

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

Clone this wiki locally