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