codingbuddy-rules 5.0.0 → 5.1.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 (53) hide show
  1. package/.ai-rules/adapters/aider.md +374 -0
  2. package/.ai-rules/adapters/windsurf.md +395 -0
  3. package/.ai-rules/agents/accessibility-specialist.json +6 -0
  4. package/.ai-rules/agents/act-mode.json +6 -0
  5. package/.ai-rules/agents/agent-architect.json +6 -0
  6. package/.ai-rules/agents/ai-ml-engineer.json +6 -0
  7. package/.ai-rules/agents/architecture-specialist.json +6 -0
  8. package/.ai-rules/agents/auto-mode.json +6 -0
  9. package/.ai-rules/agents/backend-developer.json +6 -0
  10. package/.ai-rules/agents/code-quality-specialist.json +6 -0
  11. package/.ai-rules/agents/code-reviewer.json +25 -4
  12. package/.ai-rules/agents/data-engineer.json +6 -0
  13. package/.ai-rules/agents/data-scientist.json +6 -0
  14. package/.ai-rules/agents/devops-engineer.json +6 -0
  15. package/.ai-rules/agents/documentation-specialist.json +6 -0
  16. package/.ai-rules/agents/eval-mode.json +11 -1
  17. package/.ai-rules/agents/event-architecture-specialist.json +6 -0
  18. package/.ai-rules/agents/frontend-developer.json +6 -0
  19. package/.ai-rules/agents/i18n-specialist.json +6 -0
  20. package/.ai-rules/agents/integration-specialist.json +6 -0
  21. package/.ai-rules/agents/migration-specialist.json +6 -0
  22. package/.ai-rules/agents/mobile-developer.json +7 -10
  23. package/.ai-rules/agents/observability-specialist.json +6 -0
  24. package/.ai-rules/agents/parallel-orchestrator.json +6 -0
  25. package/.ai-rules/agents/performance-specialist.json +6 -0
  26. package/.ai-rules/agents/plan-mode.json +6 -0
  27. package/.ai-rules/agents/plan-reviewer.json +7 -4
  28. package/.ai-rules/agents/platform-engineer.json +6 -0
  29. package/.ai-rules/agents/security-engineer.json +6 -0
  30. package/.ai-rules/agents/security-specialist.json +6 -0
  31. package/.ai-rules/agents/seo-specialist.json +6 -0
  32. package/.ai-rules/agents/software-engineer.json +6 -0
  33. package/.ai-rules/agents/solution-architect.json +6 -0
  34. package/.ai-rules/agents/systems-developer.json +6 -0
  35. package/.ai-rules/agents/technical-planner.json +6 -0
  36. package/.ai-rules/agents/test-engineer.json +6 -0
  37. package/.ai-rules/agents/test-strategy-specialist.json +6 -0
  38. package/.ai-rules/agents/tooling-engineer.json +6 -0
  39. package/.ai-rules/agents/ui-ux-designer.json +6 -0
  40. package/.ai-rules/schemas/agent.schema.json +38 -0
  41. package/.ai-rules/skills/README.md +6 -0
  42. package/.ai-rules/skills/agent-design/examples/agent-template.json +1 -4
  43. package/.ai-rules/skills/mcp-builder/examples/tool-example.ts +8 -13
  44. package/.ai-rules/skills/onboard/SKILL.md +150 -0
  45. package/.ai-rules/skills/plan-to-issues/SKILL.md +318 -0
  46. package/.ai-rules/skills/retrospective/SKILL.md +192 -0
  47. package/.ai-rules/skills/ship/SKILL.md +242 -0
  48. package/.ai-rules/skills/skill-creator/assets/eval_review.html +539 -260
  49. package/bin/cli.js +11 -19
  50. package/lib/init/detect-stack.js +18 -4
  51. package/lib/init/prompt.js +2 -2
  52. package/lib/init/suggest-agent.js +13 -2
  53. package/package.json +1 -1
@@ -0,0 +1,395 @@
1
+ # Windsurf Integration Guide
2
+
3
+ Guide for using codingbuddy with Windsurf (Codeium IDE).
4
+
5
+ ## Overview
6
+
7
+ codingbuddy integrates with Windsurf in two ways:
8
+
9
+ 1. **AGENTS.md** - Industry standard format compatible with all AI tools
10
+ 2. **`.windsurf/rules/*.md`** - Windsurf-specific rules for Cascade AI
11
+
12
+ ## Two Usage Contexts
13
+
14
+ ### End Users (Your Project)
15
+
16
+ End users access rules **only through MCP tools**. No local rule files needed.
17
+
18
+ ```json
19
+ // .windsurf/mcp.json (or Windsurf MCP settings)
20
+ {
21
+ "mcpServers": {
22
+ "codingbuddy": {
23
+ "command": "npx",
24
+ "args": ["-y", "codingbuddy"],
25
+ "env": {
26
+ "CODINGBUDDY_PROJECT_ROOT": "/absolute/path/to/your/project"
27
+ }
28
+ }
29
+ }
30
+ }
31
+ ```
32
+
33
+ > **Important:** Whether Windsurf supports the `roots/list` MCP capability has not been confirmed.
34
+ > Without `CODINGBUDDY_PROJECT_ROOT`, the server cannot locate your project's
35
+ > `codingbuddy.config.json`, causing `language` and other settings to use defaults.
36
+ > Always set this environment variable to your project's absolute path.
37
+
38
+ Optional: Create `.windsurf/rules/codingbuddy.md` for basic integration:
39
+
40
+ ```markdown
41
+ # codingbuddy Integration
42
+
43
+ When PLAN, ACT, EVAL keywords detected -> call `parse_mode` MCP tool
44
+ ```
45
+
46
+ ### Monorepo Contributors
47
+
48
+ Contributors to the codingbuddy repository can use direct file references:
49
+
50
+ ```
51
+ Project Root/
52
+ ├── AGENTS.md # Cross-platform entry point
53
+ ├── .windsurf/rules/
54
+ │ └── codingbuddy.md # References .ai-rules
55
+ └── packages/rules/.ai-rules/ # Single Source of Truth
56
+ ```
57
+
58
+ ## DRY Principle
59
+
60
+ **Single Source of Truth**: `packages/rules/.ai-rules/`
61
+
62
+ - All Agent definitions, rules, skills managed only in `.ai-rules/`
63
+ - `.windsurf/rules/*.md` files act as **pointers only**
64
+ - No duplication, only references
65
+
66
+ ## Windsurf Rules System
67
+
68
+ ### Rules Hierarchy
69
+
70
+ Windsurf loads rules in this order (later rules take priority):
71
+
72
+ 1. **Global Rules** (`~/.codeium/windsurf/memories/global_rules.md`) - Personal preferences across all projects
73
+ 2. **Project Rules** (`.windsurf/rules/*.md` or `.windsurfrules`) - Project-specific conventions
74
+
75
+ ### Current Format (`.windsurf/rules/*.md`)
76
+
77
+ Windsurf Wave 8+ uses markdown files in the `.windsurf/rules/` directory:
78
+
79
+ ```
80
+ .windsurf/
81
+ └── rules/
82
+ ├── codingbuddy.md # codingbuddy integration rules
83
+ └── project-specific.md # Additional project rules
84
+ ```
85
+
86
+ ### Legacy Format (`.windsurfrules`)
87
+
88
+ Older versions use a single `.windsurfrules` file in the project root. This is still supported but the `.windsurf/rules/` directory is preferred.
89
+
90
+ ### Character Limits
91
+
92
+ | Scope | Limit |
93
+ |-------|-------|
94
+ | Individual rule file | 6,000 characters |
95
+ | Total combined (global + local) | 12,000 characters |
96
+
97
+ > **Important:** Content beyond these limits is truncated. Global rules take priority if the combined limit is exceeded. Keep codingbuddy rules concise and use references to `.ai-rules/` files rather than duplicating content.
98
+
99
+ ## Integration Method
100
+
101
+ ### Option 1: MCP Server Only (Recommended for End Users)
102
+
103
+ Use the MCP server configuration shown above. All rules, agents, and skills are accessed through MCP tools.
104
+
105
+ ### Option 2: Rules File + MCP (Recommended for Monorepo Contributors)
106
+
107
+ Create `.windsurf/rules/codingbuddy.md`:
108
+
109
+ ```markdown
110
+ # codingbuddy Rules
111
+
112
+ ## Workflow
113
+ Follow PLAN/ACT/EVAL workflow from `.ai-rules/rules/core.md`.
114
+ When PLAN, ACT, EVAL, or AUTO keywords are detected, call `parse_mode` MCP tool.
115
+
116
+ ## Code Quality
117
+ - TDD cycle: Red -> Green -> Refactor
118
+ - TypeScript strict mode (no `any`)
119
+ - 90%+ test coverage goal
120
+ - See `.ai-rules/rules/augmented-coding.md` for details
121
+
122
+ ## Agents
123
+ See `.ai-rules/agents/README.md` for available specialist agents.
124
+ ```
125
+
126
+ ### Option 3: Global Rules (Personal Preferences)
127
+
128
+ Access via Windsurf: **Settings > Manage Memories > Edit Global Rules**
129
+
130
+ Or edit directly: `~/.codeium/windsurf/memories/global_rules.md`
131
+
132
+ ```markdown
133
+ # Global Coding Preferences
134
+
135
+ - Always use TypeScript strict mode
136
+ - Prefer functional programming patterns
137
+ - Follow TDD workflow
138
+ ```
139
+
140
+ ## Directory Structure
141
+
142
+ ```
143
+ .windsurf/
144
+ └── rules/
145
+ └── codingbuddy.md # Project rules (references .ai-rules)
146
+
147
+ .windsurfrules # Legacy project rules (optional)
148
+
149
+ ~/.codeium/windsurf/memories/
150
+ └── global_rules.md # Global rules (personal preferences)
151
+
152
+ packages/rules/.ai-rules/ # Single Source of Truth
153
+ ├── rules/
154
+ │ ├── core.md
155
+ │ ├── project.md
156
+ │ └── augmented-coding.md
157
+ ├── agents/
158
+ │ └── *.json
159
+ └── adapters/
160
+ └── windsurf.md # This guide
161
+ ```
162
+
163
+ ## Usage
164
+
165
+ ### Mode Keywords
166
+
167
+ ```
168
+ PLAN Design user authentication feature
169
+ ```
170
+
171
+ > `parse_mode` MCP tool is called, loading appropriate Agent and rules
172
+
173
+ ### Specialist Usage
174
+
175
+ ```
176
+ EVAL Review from security perspective
177
+ ```
178
+
179
+ > security-specialist activated
180
+
181
+ ## MCP Tools
182
+
183
+ Available codingbuddy MCP tools in Windsurf:
184
+
185
+ | Tool | Purpose |
186
+ |------|---------|
187
+ | `parse_mode` | **MANDATORY.** Parse PLAN/ACT/EVAL/AUTO keywords and return mode-specific rules, agent, and context |
188
+ | `search_rules` | Search rules and guidelines by query |
189
+ | `get_agent_details` | Get specific Agent profile and expertise |
190
+ | `get_project_config` | Get project configuration (language, tech stack) |
191
+ | `get_code_conventions` | Get project code conventions and style guide |
192
+ | `suggest_config_updates` | Analyze project and suggest config updates |
193
+ | `recommend_skills` | Recommend skills based on prompt -> then call `get_skill` |
194
+ | `get_skill` | Load full skill content by name |
195
+ | `list_skills` | List all available skills with optional filtering |
196
+ | `get_agent_system_prompt` | Get complete system prompt for a specialist agent |
197
+ | `prepare_parallel_agents` | Prepare specialist agents for sequential execution |
198
+ | `dispatch_agents` | Get dispatch params for agents (Claude Code optimized; use `prepare_parallel_agents` in Windsurf) |
199
+ | `generate_checklist` | Generate contextual checklists (security, a11y, performance) |
200
+ | `analyze_task` | Analyze task for risk assessment and specialist recommendations |
201
+ | `read_context` | Read context document (`docs/codingbuddy/context.md`) |
202
+ | `update_context` | **MANDATORY at mode end.** Update context document with decisions, notes, progress |
203
+ | `cleanup_context` | Manually trigger context document cleanup |
204
+
205
+ ## Specialist Agents Execution
206
+
207
+ Windsurf does not have a `Task` tool for spawning background subagents. When `parse_mode` returns `parallelAgentsRecommendation`, execute specialists **sequentially**.
208
+
209
+ ### Sequential Workflow
210
+
211
+ ```
212
+ parse_mode returns parallelAgentsRecommendation
213
+ |
214
+ Call prepare_parallel_agents with recommended specialists
215
+ |
216
+ For each specialist (sequentially):
217
+ - Announce: "Analyzing from [icon] [specialist-name] perspective..."
218
+ - Apply the specialist's system prompt as analysis context
219
+ - Analyze the target code/design from that specialist's viewpoint
220
+ - Record findings
221
+ |
222
+ Consolidate all specialist findings into unified summary
223
+ ```
224
+
225
+ ### Specialist Icons
226
+
227
+ | Icon | Specialist |
228
+ |------|------------|
229
+ | 🔒 | security-specialist |
230
+ | ♿ | accessibility-specialist |
231
+ | ⚡ | performance-specialist |
232
+ | 📏 | code-quality-specialist |
233
+ | 🧪 | test-strategy-specialist |
234
+ | 🏛️ | architecture-specialist |
235
+ | 📚 | documentation-specialist |
236
+ | 🔍 | seo-specialist |
237
+ | 📨 | event-architecture-specialist |
238
+ | 🔗 | integration-specialist |
239
+ | 📊 | observability-specialist |
240
+ | 🔄 | migration-specialist |
241
+ | 🌐 | i18n-specialist |
242
+
243
+ ## Skills
244
+
245
+ Windsurf accesses codingbuddy skills through MCP tools:
246
+
247
+ 1. **Auto-recommend** - AI calls `recommend_skills` based on intent detection
248
+ 2. **Browse and select** - User calls `list_skills` to discover, then `get_skill` to load
249
+ 3. **Slash-command** - User types `/<command>`, AI maps to `get_skill`
250
+
251
+ ### Using Skills in Windsurf
252
+
253
+ **MCP Tool Chain (Recommended):**
254
+
255
+ 1. `recommend_skills({ prompt: "user's message" })` - Get skill recommendations
256
+ 2. `get_skill("skill-name")` - Load the recommended skill's full content
257
+ 3. Follow the skill instructions in the response
258
+
259
+ > **Note:** `parse_mode` already embeds matched skill content in `included_skills` - no separate `get_skill` call needed when using mode keywords (PLAN/ACT/EVAL/AUTO).
260
+
261
+ ### Slash-Command Mapping
262
+
263
+ When a user types `/<command>`, the AI should call `get_skill`:
264
+
265
+ | User Types | MCP Call |
266
+ |---|---|
267
+ | `/debug` or `/debugging` | `get_skill("systematic-debugging")` |
268
+ | `/tdd` | `get_skill("test-driven-development")` |
269
+ | `/brainstorm` | `get_skill("brainstorming")` |
270
+ | `/plan` or `/write-plan` | `get_skill("writing-plans")` |
271
+ | `/execute` or `/exec` | `get_skill("executing-plans")` |
272
+ | `/design` or `/frontend` | `get_skill("frontend-design")` |
273
+ | `/pr` | `get_skill("pr-all-in-one")` |
274
+
275
+ For unrecognized slash commands, call `recommend_skills` to find the closest match.
276
+
277
+ ## AUTO Mode
278
+
279
+ AUTO mode enables autonomous PLAN -> ACT -> EVAL cycling until quality criteria are met.
280
+
281
+ ### Triggering AUTO Mode
282
+
283
+ Use the `AUTO` keyword at the start of your message:
284
+
285
+ | Language | Keyword |
286
+ |----------|---------|
287
+ | English | `AUTO` |
288
+ | Korean | `AUTO` |
289
+ | Japanese | `自動` |
290
+ | Chinese | `自动` |
291
+ | Spanish | `AUTOMATICO` |
292
+
293
+ ### Workflow
294
+
295
+ 1. **PLAN Phase**: Creates implementation plan with quality criteria
296
+ 2. **ACT Phase**: Executes implementation following TDD workflow
297
+ 3. **EVAL Phase**: Evaluates quality against exit criteria
298
+ 4. **Loop/Exit**: Continues cycling until:
299
+ - Success: `Critical = 0 AND High = 0`
300
+ - Failure: Max iterations reached (default: 3)
301
+
302
+ ### Configuration
303
+
304
+ Configure in `codingbuddy.config.json`:
305
+
306
+ ```javascript
307
+ module.exports = {
308
+ auto: {
309
+ maxIterations: 3
310
+ }
311
+ };
312
+ ```
313
+
314
+ > **Windsurf limitation:** AUTO mode has no enforcement mechanism in Windsurf. See [Known Limitations](#known-limitations) for details.
315
+
316
+ ## Context Document Management
317
+
318
+ codingbuddy uses a fixed-path context document (`docs/codingbuddy/context.md`) to persist decisions across mode transitions.
319
+
320
+ ### How It Works
321
+
322
+ | Mode | Behavior |
323
+ |------|----------|
324
+ | PLAN / AUTO | Resets (clears) existing content and starts fresh |
325
+ | ACT / EVAL | Appends new section to existing content |
326
+
327
+ ### Required Workflow
328
+
329
+ 1. `parse_mode` automatically reads/creates the context document
330
+ 2. Review `contextDocument` in the response for previous decisions
331
+ 3. **Before completing each mode:** call `update_context` to persist current work
332
+
333
+ ### Windsurf-Specific Note
334
+
335
+ Unlike Claude Code, Windsurf has no hooks to enforce `update_context` calls. You must **manually remember** to call `update_context` before concluding each mode to avoid losing context across sessions.
336
+
337
+ ## Known Limitations
338
+
339
+ Windsurf environment does not support several features available in Claude Code:
340
+
341
+ | Feature | Status | Workaround |
342
+ |---------|--------|------------|
343
+ | **Task tool** (background subagents) | ❌ Not available | Use `prepare_parallel_agents` for sequential execution |
344
+ | **Native Skill tool** (`/skill-name`) | ❌ Not available | Use MCP tool chain: `recommend_skills` -> `get_skill` |
345
+ | **Session hooks** (PreToolUse, etc.) | ❌ Not available | Rely on `.windsurf/rules/*.md` for always-on instructions |
346
+ | **Autonomous loop mechanism** | ❌ Not available | AUTO mode depends on Cascade AI voluntarily looping |
347
+ | **Context compaction hooks** | ❌ Not available | Manually call `update_context` before ending each mode |
348
+ | **`dispatch_agents` full usage** | ⚠️ Partial | Returns Claude Code-specific `dispatchParams`; use `prepare_parallel_agents` instead |
349
+ | **`restart_tui`** | ❌ Not applicable | Claude Code TUI-only tool |
350
+ | **Rules character limit** | ⚠️ Constrained | 6,000 chars/file, 12,000 total — keep rules concise, reference `.ai-rules/` |
351
+
352
+ ### AUTO Mode Reliability
353
+
354
+ AUTO mode documents autonomous PLAN -> ACT -> EVAL cycling. In Windsurf, this depends entirely on Cascade voluntarily continuing the loop — there is no enforcement mechanism. Results may vary:
355
+
356
+ - Cascade may stop after one iteration instead of looping
357
+ - Quality exit criteria (`Critical = 0 AND High = 0`) are advisory, not enforced
358
+ - For reliable multi-iteration workflows, prefer manual `PLAN` -> `ACT` -> `EVAL` cycling
359
+
360
+ ## AGENTS.md
361
+
362
+ Industry standard format compatible with all AI tools (Windsurf, Cursor, Claude Code, Codex, etc.):
363
+
364
+ ```markdown
365
+ # AGENTS.md
366
+
367
+ This project uses codingbuddy MCP server to manage AI Agents.
368
+
369
+ ## Quick Start
370
+ ...
371
+ ```
372
+
373
+ See `AGENTS.md` in project root for details.
374
+
375
+ ## Verification Status
376
+
377
+ > Documentation based on Windsurf public documentation and community resources. Runtime verification in a live Windsurf + MCP environment has not yet been performed.
378
+
379
+ | Pattern | Status | Notes |
380
+ |---------|--------|-------|
381
+ | MCP Tools Access | ⚠️ Unconfirmed | Windsurf MCP support depends on version; verify in your environment |
382
+ | `.windsurf/rules/*.md` loading | ✅ Documented | Wave 8+ format; automatically loaded by Cascade |
383
+ | `.windsurfrules` legacy support | ✅ Documented | Still supported; `.windsurf/rules/` preferred |
384
+ | Global rules (`global_rules.md`) | ✅ Documented | Accessible via Settings > Manage Memories |
385
+ | AUTO mode workflow | ⚠️ Unconfirmed | Depends on Cascade voluntarily looping |
386
+ | Context document management | ✅ Documented | Uses standard `update_context` MCP tool |
387
+ | Known Limitations | ✅ Documented | Task tool, hooks, character limits documented |
388
+
389
+ ## Reference
390
+
391
+ - [Windsurf Documentation](https://docs.windsurf.com/)
392
+ - [Windsurf Rules Guide](https://docs.windsurf.com/windsurf/cascade/memories)
393
+ - [Windsurf Rules Directory](https://windsurf.com/editor/directory)
394
+ - [AGENTS.md Official Spec](https://agents.md)
395
+ - [codingbuddy MCP API](../../docs/api.md)
@@ -497,5 +497,11 @@
497
497
  "project_accessibility": "See project.md 'UX & Accessibility' section"
498
498
  },
499
499
  "project_rules": "See .ai-rules/rules/"
500
+ },
501
+ "visual": {
502
+ "eye": "✦",
503
+ "eyeFallback": "O",
504
+ "colorAnsi": "yellow",
505
+ "group": "frontend"
500
506
  }
501
507
  }
@@ -151,5 +151,11 @@
151
151
  "✅ Linting errors resolved",
152
152
  "✅ Design system components utilized"
153
153
  ]
154
+ },
155
+ "visual": {
156
+ "eye": "◆",
157
+ "eyeFallback": "O",
158
+ "colorAnsi": "blue",
159
+ "group": "workflow"
154
160
  }
155
161
  }
@@ -187,5 +187,11 @@
187
187
  "specialist": "Referenced by Primary Agents for domain expertise",
188
188
  "utility": "Helper agents for specific tasks"
189
189
  }
190
+ },
191
+ "visual": {
192
+ "eye": "⬣",
193
+ "eyeFallback": "O",
194
+ "colorAnsi": "bright",
195
+ "group": "specialist"
190
196
  }
191
197
  }
@@ -759,5 +759,11 @@
759
759
  "chromadb": "https://docs.trychroma.com",
760
760
  "owasp_llm": "https://owasp.org/www-project-top-10-for-large-language-model-applications/"
761
761
  }
762
+ },
763
+ "visual": {
764
+ "eye": "✴",
765
+ "eyeFallback": "O",
766
+ "colorAnsi": "bright",
767
+ "group": "specialist"
762
768
  }
763
769
  }
@@ -503,5 +503,11 @@
503
503
  "development_rules": "See project.md 'Development Rules' section"
504
504
  },
505
505
  "project_rules": "See .ai-rules/rules/"
506
+ },
507
+ "visual": {
508
+ "eye": "⬡",
509
+ "eyeFallback": "O",
510
+ "colorAnsi": "magenta",
511
+ "group": "architecture"
506
512
  }
507
513
  }
@@ -104,5 +104,11 @@
104
104
  "✅ Verify completion only when Critical=0 AND High=0",
105
105
  "✅ Verify Delegate Agent's full workflow is applied across all phases"
106
106
  ]
107
+ },
108
+ "visual": {
109
+ "eye": "◊",
110
+ "eyeFallback": "O",
111
+ "colorAnsi": "blue",
112
+ "group": "workflow"
107
113
  }
108
114
  }
@@ -487,5 +487,11 @@
487
487
  "grpc": "https://grpc.io/docs"
488
488
  }
489
489
  }
490
+ },
491
+ "visual": {
492
+ "eye": "◐",
493
+ "eyeFallback": "O",
494
+ "colorAnsi": "cyan",
495
+ "group": "backend"
490
496
  }
491
497
  }
@@ -706,5 +706,11 @@
706
706
  "project_quality": "See augmented-coding.md 'Code Quality Standards' section"
707
707
  },
708
708
  "project_rules": "See .ai-rules/rules/"
709
+ },
710
+ "visual": {
711
+ "eye": "●",
712
+ "eyeFallback": "O",
713
+ "colorAnsi": "green",
714
+ "group": "quality"
709
715
  }
710
716
  }
@@ -424,7 +424,10 @@
424
424
  "conditional_branches": {
425
425
  "description": "Trace each branch of if/else, ternary operators, and switch statements",
426
426
  "question": "Does each branch behave as intended?",
427
- "common_bugs": ["Missing conditions causing only specific cases to be handled", "Unimplemented else branch"]
427
+ "common_bugs": [
428
+ "Missing conditions causing only specific cases to be handled",
429
+ "Unimplemented else branch"
430
+ ]
428
431
  },
429
432
  "data_transformations": {
430
433
  "description": "Verify input/output field mapping in type conversion functions",
@@ -444,10 +447,18 @@
444
447
  "edge_cases": {
445
448
  "description": "Handling of null, undefined, empty arrays, and boundary values",
446
449
  "question": "Are boundary conditions handled correctly?",
447
- "common_bugs": ["Missing empty array handling", "Null reference errors", "Boundary value off-by-one"]
450
+ "common_bugs": [
451
+ "Missing empty array handling",
452
+ "Null reference errors",
453
+ "Boundary value off-by-one"
454
+ ]
448
455
  }
449
456
  },
450
- "skip_conditions": ["Only new files created", "Only documentation changed", "Only tests added"],
457
+ "skip_conditions": [
458
+ "Only new files created",
459
+ "Only documentation changed",
460
+ "Only tests added"
461
+ ],
451
462
  "pass_criteria": {
452
463
  "minimum_checks": "All items applicable to the changed code must be reviewed",
453
464
  "evidence_required": "Review results (issue found or verification complete) must be specified for each item",
@@ -507,7 +518,11 @@
507
518
  "title": "## 🔍 Refactoring Verification",
508
519
  "format": "**Review scope**: [list of changed files]\n\n### Issues Found\n- 🔴 `file.ts:line` - [item]: [issue]\n\n### Verification Complete (No Issues)\n- ✅ [item]\n\n*Skip reason: [if applicable]*",
509
520
  "description": "Mandatory manual review beyond automated tests - conditional branches, data transformations, optional fields, dependencies, edge cases",
510
- "skip_conditions": ["Only new files created", "Only documentation changed", "Only tests added"],
521
+ "skip_conditions": [
522
+ "Only new files created",
523
+ "Only documentation changed",
524
+ "Only tests added"
525
+ ],
511
526
  "required": true
512
527
  },
513
528
  "7_objective_assessment": {
@@ -612,5 +627,11 @@
612
627
  "High priority issues: Recommend resolving before next deployment",
613
628
  "Medium/Low: Manage as technical debt with gradual improvement"
614
629
  ]
630
+ },
631
+ "visual": {
632
+ "eye": "⊛",
633
+ "eyeFallback": "O",
634
+ "colorAnsi": "green",
635
+ "group": "quality"
615
636
  }
616
637
  }
@@ -340,5 +340,11 @@
340
340
  "prisma": "https://www.prisma.io/docs",
341
341
  "sqlalchemy": "https://docs.sqlalchemy.org/"
342
342
  }
343
+ },
344
+ "visual": {
345
+ "eye": "◑",
346
+ "eyeFallback": "O",
347
+ "colorAnsi": "cyan",
348
+ "group": "backend"
343
349
  }
344
350
  }
@@ -153,5 +153,11 @@
153
153
  "data_engineer": ".ai-rules/agents/data-engineer.json - For ETL, schema design, migrations",
154
154
  "ai_ml_engineer": ".ai-rules/agents/ai-ml-engineer.json - For LLM integration, RAG, deep learning frameworks"
155
155
  }
156
+ },
157
+ "visual": {
158
+ "eye": "◒",
159
+ "eyeFallback": "O",
160
+ "colorAnsi": "cyan",
161
+ "group": "backend"
156
162
  }
157
163
  }
@@ -287,5 +287,11 @@
287
287
  "datadog_rum": "https://docs.datadoghq.com/real_user_monitoring/",
288
288
  "nodejs_performance": "https://nodejs.org/api/cli.html#--max-old-space-sizesize-in-megabytes"
289
289
  }
290
+ },
291
+ "visual": {
292
+ "eye": "▼",
293
+ "eyeFallback": "O",
294
+ "colorAnsi": "red",
295
+ "group": "security"
290
296
  }
291
297
  }
@@ -539,5 +539,11 @@
539
539
  "project_documentation": "See project.md 'Development Rules' section"
540
540
  },
541
541
  "project_rules": "See .ai-rules/rules/"
542
+ },
543
+ "visual": {
544
+ "eye": "⊕",
545
+ "eyeFallback": "O",
546
+ "colorAnsi": "white",
547
+ "group": "integration"
542
548
  }
543
549
  }
@@ -96,7 +96,11 @@
96
96
  "refactoring_verification": {
97
97
  "description": "Mandatory manual review items beyond automated tests (execute on every EVAL)",
98
98
  "mandatory": true,
99
- "skip_conditions": ["Only new files created", "Only documentation changed", "Only tests added"],
99
+ "skip_conditions": [
100
+ "Only new files created",
101
+ "Only documentation changed",
102
+ "Only tests added"
103
+ ],
100
104
  "checklist": {
101
105
  "conditional_branches": "Do if/else, ternary operators, and switch branches behave as intended?",
102
106
  "data_transformations": "Does the type conversion function map all fields correctly?",
@@ -177,5 +181,11 @@
177
181
  "✅ Improvement opportunities by priority (Critical/High/Medium/Low)",
178
182
  "✅ Evidence-based recommendations (web search links/references)"
179
183
  ]
184
+ },
185
+ "visual": {
186
+ "eye": "◈",
187
+ "eyeFallback": "O",
188
+ "colorAnsi": "blue",
189
+ "group": "workflow"
180
190
  }
181
191
  }
@@ -708,5 +708,11 @@
708
708
  "microservices_patterns": "Microservices Patterns by Chris Richardson"
709
709
  },
710
710
  "project_rules": "See .ai-rules/rules/"
711
+ },
712
+ "visual": {
713
+ "eye": "❖",
714
+ "eyeFallback": "O",
715
+ "colorAnsi": "bright",
716
+ "group": "specialist"
711
717
  }
712
718
  }
@@ -396,5 +396,11 @@
396
396
  "tailwind_v3": "https://tailwindcss.com/docs",
397
397
  "accessibility": "https://www.w3.org/WAI/WCAG21/quickref/"
398
398
  }
399
+ },
400
+ "visual": {
401
+ "eye": "★",
402
+ "eyeFallback": "O",
403
+ "colorAnsi": "yellow",
404
+ "group": "frontend"
399
405
  }
400
406
  }
@@ -381,5 +381,11 @@
381
381
  "vue_i18n": "https://vue-i18n.intlify.dev/"
382
382
  },
383
383
  "project_rules": "See .ai-rules/rules/"
384
+ },
385
+ "visual": {
386
+ "eye": "◎",
387
+ "eyeFallback": "O",
388
+ "colorAnsi": "white",
389
+ "group": "integration"
384
390
  }
385
391
  }
@@ -570,5 +570,11 @@
570
570
  "best_practices": "https://docs.stripe.com/webhooks/best-practices"
571
571
  },
572
572
  "project_rules": "See .ai-rules/rules/"
573
+ },
574
+ "visual": {
575
+ "eye": "○",
576
+ "eyeFallback": "O",
577
+ "colorAnsi": "white",
578
+ "group": "integration"
573
579
  }
574
580
  }