--- id: P-REINFORCE-AUTO-9CC04F category: "10_Wiki/๐Ÿ’ก Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Monorepo(Turborepo ๋“ฑ) ํ™˜๊ฒฝ์˜ ๋ฆฐํŠธ ๊ด€๋ฆฌ" --- # [[Monorepo(Turborepo แ„ƒแ…ณแ†ผ) แ„’แ…ชแ†ซแ„€แ…งแ†ผแ„‹แ…ด แ„…แ…ตแ†ซแ„แ…ณ แ„€แ…ชแ†ซแ„…แ…ต|Monorepo(Turborepo ๋“ฑ) ํ™˜๊ฒฝ์˜ ๋ฆฐํŠธ ๊ด€๋ฆฌ]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > Turborepo์™€ ๊ฐ™์€ ๋ชจ๋…ธ๋ ˆํฌ(Monorepo) ํ™˜๊ฒฝ์—์„œ๋Š” ๋‹ค์ˆ˜์˜ ํŒจํ‚ค์ง€์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ธํ•ด ESLint ๋ฐ Prettier ์„ค์ •์ด ์ค‘๋ณต๋˜๊ณ  ์ผ๊ด€์„ฑ์ด ๋–จ์–ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [1]. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ค‘์•™ ์ง‘์ค‘์‹ ์„ค์ • ํŒจํ‚ค์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ๋ชจ๋…ธ๋ ˆํฌ ๋ฃจํŠธ(Root)์—์„œ ํŒŒ์ผ ํŒจํ„ด์„ ๋งคํ•‘ํ•˜์—ฌ ๋ฆฐํŠธ ๊ทœ์น™์„ ์กฐ์œจ(Orchestration)ํ•˜๋Š” ๋ฐฉ์‹์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [2], [3]. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ์ ์šฉํ•˜๋ฉด ๊ฐ ํŒจํ‚ค์ง€์˜ ๊ณ ์œ ํ•œ ๊ทœ์น™์„ ์กด์ค‘ํ•˜๋ฉด์„œ๋„ Turborepo์˜ ์บ์‹ฑ ๊ธฐ๋Šฅ๊ณผ `lint-staged`๋ฅผ ํ™œ์šฉํ•ด ๋ฆฐํŠธ ์†๋„๋ฅผ ๋†’์ด๊ณ  ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4], [5]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **๋ชจ๋…ธ๋ ˆํฌ ๋ฆฐํŠธ ๊ด€๋ฆฌ์˜ ์ฃผ์š” ๋ฌธ์ œ์ ** ๋ชจ๋…ธ๋ ˆํฌ ํ™˜๊ฒฝ์€ ๋ณดํ†ต ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์˜ˆ: Next.js)๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒจํ‚ค์ง€๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๊ฐ ํŒจํ‚ค์ง€๋งˆ๋‹ค `.eslintrc.json`๊ณผ `.eslintignore` ํŒŒ์ผ, ๊ทธ๋ฆฌ๊ณ  ๊ด€๋ จ ์˜์กด์„ฑ์ด ํฉ์–ด์ ธ ์ค‘๋ณต๋˜๋Š” ์œ ์ง€๋ณด์ˆ˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [1]. ํŠนํžˆ ์‚ฌ์ „ ์ปค๋ฐ‹(pre-commit) ๋‹จ๊ณ„์—์„œ ๋ฃจํŠธ ์ˆ˜์ค€์˜ `lint-staged`๋ฅผ ์‹คํ–‰ํ•  ๋•Œ, ํŒจํ‚ค์ง€๋ณ„๋กœ ๋‹ค๋ฅธ ๋ฆฐํŒ… ๊ทœ์น™์„ ๋™์‹œ์— ์กด์ค‘ํ•˜๋ฉด์„œ ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ๋งŒ ๊ฒ€์‚ฌํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํฐ ๊ณผ์ œ์ž…๋‹ˆ๋‹ค [2]. * **์ค‘์•™ ์ง‘์ค‘์‹ ์„ค์ • ํŒจํ‚ค์ง€ ๊ตฌ์ถ•** ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด `@repo/eslint-config`์™€ ๊ฐ™์€ ๋‚ด๋ถ€ ์ „์šฉ ์„ค์ • ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฆฐํŠธ ๊ทœ์น™์˜ ๋‹จ์ผ ์ง„์‹ค ๊ณต๊ธ‰์›(Single source of truth)์œผ๋กœ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค [2], [6]. ์ด ํŒจํ‚ค์ง€ ๋‚ด๋ถ€์—๋Š” ๊ธฐ๋ณธ(Base), Next.js์šฉ, ์ผ๋ฐ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์šฉ๊ณผ ๊ฐ™์ด ์กฐํ•ฉ ๊ฐ€๋Šฅํ•œ ์‚ฌ์ „ ์„ค์ •(Preset)์„ ๊ตฌ์„ฑํ•ด ๋‘ก๋‹ˆ๋‹ค [7], [8]. ESLint 9์˜ Flat Config ํ˜•์‹(`eslint.config.mjs`)์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋ชจ๋…ธ๋ ˆํฌ ๋‚ด์˜ ๊ฐœ๋ณ„ ํŒจํ‚ค์ง€๋“ค์€ ๊ฐ์ž์˜ ์„ค์ • ํŒŒ์ผ์—์„œ ํ•„์š”ํ•œ ํ”„๋ฆฌ์…‹๋งŒ ๊ฐ€์ ธ์™€(import) ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์ฝ”๋“œ ์ค‘๋ณต์„ ์ค„์ด๊ณ  ์ž์œจ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [7], [6]. * **๋ฃจํŠธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ (Root Orchestration)** ๋ชจ๋…ธ๋ ˆํฌ์˜ ๋ฃจํŠธ์— ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์„ ์œ„ํ•œ `eslint.config.mjs` ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ๊ธ€๋กœ๋ธŒ(glob) ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „์—ญ ๊ธฐ๋ณธ ๊ทœ์น™์„ ์ ์šฉํ•˜๋Š” ๋™์‹œ์—, ๊ฐ ํŒŒ์ผ์ด ์†ํ•œ ํŒจํ‚ค์ง€์— ๋งž๋Š” ์„ค์ •(์˜ˆ: Next.js ํŒจํ‚ค์ง€ ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒจํ‚ค์ง€ ๊ทœ์น™)์œผ๋กœ ์ •ํ™•ํžˆ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค [3]. ์ด ์กฐ์œจ ๊ณผ์ •์„ ํ†ตํ•ด ํŒจํ‚ค์ง€ ๊ฐ„์˜ ๊ฒฝ๊ณ„๋ฅผ ์นจ๋ฒ”ํ•˜์ง€ ์•Š๊ณ  ์•Œ๋งž์€ ๋ฆฐํŠธ ๊ทœ์น™์„ ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3]. * **Husky, lint-staged ๋ฐ Turborepo ํ†ตํ•ฉ** ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์ด ์„ค์ •๋˜๋ฉด, ๋ฃจํŠธ์˜ `package.json`๊ณผ `.husky/pre-commit` ํ›…์— `lint-staged`๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค [4]. ์ด๋ฅผ ํ†ตํ•ด ์ปค๋ฐ‹ ์‹œ ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ๋“ค๋งŒ ๋ฆฐํŠธํ•˜๊ฒŒ ๋˜๋ฉฐ, ๋ฃจํŠธ ์„ค์ • ํŒŒ์ผ์ด ๋Œ€์ƒ ํŒŒ์ผ์„ ํŒจํ‚ค์ง€๋ณ„ ์˜ฌ๋ฐ”๋ฅธ ๊ทœ์น™์œผ๋กœ ๋ผ์šฐํŒ…ํ•ด ์ค๋‹ˆ๋‹ค [4]. ์ถ”๊ฐ€๋กœ `turbo.json`์˜ ์ „์—ญ ์˜์กด์„ฑ์— ESLint ์„ค์ • ํŒจํ‚ค์ง€๋ฅผ ๋ช…์‹œํ•˜๋ฉด, ์„ค์ •์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งŒ ์บ์‹œ๋ฅผ ๋ฌดํšจํ™”ํ•˜๊ณ  ํ‰์ƒ์‹œ์—๋Š” ๋ฆฐํŠธ ๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑํ•˜๊ฒŒ ๋˜์–ด ์ „์ฒด์ ์ธ ์ž‘์—… ์†๋„๊ฐ€ ํš๊ธฐ์ ์œผ๋กœ ๊ฐœ์„ ๋ฉ๋‹ˆ๋‹ค [4], [5]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[ESLint|ESLint]], [[Prettier|Prettier]], [[Husky|Husky]], [[lint-staged|lint-staged]] - **Projects/Contexts:** [[Turborepo|Turborepo]] - **Contradictions/Notes:** ์†Œ์Šค์— ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. (๋ชจ๋…ธ๋ ˆํฌ ๋ฆฐํŠธ ๊ด€๋ฆฌ ๋ฐฉ์‹๊ณผ ๊ด€๋ จํ•ด ์†Œ์Šค ๋‚ด์—์„œ ์„œ๋กœ ์ƒ์ถฉ๋˜๋Š” ์ฃผ์žฅ์ด๋‚˜ ๋ชจ์ˆœ๋˜๋Š” ์ •๋ณด๋Š” ํ™•์ธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.) --- *Last updated: 2026-04-18* - Raw Source: 00_Raw/2026-04-20/Monorepo(Turborepo ๋“ฑ) ํ™˜๊ฒฝ์˜ ๋ฆฐํŠธ ๊ด€๋ฆฌ.md ---