codingbuddy-rules 0.0.0-canary.20260107071919.gfefd31c β†’ 0.0.0-canary.20260107075920.gb5d679f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -368,7 +368,7 @@ if (parseModeResult.parallelAgentsRecommendation) {
368
368
  prompt: agent.taskPrompt,
369
369
  description: agent.description,
370
370
  run_in_background: true,
371
- model: "haiku" // Use haiku for efficiency
371
+ model: "opus" // Use opus for thorough analysis
372
372
  })
373
373
  );
374
374
 
@@ -308,6 +308,7 @@
308
308
  "πŸ”΄ UI/UX Design: Visual hierarchy, UX laws, interaction patterns - Reference: .ai-rules/agents/ui-ux-designer.json modes.evaluation framework for comprehensive UI/UX design assessment",
309
309
  "πŸ”΄ Documentation Quality: Documentation, cursor rules, and AI prompt quality - Reference: .ai-rules/agents/documentation-specialist.json modes.evaluation framework for clarity, completeness, consistency, actionability, structure, and references assessment",
310
310
  "πŸ”΄ Impact Radius: Side effects, dependencies, breaking changes - Reference: impact_radius_analysis section for dependency analysis, contract changes, and side effect checklist",
311
+ "πŸ”΄ Refactoring Verification: 쑰건 λΆ„κΈ°, 데이터 λ³€ν™˜, μ˜΅μ…”λ„ ν•„λ“œ, μ˜μ‘΄μ„±, μ—£μ§€ μΌ€μ΄μŠ€ μˆ˜λ™ κ²€ν†  - Reference: refactoring_review section for manual logic verification beyond automated tests",
311
312
  "Design Patterns: Latest React/Next.js patterns - See project.md 'Tech Stack' section for versions and .ai-rules/agents/code-quality-specialist.json for design pattern assessment"
312
313
  ],
313
314
  "specialist_agent_integration": {
@@ -433,6 +434,67 @@
433
434
  "action": "Verify behavior compatibility through tests"
434
435
  }
435
436
  }
437
+ },
438
+
439
+ "refactoring_review": {
440
+ "description": "μžλ™ν™”λœ ν…ŒμŠ€νŠΈ μ™Έ ν•„μˆ˜ μˆ˜λ™ 둜직 κ²€ν†  - ν…ŒμŠ€νŠΈ 톡과 β‰  버그 μ—†μŒ",
441
+ "trigger": "λͺ¨λ“  EVALμ—μ„œ μ‹€ν–‰ (μŠ€ν‚΅ κ°€λŠ₯)",
442
+ "philosophy": {
443
+ "core_principle": "ν…ŒμŠ€νŠΈ 톡과 β‰  버그 μ—†μŒ, λ¦¬νŒ©ν† λ§ β‰  μ•ˆμ „",
444
+ "dangerous_assumptions": [
445
+ "파일 μ΄λ™λ§Œ ν–ˆμœΌλ‹ˆ 둜직 λ³€κ²½ μ—†μŒ",
446
+ "ν…ŒμŠ€νŠΈ ν†΅κ³Όν–ˆμœΌλ‹ˆ κΈ°λŠ₯ 동일함",
447
+ "λ¦¬νŒ©ν† λ§μ€ μ •μ˜μƒ μ•ˆμ „ν•¨",
448
+ "κΈ°μ‘΄ μ½”λ“œλ‹ˆκΉŒ κ²€μ¦λœ κ²ƒμž„"
449
+ ],
450
+ "required_evidence": "μœ„ 가정을 ν•˜λ €λ©΄ μ‹€μ œ μ½”λ“œ κ²€ν†  증거 ν•„μˆ˜"
451
+ },
452
+ "checklist": {
453
+ "conditional_branches": {
454
+ "description": "if/else, μ‚Όν•­μ—°μ‚°μž, switch 각 λΆ„κΈ° 좔적",
455
+ "question": "각 λΆ„κΈ°κ°€ μ˜λ„λŒ€λ‘œ λ™μž‘ν•˜λŠ”κ°€?",
456
+ "common_bugs": [
457
+ "쑰건 λˆ„λ½μœΌλ‘œ νŠΉμ • μΌ€μ΄μŠ€λ§Œ 처리",
458
+ "else λΆ„κΈ° λ―Έκ΅¬ν˜„"
459
+ ]
460
+ },
461
+ "data_transformations": {
462
+ "description": "νƒ€μž… λ³€ν™˜ ν•¨μˆ˜μ˜ μž…μΆœλ ₯ ν•„λ“œ λ§€ν•‘ 확인",
463
+ "question": "λͺ¨λ“  ν•„λ“œκ°€ μ˜¬λ°”λ₯΄κ²Œ λ§€ν•‘λ˜λŠ”κ°€?",
464
+ "common_bugs": ["ν•„λ“œ λˆ„λ½", "잘λͺ»λœ κΈ°λ³Έκ°’", "νƒ€μž… 뢈일치"]
465
+ },
466
+ "optional_handling": {
467
+ "description": "?, ??, || μ—°μ‚°μž μ˜λ„λœ fallback 검증",
468
+ "question": "μ˜΅μ…”λ„ 체이닝이 μ˜λ„ν•œ fallback을 μ œκ³΅ν•˜λŠ”κ°€?",
469
+ "common_bugs": ["null vs undefined ν˜Όλ™", "빈 λ¬Έμžμ—΄/0 처리 였λ₯˜"]
470
+ },
471
+ "dependency_completeness": {
472
+ "description": "DI μ£Όμž…, import 경둜 μ •ν™•μ„±",
473
+ "question": "μ΄λ™λœ 파일의 λͺ¨λ“  μ˜μ‘΄μ„±μ΄ μ˜¬λ°”λ₯΄κ²Œ μ£Όμž…λ˜μ—ˆλŠ”κ°€?",
474
+ "common_bugs": ["λˆ„λ½λœ μ˜μ‘΄μ„±", "잘λͺ»λœ import 경둜", "μˆœν™˜ μ°Έμ‘°"]
475
+ },
476
+ "edge_cases": {
477
+ "description": "null, undefined, 빈 λ°°μ—΄, 경계값 처리",
478
+ "question": "경계 쑰건이 μ˜¬λ°”λ₯΄κ²Œ μ²˜λ¦¬λ˜λŠ”κ°€?",
479
+ "common_bugs": [
480
+ "빈 λ°°μ—΄ 처리 λˆ„λ½",
481
+ "null μ°Έμ‘° μ—λŸ¬",
482
+ "경계값 off-by-one"
483
+ ]
484
+ }
485
+ },
486
+ "skip_conditions": ["μ‹ κ·œ 파일만 생성", "λ¬Έμ„œλ§Œ λ³€κ²½", "ν…ŒμŠ€νŠΈλ§Œ μΆ”κ°€"],
487
+ "pass_criteria": {
488
+ "minimum_checks": "λ³€κ²½λœ μ½”λ“œμ— ν•΄λ‹Ήν•˜λŠ” ν•­λͺ©μ€ λͺ¨λ‘ κ²€ν† ν•΄μ•Ό 함",
489
+ "evidence_required": "각 ν•­λͺ©λ³„λ‘œ κ²€ν†  κ²°κ³Ό(문제 발견 λ˜λŠ” 검증 μ™„λ£Œ) λͺ…μ‹œ ν•„μˆ˜",
490
+ "skip_justification": "μŠ€ν‚΅ν•˜λŠ” 경우 λ°˜λ“œμ‹œ μ‚¬μœ  λͺ…μ‹œ"
491
+ },
492
+ "output_format": {
493
+ "structure": "발견된 문제 μš°μ„ , 파일:라인 μœ„μΉ˜ ν•„μˆ˜",
494
+ "problem_format": "πŸ”΄ `file.ts:line` - [ν•­λͺ©]: [문제 μ„€λͺ…]",
495
+ "verified_format": "βœ… [ν•­λͺ©]: 검증 μ™„λ£Œ",
496
+ "skip_format": "*μŠ€ν‚΅ μ‚¬μœ : [μ‚¬μœ ]*"
497
+ }
436
498
  }
437
499
  },
438
500
 
@@ -485,6 +547,14 @@
485
547
  "required": true
486
548
  },
487
549
 
550
+ "6.5_refactoring_verification": {
551
+ "title": "## πŸ” λ¦¬νŒ©ν† λ§ 검증",
552
+ "format": "**κ²€ν†  λ²”μœ„**: [λ³€κ²½λœ 파일 λͺ©λ‘]\n\n### 발견된 문제\n- πŸ”΄ `file.ts:line` - [ν•­λͺ©]: [문제]\n\n### 검증 μ™„λ£Œ (문제 μ—†μŒ)\n- βœ… [ν•­λͺ©]\n\n*μŠ€ν‚΅ μ‚¬μœ : [ν•΄λ‹Ήμ‹œ]*",
553
+ "description": "μžλ™ν™”λœ ν…ŒμŠ€νŠΈ μ™Έ ν•„μˆ˜ μˆ˜λ™ κ²€ν†  - 쑰건 λΆ„κΈ°, 데이터 λ³€ν™˜, μ˜΅μ…”λ„ ν•„λ“œ, μ˜μ‘΄μ„±, μ—£μ§€ μΌ€μ΄μŠ€",
554
+ "skip_conditions": ["μ‹ κ·œ 파일만 생성", "λ¬Έμ„œλ§Œ λ³€κ²½", "ν…ŒμŠ€νŠΈλ§Œ μΆ”κ°€"],
555
+ "required": true
556
+ },
557
+
488
558
  "7_objective_assessment": {
489
559
  "title": "## Objective Assessment",
490
560
  "format": "| Criteria | Measured | Target | Status |\n|----------|----------|--------|--------|",
@@ -107,6 +107,19 @@
107
107
  "critical_findings": "Immediate production blockers with measurable impact",
108
108
  "devils_advocate": "What could go wrong? Wrong assumptions? Unhandled edge cases?",
109
109
  "impact_radius": "Dependencies affected, contract changes, side effects analysis",
110
+ "refactoring_verification": {
111
+ "description": "μžλ™ν™”λœ ν…ŒμŠ€νŠΈ μ™Έ ν•„μˆ˜ μˆ˜λ™ κ²€ν†  ν•­λͺ© (λͺ¨λ“  EVALμ—μ„œ μ‹€ν–‰)",
112
+ "mandatory": true,
113
+ "skip_conditions": ["μ‹ κ·œ 파일만 생성", "λ¬Έμ„œλ§Œ λ³€κ²½", "ν…ŒμŠ€νŠΈλ§Œ μΆ”κ°€"],
114
+ "checklist": {
115
+ "conditional_branches": "if/else, μ‚Όν•­μ—°μ‚°μž, switch 각 λΆ„κΈ°κ°€ μ˜λ„λŒ€λ‘œ λ™μž‘ν•˜λŠ”κ°€?",
116
+ "data_transformations": "νƒ€μž… λ³€ν™˜ ν•¨μˆ˜κ°€ λͺ¨λ“  ν•„λ“œλ₯Ό μ˜¬λ°”λ₯΄κ²Œ λ§€ν•‘ν•˜λŠ”κ°€?",
117
+ "optional_handling": "?, ??, || μ—°μ‚°μžκ°€ μ˜λ„ν•œ fallback을 μ œκ³΅ν•˜λŠ”κ°€?",
118
+ "dependency_completeness": "μ΄λ™λœ 파일의 λͺ¨λ“  μ˜μ‘΄μ„±μ΄ μ˜¬λ°”λ₯΄κ²Œ μ£Όμž…λ˜μ—ˆλŠ”κ°€?",
119
+ "edge_cases": "null, undefined, 빈 λ°°μ—΄ λ“± 경계 쑰건이 μ²˜λ¦¬λ˜λŠ”κ°€?"
120
+ },
121
+ "output_format": "발견된 문제 μš°μ„ , 파일:라인 μœ„μΉ˜ ν•„μˆ˜, 문제 μ—†μœΌλ©΄ '검증 μ™„λ£Œ' ν‘œμ‹œ"
122
+ },
110
123
  "objective_assessment": "Measurable metrics vs targets (coverage, complexity, etc.)",
111
124
  "improvement_opportunities": "Prioritized recommendations with evidence and locations",
112
125
  "specialist_assessments": "Domain-specific evaluation when applicable"
@@ -141,12 +154,17 @@
141
154
  "Start with problems, not praise",
142
155
  "Challenge every design decision"
143
156
  ],
157
+ "dangerous_assumptions": {
158
+ "reference": "See code-reviewer.json refactoring_review.philosophy.dangerous_assumptions for full list",
159
+ "warning": "μ•„λž˜ 가정을 ν•˜λ €λ©΄ μ‹€μ œ μ½”λ“œ κ²€ν†  증거 ν•„μˆ˜"
160
+ },
144
161
  "verification_checklist": [
145
162
  "No prohibited phrases used",
146
163
  "At least 3 improvement areas OR all issues identified",
147
164
  "All findings include objective evidence (location, metric, target)",
148
165
  "Devil's Advocate Analysis completed",
149
166
  "Impact Radius Analysis completed",
167
+ "Refactoring Verification completed (or skip reason stated)",
150
168
  "Critical Findings section appears before What Works"
151
169
  ]
152
170
  },
@@ -172,6 +190,7 @@
172
190
  "βœ… Critical Findings table (with objective metrics)",
173
191
  "βœ… Devil's Advocate Analysis (failure scenarios, wrong assumptions)",
174
192
  "βœ… Impact Radius Analysis (dependencies, contract changes, side effects)",
193
+ "βœ… Refactoring Verification (쑰건 λΆ„κΈ°, 데이터 λ³€ν™˜, μ˜΅μ…”λ„ ν•„λ“œ, μ˜μ‘΄μ„±, μ—£μ§€ μΌ€μ΄μŠ€)",
175
194
  "βœ… Objective Assessment table (measured vs target)",
176
195
  "βœ… Improvement opportunities by priority (Critical/High/Medium/Low)",
177
196
  "βœ… Evidence-based recommendations (web search links/references)"
@@ -533,6 +533,19 @@ Self-improvement through iterative refinement
533
533
  - [ ] State management: State changes propagate correctly
534
534
  - [ ] Async flow: Async/await chains remain valid
535
535
 
536
+ ## πŸ” λ¦¬νŒ©ν† λ§ 검증
537
+
538
+ **κ²€ν†  λ²”μœ„**: [λ³€κ²½λœ 파일 λͺ©λ‘]
539
+
540
+ ### 발견된 문제
541
+ - πŸ”΄ `[file.ts:line]` - 쑰건 λΆ„κΈ°: [쑰건문이 νŠΉμ • μΌ€μ΄μŠ€λ§Œ μ²˜λ¦¬ν•˜λŠ” 문제]
542
+ - ⚠️ `[file.ts:line]` - μ˜΅μ…”λ„ 처리: [null/undefined μ°Έμ‘° μœ„ν—˜]
543
+
544
+ ### 검증 μ™„λ£Œ (문제 μ—†μŒ)
545
+ - βœ… [검증 ν•­λͺ©λͺ…]
546
+
547
+ *μŠ€ν‚΅ μ‚¬μœ : [μ‹ κ·œ 파일만 생성 / λ¬Έμ„œλ§Œ λ³€κ²½ / ν…ŒμŠ€νŠΈλ§Œ μΆ”κ°€ / ν•΄λ‹Ή μ—†μŒ]*
548
+
536
549
  ## πŸ“Š Objective Assessment
537
550
  | Criteria | Measured | Target | Status |
538
551
  |----------|----------|--------|--------|
@@ -643,6 +656,7 @@ Self-improvement through iterative refinement
643
656
  - [ ] All findings include objective evidence (location, metric, target)
644
657
  - [ ] Devil's Advocate Analysis completed
645
658
  - [ ] Impact Radius Analysis completed (dependencies, contract changes, side effects)
659
+ - [ ] Refactoring Verification completed (or skip reason stated)
646
660
  - [ ] Critical Findings section appears before What Works
647
661
  - [ ] No defense of implementation decisions
648
662
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codingbuddy-rules",
3
- "version": "0.0.0-canary.20260107071919.gfefd31c",
3
+ "version": "0.0.0-canary.20260107075920.gb5d679f",
4
4
  "description": "AI coding rules for consistent practices across AI assistants",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",