codingbuddy-rules 4.0.1 → 4.2.0

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.
Files changed (35) hide show
  1. package/.ai-rules/CHANGELOG.md +42 -0
  2. package/.ai-rules/adapters/antigravity.md +1 -1
  3. package/.ai-rules/adapters/claude-code.md +79 -43
  4. package/.ai-rules/adapters/codex.md +1 -1
  5. package/.ai-rules/adapters/cursor.md +1 -1
  6. package/.ai-rules/adapters/kiro.md +1 -1
  7. package/.ai-rules/adapters/opencode.md +3 -3
  8. package/.ai-rules/adapters/q.md +1 -1
  9. package/.ai-rules/agents/README.md +1 -1
  10. package/.ai-rules/agents/accessibility-specialist.json +3 -13
  11. package/.ai-rules/agents/ai-ml-engineer.json +4 -23
  12. package/.ai-rules/agents/architecture-specialist.json +2 -9
  13. package/.ai-rules/agents/auto-mode.json +106 -0
  14. package/.ai-rules/agents/code-reviewer.json +2 -9
  15. package/.ai-rules/agents/data-engineer.json +3 -17
  16. package/.ai-rules/agents/eval-mode.json +1 -4
  17. package/.ai-rules/agents/event-architecture-specialist.json +1 -5
  18. package/.ai-rules/agents/i18n-specialist.json +1 -5
  19. package/.ai-rules/agents/migration-specialist.json +3 -15
  20. package/.ai-rules/agents/mobile-developer.json +5 -28
  21. package/.ai-rules/agents/observability-specialist.json +8 -53
  22. package/.ai-rules/agents/performance-specialist.json +3 -15
  23. package/.ai-rules/agents/plan-mode.json +1 -4
  24. package/.ai-rules/agents/platform-engineer.json +3 -13
  25. package/.ai-rules/agents/security-specialist.json +2 -8
  26. package/.ai-rules/agents/technical-planner.json +1 -4
  27. package/.ai-rules/agents/test-strategy-specialist.json +6 -36
  28. package/.ai-rules/agents/tooling-engineer.json +1 -1
  29. package/.ai-rules/checklists/accessibility.json +2 -13
  30. package/.ai-rules/checklists/security.json +2 -16
  31. package/.ai-rules/keyword-modes.json +2 -10
  32. package/.ai-rules/rules/core.md +4 -0
  33. package/.ai-rules/skills/README.md +3 -0
  34. package/.ai-rules/skills/widget-slot-architecture/SKILL.md +740 -0
  35. package/package.json +1 -1
@@ -5,6 +5,48 @@ All notable changes to the Multi-AI Coding Assistant Common Rules System will be
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [4.1.0] - 2026-02-17
9
+
10
+ ### Added
11
+
12
+ - **TUI Dashboard System**
13
+ - Ink-based terminal UI with Header, AgentCard, AgentTree, AgentGrid, StatusBar, ProgressBar
14
+ - EventEmitter2-based EventBus with `useEventBus` and `useAgentState` React hooks
15
+ - Unix Domain Socket IPC for standalone TUI process
16
+ - Compact single-line design for 24-line terminals
17
+ - TuiInterceptor MCP tool dispatch layer
18
+ - Agent Metadata Lookup Service
19
+
20
+ - **Landing Page**
21
+ - Next.js 16 multilingual (5 languages) landing page
22
+ - Widget Slot architecture (AgentsShowcase, CodeExample, QuickStart)
23
+ - shadcn/ui, self-hosted fonts, next-intl i18n
24
+ - Vercel deployment with analytics, JSON-LD structured data
25
+
26
+ - **MCP Server Enhancements**
27
+ - Bearer token authentication for SSE endpoints (#416)
28
+ - `dispatch_agents` tool and auto-dispatch in `parse_mode`
29
+ - `recommendedActAgent` support in EVAL mode (#361)
30
+ - `frontend-developer` and `devops-engineer` intent patterns
31
+
32
+ - **Skills**
33
+ - `widget-slot-architecture` skill for Next.js App Router
34
+
35
+ ### Changed
36
+
37
+ - Prettier `printWidth: 100` applied to entire codebase (#423)
38
+ - MCP Server: extracted shared `rules-core` and `keyword-core` modules (#415)
39
+
40
+ ### Fixed
41
+
42
+ - Plugin `isPathSafe()` path normalization and case-insensitive matching (#419)
43
+ - MCP Server `appendContext` `findLastIndex` merge logic (#410)
44
+ - MCP Server unsafe type assertion runtime validation (#411)
45
+ - `validate-rules.sh` `.ai-rules` path reference (#422)
46
+ - Agent count mismatch across documentation (#421)
47
+
48
+ ---
49
+
8
50
  ## [3.1.0] - 2026-01-22
9
51
 
10
52
  ### Added
@@ -300,7 +300,7 @@ task_boundary(
300
300
 
301
301
  ### Configuration
302
302
 
303
- Configure in `codingbuddy.config.js`:
303
+ Configure in `codingbuddy.config.json`:
304
304
 
305
305
  ```javascript
306
306
  module.exports = {
@@ -354,69 +354,105 @@ The `parse_mode` MCP tool returns this field to recommend parallel specialist ex
354
354
  }
355
355
  ```
356
356
 
357
- ### Parallel Execution Workflow
357
+ ### Auto-Dispatch Workflow (Recommended)
358
+
359
+ When `parse_mode` returns `dispatchReady`, use it directly with the Task tool — no extra tool calls needed:
358
360
 
359
361
  ```
360
362
  Call parse_mode
361
363
 
362
- Check parallelAgentsRecommendation
364
+ Check dispatchReady
363
365
  ↓ (if exists)
364
- Display start message to user
366
+ Use dispatchReady.primaryAgent.dispatchParams with Task tool
365
367
 
366
- Call prepare_parallel_agents MCP
367
-
368
- Call each agent.taskPrompt via Task tool in parallel:
369
- - subagent_type: "general-purpose"
370
- - run_in_background: true
371
- - prompt: agent.taskPrompt
368
+ Use dispatchReady.parallelAgents[].dispatchParams with Task tool (run_in_background: true)
372
369
 
373
370
  Collect results with TaskOutput
374
371
 
375
372
  Display consolidated results to user
376
373
  ```
377
374
 
378
- ### Code Example
375
+ ### Code Example (Auto-Dispatch)
379
376
 
380
377
  ```typescript
381
- // Step 1: Parse mode returns parallelAgentsRecommendation
378
+ // Step 1: parse_mode returns dispatchReady with Task-tool-ready params
382
379
  const parseModeResult = await parse_mode({ prompt: "EVAL review auth implementation" });
383
380
 
384
- if (parseModeResult.parallelAgentsRecommendation) {
385
- // Step 2: Display start message to user
386
- console.log("🚀 Dispatching 4 specialist agents in parallel...");
387
- console.log(" → 🔒 security-specialist");
388
- console.log(" → ♿ accessibility-specialist");
389
- console.log(" → ⚡ performance-specialist");
390
- console.log(" → 📏 code-quality-specialist");
391
-
392
- // Step 3: Prepare parallel agents
393
- const preparedAgents = await prepare_parallel_agents({
394
- mode: "EVAL",
395
- specialists: parseModeResult.parallelAgentsRecommendation.specialists,
396
- sharedContext: "Review authentication implementation",
397
- targetFiles: ["src/auth/login.tsx"]
398
- });
399
-
400
- // Step 4: Execute in parallel using Task tool
401
- const agentTasks = preparedAgents.agents.map(agent =>
381
+ if (parseModeResult.dispatchReady) {
382
+ const { primaryAgent, parallelAgents } = parseModeResult.dispatchReady;
383
+
384
+ // Step 2: Dispatch primary agent (if present)
385
+ if (primaryAgent) {
402
386
  Task({
403
- subagent_type: "general-purpose",
404
- prompt: agent.taskPrompt,
405
- description: agent.description,
406
- run_in_background: true,
407
- model: "opus" // Use opus for thorough analysis
408
- })
409
- );
410
-
411
- // Step 5: Collect results
412
- const results = await Promise.all(agentTasks.map(task => TaskOutput(task.id)));
413
-
414
- // Step 6: Display summary
415
- console.log("📊 Specialist Analysis Complete:");
387
+ subagent_type: primaryAgent.dispatchParams.subagent_type,
388
+ prompt: primaryAgent.dispatchParams.prompt,
389
+ description: primaryAgent.dispatchParams.description,
390
+ });
391
+ }
392
+
393
+ // Step 3: Dispatch parallel agents (if present)
394
+ const tasks = [];
395
+ if (parallelAgents) {
396
+ for (const agent of parallelAgents) {
397
+ tasks.push(Task({
398
+ subagent_type: agent.dispatchParams.subagent_type,
399
+ prompt: agent.dispatchParams.prompt,
400
+ description: agent.dispatchParams.description,
401
+ run_in_background: true,
402
+ }));
403
+ }
404
+ }
405
+
406
+ // Step 4: Collect results
407
+ const results = await Promise.all(tasks.map(task => TaskOutput(task.id)));
408
+
409
+ // Step 5: Display summary
410
+ console.log("Specialist Analysis Complete:");
416
411
  results.forEach(result => console.log(result.summary));
417
412
  }
418
413
  ```
419
414
 
415
+ ### Standalone Dispatch Tool
416
+
417
+ For cases outside the `parse_mode` flow, use the `dispatch_agents` tool directly:
418
+
419
+ ```typescript
420
+ const result = await dispatch_agents({
421
+ mode: "EVAL",
422
+ primaryAgent: "security-specialist",
423
+ specialists: ["accessibility-specialist", "performance-specialist"],
424
+ includeParallel: true,
425
+ taskDescription: "Review auth implementation",
426
+ targetFiles: ["src/auth/login.tsx"]
427
+ });
428
+
429
+ // result.primaryAgent.dispatchParams → ready for Task tool
430
+ // result.parallelAgents[].dispatchParams → ready for Task tool with run_in_background
431
+ ```
432
+
433
+ ### Legacy Workflow (prepare_parallel_agents)
434
+
435
+ The `prepare_parallel_agents` tool is still available for backward compatibility:
436
+
437
+ ```
438
+ Call parse_mode
439
+
440
+ Check parallelAgentsRecommendation
441
+ ↓ (if exists)
442
+ Display start message to user
443
+
444
+ Call prepare_parallel_agents MCP
445
+
446
+ Call each agent.taskPrompt via Task tool in parallel:
447
+ - subagent_type: "general-purpose"
448
+ - run_in_background: true
449
+ - prompt: agent.taskPrompt
450
+
451
+ Collect results with TaskOutput
452
+
453
+ Display consolidated results to user
454
+ ```
455
+
420
456
  ### Visibility Pattern
421
457
 
422
458
  When executing parallel specialists, display clear status messages:
@@ -578,7 +614,7 @@ AUTO implement user authentication with JWT tokens
578
614
 
579
615
  ### Configuration
580
616
 
581
- Configure AUTO mode in `codingbuddy.config.js`:
617
+ Configure AUTO mode in `codingbuddy.config.json`:
582
618
 
583
619
  ```javascript
584
620
  module.exports = {
@@ -236,7 +236,7 @@ When using GitHub Copilot Chat with AUTO mode:
236
236
 
237
237
  ### Configuration
238
238
 
239
- Configure in `codingbuddy.config.js`:
239
+ Configure in `codingbuddy.config.json`:
240
240
 
241
241
  ```javascript
242
242
  module.exports = {
@@ -253,7 +253,7 @@ When AUTO keyword is detected, Cursor calls `parse_mode` MCP tool which returns
253
253
 
254
254
  ### Configuration
255
255
 
256
- Configure in `codingbuddy.config.js`:
256
+ Configure in `codingbuddy.config.json`:
257
257
 
258
258
  ```javascript
259
259
  module.exports = {
@@ -219,7 +219,7 @@ Kiro: # Mode: AUTO (Iteration 1/3)
219
219
 
220
220
  ### Configuration
221
221
 
222
- Configure in `codingbuddy.config.js`:
222
+ Configure in `codingbuddy.config.json`:
223
223
 
224
224
  ```javascript
225
225
  module.exports = {
@@ -188,7 +188,7 @@ Once connected, you can use:
188
188
 
189
189
  OpenCode agents get language instructions dynamically from the MCP server:
190
190
 
191
- 1. **Set language in codingbuddy.config.js:**
191
+ 1. **Set language in codingbuddy.config.json:**
192
192
  ```javascript
193
193
  module.exports = {
194
194
  language: 'ko', // or 'en', 'ja', 'zh', 'es', etc.
@@ -236,7 +236,7 @@ The `parse_mode` tool now returns additional Mode Agent information and dynamic
236
236
  ```
237
237
 
238
238
  **New Fields:**
239
- - `language`: Language code from codingbuddy.config.js
239
+ - `language`: Language code from codingbuddy.config.json
240
240
  - `languageInstruction`: Formatted instruction text for AI assistants (🆕)
241
241
  - `agent`: Mode Agent name (plan-mode, act-mode, eval-mode)
242
242
  - `delegates_to`: Which specialist agent the Mode Agent delegates to
@@ -598,7 +598,7 @@ Loop or Exit
598
598
 
599
599
  ### Configuration
600
600
 
601
- Configure in `codingbuddy.config.js`:
601
+ Configure in `codingbuddy.config.json`:
602
602
 
603
603
  ```javascript
604
604
  module.exports = {
@@ -207,7 +207,7 @@ Amazon Q's AWS expertise complements AUTO mode:
207
207
 
208
208
  ### Configuration
209
209
 
210
- Configure in `codingbuddy.config.js`:
210
+ Configure in `codingbuddy.config.json`:
211
211
 
212
212
  ```javascript
213
213
  module.exports = {
@@ -626,7 +626,7 @@ Unified specialist agents organized by domain:
626
626
 
627
627
  **Expertise:**
628
628
 
629
- - Project Configuration (codingbuddy.config.js, .env)
629
+ - Project Configuration (codingbuddy.config.json, .env)
630
630
  - TypeScript Configuration (tsconfig.json, paths)
631
631
  - Linting & Formatting (ESLint, Prettier, Stylelint)
632
632
  - Build Tools (Vite, Webpack, Next.js config, Rollup)
@@ -114,10 +114,7 @@
114
114
  "Plan predictable navigation",
115
115
  "Plan input assistance (labels, errors, suggestions)"
116
116
  ],
117
- "robust": [
118
- "Plan compatible markup (assistive technologies)",
119
- "Plan valid markup"
120
- ]
117
+ "robust": ["Plan compatible markup (assistive technologies)", "Plan valid markup"]
121
118
  },
122
119
  "semantic_html_planning": {
123
120
  "elements": "Plan header, nav, main, article, section, aside, footer usage",
@@ -253,10 +250,7 @@
253
250
  "Verify predictable navigation",
254
251
  "Verify input assistance (labels, errors, suggestions)"
255
252
  ],
256
- "robust": [
257
- "Verify compatible markup (assistive technologies)",
258
- "Verify valid markup"
259
- ]
253
+ "robust": ["Verify compatible markup (assistive technologies)", "Verify valid markup"]
260
254
  },
261
255
  "semantic_html_verification": {
262
256
  "elements": "Verify header, nav, main, article, section, aside, footer usage",
@@ -423,11 +417,7 @@
423
417
  ]
424
418
  },
425
419
  "testing_tools": {
426
- "automated": [
427
- "axe DevTools",
428
- "WAVE Browser Extension",
429
- "Lighthouse Accessibility audit"
430
- ],
420
+ "automated": ["axe DevTools", "WAVE Browser Extension", "Lighthouse Accessibility audit"],
431
421
  "manual": [
432
422
  "Keyboard-only navigation",
433
423
  "Screen reader testing (VoiceOver, NVDA)",
@@ -23,20 +23,8 @@
23
23
  "AWS Bedrock",
24
24
  "Azure OpenAI"
25
25
  ],
26
- "local_models": [
27
- "Ollama",
28
- "llama.cpp",
29
- "vLLM",
30
- "HuggingFace Transformers"
31
- ],
32
- "vector_databases": [
33
- "Pinecone",
34
- "Weaviate",
35
- "ChromaDB",
36
- "pgvector",
37
- "Milvus",
38
- "Qdrant"
39
- ],
26
+ "local_models": ["Ollama", "llama.cpp", "vLLM", "HuggingFace Transformers"],
27
+ "vector_databases": ["Pinecone", "Weaviate", "ChromaDB", "pgvector", "Milvus", "Qdrant"],
40
28
  "version_considerations": {
41
29
  "api_versioning": "Always pin SDK versions in package.json; API behavior may change between versions",
42
30
  "deprecation_monitoring": "Monitor provider changelogs for deprecated endpoints and models",
@@ -285,10 +273,7 @@
285
273
  "Missing caching layer",
286
274
  "No streaming support"
287
275
  ],
288
- "low": [
289
- "Minor optimization opportunities",
290
- "Documentation improvements"
291
- ]
276
+ "low": ["Minor optimization opportunities", "Documentation improvements"]
292
277
  }
293
278
  }
294
279
  },
@@ -395,11 +380,7 @@
395
380
  "Insufficient test coverage",
396
381
  "Type safety violations"
397
382
  ],
398
- "medium": [
399
- "Suboptimal performance",
400
- "Missing caching",
401
- "Inconsistent error messages"
402
- ],
383
+ "medium": ["Suboptimal performance", "Missing caching", "Inconsistent error messages"],
403
384
  "low": ["Code style issues", "Documentation gaps"]
404
385
  }
405
386
  }
@@ -410,11 +410,7 @@
410
410
  "Untyped function parameters",
411
411
  "Missing return types"
412
412
  ],
413
- "high": [
414
- "Excessive type inference",
415
- "Weak type definitions",
416
- "Unsafe type assertions"
417
- ],
413
+ "high": ["Excessive type inference", "Weak type definitions", "Unsafe type assertions"],
418
414
  "medium": [
419
415
  "Could use more specific types",
420
416
  "Type definitions could be improved",
@@ -442,10 +438,7 @@
442
438
  "Naming could be clearer",
443
439
  "Separation could be more explicit"
444
440
  ],
445
- "low": [
446
- "Minor organization improvements",
447
- "File naming could be optimized"
448
- ]
441
+ "low": ["Minor organization improvements", "File naming could be optimized"]
449
442
  },
450
443
  "risk_assessment": {
451
444
  "🔴 critical": "Major architecture violations (layer boundaries broken, circular dependencies, any type usage), blocking maintainability",
@@ -0,0 +1,106 @@
1
+ {
2
+ "name": "Auto Mode Agent",
3
+ "description": "AUTO mode agent - autonomous PLAN → ACT → EVAL cycle until quality targets met",
4
+ "role": {
5
+ "title": "Auto Mode Agent",
6
+ "mode": "AUTO",
7
+ "purpose": "Mode Agent - autonomously cycles through PLAN → ACT → EVAL, delegates to Primary Developer Agent",
8
+ "expertise": [
9
+ "Autonomous PLAN → ACT → EVAL cycle execution",
10
+ "Quality-driven iteration (Critical/High issue elimination)",
11
+ "TDD-oriented planning and implementation",
12
+ "Multi-dimensional code quality evaluation",
13
+ "Self-correcting development workflow"
14
+ ],
15
+ "delegates_to": "frontend-developer",
16
+ "responsibilities": [
17
+ "Execute autonomous PLAN → ACT → EVAL cycles until quality targets met",
18
+ "PLAN phase: Analyze requirements, define TDD test cases, review architecture",
19
+ "ACT phase: Implement with strict TDD cycle (Red → Green → Refactor)",
20
+ "EVAL phase: Multi-dimensional quality evaluation with anti-sycophancy",
21
+ "Iterate until Critical=0 AND High=0 issues remaining",
22
+ "Maintain context continuity across cycle iterations",
23
+ "Track iteration count and quality metrics progression"
24
+ ]
25
+ },
26
+ "context_files": [
27
+ ".ai-rules/rules/core.md",
28
+ ".ai-rules/rules/project.md",
29
+ ".ai-rules/rules/augmented-coding.md"
30
+ ],
31
+ "activation": {
32
+ "trigger": "🔴 **STRICT**: When user types 'AUTO' or equivalent (Korean: 자동, Japanese: 自動, Chinese: 自动, Spanish: AUTOMÁTICO)",
33
+ "rule": "🔴 **STRICT**: AUTO MODE request must activate this Agent automatically",
34
+ "mandatory_checklist": {
35
+ "🔴 language": {
36
+ "rule": "MUST respond in Korean as specified in communication.language",
37
+ "verification_key": "language"
38
+ },
39
+ "🔴 mode_indicator": {
40
+ "rule": "MUST print '# Mode: AUTO' with iteration number as first line of response",
41
+ "verification_key": "mode_indicator"
42
+ },
43
+ "🔴 agent_indicator": {
44
+ "rule": "MUST print '## Agent : Frontend Developer' (or appropriate delegate agent)",
45
+ "verification_key": "agent_indicator"
46
+ },
47
+ "🔴 delegate_activation": {
48
+ "rule": "MUST activate delegate agent (frontend-developer) framework for autonomous execution",
49
+ "verification_key": "delegate_activation"
50
+ },
51
+ "🔴 autonomous_cycle": {
52
+ "rule": "MUST execute PLAN → ACT → EVAL cycle autonomously until Critical=0 AND High=0",
53
+ "verification_key": "autonomous_cycle"
54
+ },
55
+ "🔴 iteration_tracking": {
56
+ "rule": "MUST track and display iteration count (e.g., '# Mode: AUTO [Iteration 1]')",
57
+ "verification_key": "iteration_tracking"
58
+ },
59
+ "🔴 quality_gate": {
60
+ "rule": "MUST verify Critical=0 AND High=0 before completing AUTO mode",
61
+ "verification_key": "quality_gate"
62
+ }
63
+ }
64
+ },
65
+ "workflow": {
66
+ "autonomous_cycle": {
67
+ "plan_phase": "Analyze requirements, define TDD test strategy, review architecture",
68
+ "act_phase": "Execute TDD cycle (Red → Green → Refactor), implement changes",
69
+ "eval_phase": "Multi-dimensional evaluation with anti-sycophancy, classify issues by severity",
70
+ "iteration_control": "Continue cycling until Critical=0 AND High=0, then present results"
71
+ },
72
+ "quality_gates": {
73
+ "completion_criteria": "Critical=0 AND High=0 issues",
74
+ "max_iterations": "Stop after reasonable iterations and report remaining issues",
75
+ "per_iteration_output": "Show iteration number, phase, progress, and remaining issues"
76
+ }
77
+ },
78
+ "mode_specific": {
79
+ "autonomous_output": {
80
+ "iteration_header": "Display '# Mode: AUTO [Iteration N]' with current phase",
81
+ "phase_tracking": "Show current phase (PLAN/ACT/EVAL) within each iteration",
82
+ "quality_metrics": "Track Critical/High/Medium/Low issue counts across iterations",
83
+ "completion_summary": "Final summary with all iterations, changes made, and quality results"
84
+ }
85
+ },
86
+ "delegate_agent": {
87
+ "primary": "frontend-developer",
88
+ "description": "This Mode Agent utilizes the Frontend Developer Agent's full workflow across all phases",
89
+ "integration": "Applies Frontend Developer Agent's planning, TDD implementation, and evaluation capabilities"
90
+ },
91
+ "communication": {
92
+ "style": "Autonomous execution with clear iteration and phase progress reporting",
93
+ "format": "Structured iteration reports with quality metrics and phase indicators"
94
+ },
95
+ "verification_guide": {
96
+ "mode_compliance": [
97
+ "✅ Verify '# Mode: AUTO [Iteration N]' is displayed",
98
+ "✅ Verify '## Agent : Frontend Developer' (or appropriate delegate) is displayed",
99
+ "✅ Verify response in configured language",
100
+ "✅ Verify autonomous PLAN → ACT → EVAL cycle execution",
101
+ "✅ Verify iteration tracking with quality metrics",
102
+ "✅ Verify completion only when Critical=0 AND High=0",
103
+ "✅ Verify Delegate Agent's full workflow is applied across all phases"
104
+ ]
105
+ }
106
+ }
@@ -423,10 +423,7 @@
423
423
  "conditional_branches": {
424
424
  "description": "if/else, 삼항연산자, switch 각 분기 추적",
425
425
  "question": "각 분기가 의도대로 동작하는가?",
426
- "common_bugs": [
427
- "조건 누락으로 특정 케이스만 처리",
428
- "else 분기 미구현"
429
- ]
426
+ "common_bugs": ["조건 누락으로 특정 케이스만 처리", "else 분기 미구현"]
430
427
  },
431
428
  "data_transformations": {
432
429
  "description": "타입 변환 함수의 입출력 필드 매핑 확인",
@@ -446,11 +443,7 @@
446
443
  "edge_cases": {
447
444
  "description": "null, undefined, 빈 배열, 경계값 처리",
448
445
  "question": "경계 조건이 올바르게 처리되는가?",
449
- "common_bugs": [
450
- "빈 배열 처리 누락",
451
- "null 참조 에러",
452
- "경계값 off-by-one"
453
- ]
446
+ "common_bugs": ["빈 배열 처리 누락", "null 참조 에러", "경계값 off-by-one"]
454
447
  }
455
448
  },
456
449
  "skip_conditions": ["신규 파일만 생성", "문서만 변경", "테스트만 추가"],
@@ -16,13 +16,7 @@
16
16
  ],
17
17
  "supported_databases": {
18
18
  "note": "This agent supports multiple database systems. See project.md 'Tech Stack' for your project's specific database.",
19
- "relational": [
20
- "PostgreSQL",
21
- "MySQL/MariaDB",
22
- "SQLite",
23
- "SQL Server",
24
- "Oracle"
25
- ],
19
+ "relational": ["PostgreSQL", "MySQL/MariaDB", "SQLite", "SQL Server", "Oracle"],
26
20
  "nosql": ["MongoDB", "Redis", "Elasticsearch", "DynamoDB", "Cassandra"],
27
21
  "analytical": ["BigQuery", "Snowflake", "Redshift", "ClickHouse"]
28
22
  },
@@ -166,11 +160,7 @@
166
160
  "workflow": {
167
161
  "schema_design": {
168
162
  "approach": "Design-First with TDD",
169
- "applies_to": [
170
- "New table/entity creation",
171
- "Schema modifications",
172
- "Relationship changes"
173
- ],
163
+ "applies_to": ["New table/entity creation", "Schema modifications", "Relationship changes"],
174
164
  "steps": [
175
165
  "1. Analyze business requirements",
176
166
  "2. Create ERD/data model",
@@ -195,11 +185,7 @@
195
185
  },
196
186
  "analytics_data": {
197
187
  "approach": "Dimensional Modeling",
198
- "applies_to": [
199
- "Reporting tables",
200
- "Dashboard data",
201
- "Aggregated metrics"
202
- ],
188
+ "applies_to": ["Reporting tables", "Dashboard data", "Aggregated metrics"],
203
189
  "steps": [
204
190
  "1. Identify business questions",
205
191
  "2. Design fact and dimension tables",
@@ -24,10 +24,7 @@
24
24
  "Apply Anti-Sycophancy principles (objective evaluation, problem-first identification)"
25
25
  ]
26
26
  },
27
- "context_files": [
28
- ".ai-rules/rules/core.md",
29
- ".ai-rules/rules/augmented-coding.md"
30
- ],
27
+ "context_files": [".ai-rules/rules/core.md", ".ai-rules/rules/augmented-coding.md"],
31
28
  "activation": {
32
29
  "trigger": "🔴 **STRICT**: When user types 'EVAL', 'EVALUATE' or equivalent (Korean: 평가해/개선안 제시해, Japanese: 評価, Chinese: 评估, Spanish: EVALUAR)",
33
30
  "rule": "🔴 **STRICT**: EVAL MODE request must activate this Agent automatically",
@@ -360,11 +360,7 @@
360
360
  "Incomplete error categorization",
361
361
  "Missing DLQ alerting"
362
362
  ],
363
- "low": [
364
- "Minor configuration improvements",
365
- "Additional metrics",
366
- "Documentation updates"
367
- ]
363
+ "low": ["Minor configuration improvements", "Additional metrics", "Documentation updates"]
368
364
  }
369
365
  }
370
366
  },
@@ -99,11 +99,7 @@
99
99
  },
100
100
  "planning_framework": {
101
101
  "library_selection": {
102
- "react": [
103
- "react-intl (FormatJS)",
104
- "i18next + react-i18next",
105
- "next-intl"
106
- ],
102
+ "react": ["react-intl (FormatJS)", "i18next + react-i18next", "next-intl"],
107
103
  "vue": ["vue-i18n", "nuxt-i18n"],
108
104
  "angular": ["@angular/localize", "ngx-translate"],
109
105
  "native_mobile": ["react-native-i18n", "flutter_localizations"],
@@ -249,11 +249,7 @@
249
249
  "Communication plan incomplete",
250
250
  "Resource constraints not addressed"
251
251
  ],
252
- "low": [
253
- "Documentation gaps",
254
- "Training not scheduled",
255
- "Minor dependency updates needed"
256
- ]
252
+ "low": ["Documentation gaps", "Training not scheduled", "Minor dependency updates needed"]
257
253
  }
258
254
  }
259
255
  },
@@ -571,11 +567,7 @@
571
567
  "Load balancer",
572
568
  "Health checks"
573
569
  ],
574
- "success_criteria": [
575
- "Instant switch",
576
- "Instant rollback",
577
- "Zero downtime"
578
- ]
570
+ "success_criteria": ["Instant switch", "Instant rollback", "Zero downtime"]
579
571
  },
580
572
  "canary": {
581
573
  "description": "Gradually route traffic to new version, monitoring for issues",
@@ -599,11 +591,7 @@
599
591
  "Deprecation notices",
600
592
  "Client migration tracking"
601
593
  ],
602
- "success_criteria": [
603
- "Old clients work",
604
- "New clients work",
605
- "Clear deprecation timeline"
606
- ]
594
+ "success_criteria": ["Old clients work", "New clients work", "Clear deprecation timeline"]
607
595
  }
608
596
  },
609
597
  "sli_definitions": {