--- id: wiki-2026-0508-declaration-files title: Declaration Files category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [P-Reinforce-AI-DECLARATION-FILES] duplicate_of: none source_trust_level: A confidence_score: 0.99 tags: [TypeScript, JavaScript, DeclarationFiles, Tooling] raw_sources: [] last_reinforced: 2026-04-20 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[Declaration-Files|Declaration-Files]] (μ„ μ–Έ 파일, .d.ts) ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "μžλ°”μŠ€ν¬λ¦½νŠΈλΌλŠ” 원석에 νƒ€μž…μ΄λΌλŠ” 주석을 μž…νžˆλŠ” 투λͺ… 필름." κ΅¬ν˜„(Implementation)은 없이 였직 νƒ€μž… 정보(Signature)만 ν¬ν•¨ν•˜μ—¬, νƒ€μž…μŠ€ν¬λ¦½νŠΈκ°€ JS μ½”λ“œλ₯Ό μ΄ν•΄ν•˜κ³  μžλ™ 완성을 μ œκ³΅ν•˜κ²Œ λ•λŠ” 맀뉴얼이닀. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **Extension**: `.d.ts` (dλŠ” declaration의 μ•½μž). - **Core Role**: - **Bridge**: 컴파일된 JS 파일 μ˜†μ—μ„œ ν•΄λ‹Ή μ½”λ“œμ˜ νƒ€μž…μ„ μ„€λͺ…함. - **Library [[Support|Support]]**: 직접 TS둜 쓰이지 μ•Šμ€ NPM νŒ¨ν‚€μ§€λ“€μ— νƒ€μž…μ„ 뢀여함. - **[[Ambient Declarations|Ambient Declarations]]**: `window`λ‚˜ `process` 같은 μ „μ—­ 객체에 νƒ€μž…μ„ μΆ”κ°€ν•˜λŠ” μš©λ„. - **Compiler [[Behavior|Behavior]]**: λŸ°νƒ€μž„μ—λŠ” μ•„λ¬΄λŸ° 영ν–₯을 μ£Όμ§€ μ•ŠμœΌλ©°, 였직 '에디터'와 '컴파일 νƒ€μž„'의 μ•ˆμ •μ„±λ§Œμ„ μœ„ν•΄ μ‘΄μž¬ν•œλ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & Updates) - μ„ μ–Έ 파일과 μ‹€μ œ JS μ½”λ“œκ°€ 뢈일치(Out-of-sync)ν•  λ•Œ λ°œμƒν•˜λŠ” 'κ±°μ§“ μ•ˆμ „(False sense of security)'이 κ°€μž₯ μœ„ν—˜ν•˜λ‹€. 이λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ 라이브러리 μ œμž‘μžλŠ” `tsc`λ₯Ό 톡해 κ΅¬ν˜„λΆ€μ—μ„œ νƒ€μž…μ„ μžλ™ μΆ”μΆœ(emitDeclarationOnly)ν•˜λŠ” 방식을 μ§€ν–₯ν•΄μ•Ό ν•œλ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) - Related: [[DefinitelyTyped|DefinitelyTyped]] , TypeScript-Type-System - Practice: Publishing-Dual-CJS-ESM-Packages ## πŸ€– LLM ν™œμš© 힌트 (How to Use This Knowledge) **μ–Έμ œ 이 지식을 μ“°λŠ”κ°€:** - *(TODO)* **μ–Έμ œ μ“°λ©΄ μ•ˆ λ˜λŠ”κ°€:** - *(TODO)* ## πŸ§ͺ 검증 μƒνƒœ (Validation) - **정보 μƒνƒœ:** needs_review - **좜처 신뒰도:** A - **κ²€ν†  이유:** *(P-Reinforce Phase 1 μžλ™ μ •κ·œν™”. λ³Έλ¬Έ 검증 ν•„μš”.)* ## 🧬 쀑볡 검사 (Duplicate Check) - **κΈ°μ‘΄ μœ μ‚¬ λ¬Έμ„œ:** *(TODO: μΈλ±μ„œ ν΄λŸ¬μŠ€ν„° 리포트 μ°Έμ‘°)* - **처리 방식:** UPDATE (μžλ™ μ •κ·œν™”) - **처리 이유:** Phase 1 μ •κ·œν™” β€” μ˜› ν…œν”Œλ¦Ώ/λˆ„λ½ ν•„λ“œ 보강. ## πŸ•“ λ³€κ²½ 이λ ₯ (Changelog) | λ‚ μ§œ | λ³€κ²½ λ‚΄μš© | 처리 방식 | 신뒰도 | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 μ •κ·œν™” (frontmatter + 헀더 ν‘œμ€€ν™”) | UPDATE | A | ## πŸ’» μ½”λ“œ νŒ¨ν„΄ (Code Patterns) **νŒ¨ν„΄ 1:** *(TODO: 이 ν”„λ‘œμ νŠΈ μ»¨λ²€μ…˜ λ°˜μ˜ν•œ ꡬ쑰 μŠ€μΌˆλ ˆν†€)* ```text # TODO ``` ## πŸ€” μ˜μ‚¬κ²°μ • κΈ°μ€€ (Decision Criteria) **선택 Aλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **선택 Bλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **κΈ°λ³Έκ°’:** > *(TODO)* ## ❌ μ•ˆν‹°νŒ¨ν„΄ (Anti-Patterns) - **[μ•ˆν‹°νŒ¨ν„΄]:** *(TODO: 무엇을 ν•˜λ©΄ μ•ˆ λ˜λŠ”κ°€ + 이유 + λŒ€μ‹  무엇을)*