--- id: wiki-2026-0508-eslint-plugin-development title: ESLint Plugin Development category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [P-Reinforce-AUTO-ESPL-001] duplicate_of: none source_trust_level: A confidence_score: 0.96 tags: [auto-reinforced, ESLint, plugin-development, static-Analysis, ast, JavaScript, dev-tooling, automation] 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 --- # [[ESLint-Plugin-Development|ESLint-Plugin-Development]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "우리 νŒ€λ§Œμ˜ λ³΄μ•ˆ ν•„ν„°: λ‹¨μˆœν•œ κ·œμΉ™ μ‚¬μš©μ„ λ„˜μ–΄, ν”„λ‘œμ νŠΈ 고유의 섀계 μ›μΉ™μ΄λ‚˜ λ³΄μ•ˆ 취약점 정책을 κ°μ§€ν•˜λŠ” μ»€μŠ€ν…€ λ‘œμ§μ„ ν”ŒλŸ¬κ·ΈμΈ ν˜•νƒœλ‘œ νŒ¨ν‚€μ§•ν•˜μ—¬ μ „μ‚¬μ μœΌλ‘œ λ°°ν¬ν•˜κ³  μ½”λ“œ ν’ˆμ§ˆμ„ μˆ˜ν‰ μ „κ°œν•˜λŠ” 도ꡬ μ œμž‘κΈ°." ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) ESLint ν”ŒλŸ¬κ·ΈμΈ 개발(ESLint-Plugin-Development)은 μ—¬λŸ¬ ESLint κ·œμΉ™(Rules)κ³Ό μ„€μ •(Configs)을 ν•˜λ‚˜μ˜ λͺ¨λ“ˆλ‘œ λ¬Άμ–΄ λ‹€λ₯Έ ν”„λ‘œμ νŠΈμ—μ„œ μž¬μ‚¬μš©ν•  수 있게 λ§Œλ“œλŠ” κ³Όμ •μž…λ‹ˆλ‹€. 1. **ꡬ쑰 μš”μ†Œ**: * **Rules**: μ‹€μ œ μ½”λ“œλ₯Ό κ²€μ‚¬ν•˜λŠ” 둜직 (AST λ°©λ¬Έ 주체). ([[Custom-ESLint-Rules|Custom-ESLint-Rules]]와 μ—°κ²°) * **Configs**: ꢌμž₯λ˜λŠ” κ·œμΉ™ μ„€μ • μ„ΈνŠΈ (예: `plugin:my-plugin/recommended`). * **Processors**: `.md`λ‚˜ `.vue` 같은 λΉ„ JS νŒŒμΌμ—μ„œ JS μ½”λ“œλ₯Ό μΆ”μΆœν•˜λŠ” μ „μ²˜λ¦¬κΈ°. 2. **μ™œ μ€‘μš”ν•œκ°€?**: * λŒ€κ·œλͺ¨ μ‘°μ§μ—μ„œ 맀번 각 ν”„λ‘œμ νŠΈμ˜ 린트 섀정을 볡사-λΆ™μ—¬λ„£κΈ° ν•  ν•„μš” 없이, 쀑앙 κ΄€λ¦¬ν˜• ν”ŒλŸ¬κ·ΈμΈ 정책을 톡해 μ½”λ“œ ν‘œμ€€ 정책을 μΌνšŒμ„±μœΌλ‘œ μ „νŒŒν•  수 있기 λ•Œλ¬Έμž„. ([[Efficiency|Efficiency]]와 μ—°κ²°) ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & Updates) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌**: κ³Όκ±°μ—λŠ” λ‹¨μˆœν•œ μ •κ·œν‘œν˜„μ‹ μ •μ±… 검사에 κ°€κΉŒμ› μœΌλ‚˜, ν˜„λŒ€ 정책은 κ°•λ ₯ν•œ 'νƒ€μž… 정보 μ •μ±…(Type-aware linting)'을 ν™œμš©ν•˜μ—¬ νƒ€μž…μŠ€ν¬λ¦½νŠΈμ˜ νƒ€μž… 관계 μ •μ±…κΉŒμ§€ κ²€μ¦ν•˜λŠ” κ³ μˆ˜μ€€ ν”ŒλŸ¬κ·ΈμΈ μ •μ±…μœΌλ‘œ λ°œμ „ν•¨(RL Update). - **μ •μ±… λ³€ν™”(RL Update)**: μ΄μ œλŠ” λ‹¨μˆœ μ—λŸ¬ 감지 정책을 λ„˜μ–΄, λ³΅μž‘ν•œ λ¦¬νŒ©ν† λ§ 정책을 μ½”λ“œκ°€ 써진 μˆœκ°„ μžλ™μœΌλ‘œ μˆ˜ν–‰(Fixer)ν•΄ μ£ΌλŠ” λ³΄μ’Œμ§„ 역할을 μˆ˜ν–‰ν•¨. ([[Quality-Control|Quality-Control]]와 μ—°κ²°) ## πŸ”— 지식 μ—°κ²° (Graph) - [[Custom-ESLint-Rules|Custom-ESLint-Rules]], [[Efficiency|Efficiency]], [[Quality-Control|Quality-Control]], [[Technical-Architecture|Technical-Architecture]], Standard-Operating-Procedure, Automation - **Key Tools**: Yeoman generator-eslint, AST Explorer. --- ## πŸ€– 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: 무엇을 ν•˜λ©΄ μ•ˆ λ˜λŠ”κ°€ + 이유 + λŒ€μ‹  무엇을)*