codingbuddy-rules 0.0.0-canary.20260107073748.g9510391 β 0.0.0-canary.20260107145042.g67a4bfd
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.
|
@@ -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)"
|
package/.ai-rules/rules/core.md
CHANGED
|
@@ -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