codingbuddy-rules 4.5.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 (129) hide show
  1. package/.ai-rules/adapters/aider.md +374 -0
  2. package/.ai-rules/adapters/antigravity.md +6 -6
  3. package/.ai-rules/adapters/claude-code.md +68 -4
  4. package/.ai-rules/adapters/codex.md +5 -5
  5. package/.ai-rules/adapters/cursor.md +2 -2
  6. package/.ai-rules/adapters/kiro.md +8 -8
  7. package/.ai-rules/adapters/opencode.md +7 -7
  8. package/.ai-rules/adapters/q.md +2 -2
  9. package/.ai-rules/adapters/windsurf.md +395 -0
  10. package/.ai-rules/agents/README.md +66 -16
  11. package/.ai-rules/agents/accessibility-specialist.json +8 -1
  12. package/.ai-rules/agents/act-mode.json +8 -1
  13. package/.ai-rules/agents/agent-architect.json +14 -7
  14. package/.ai-rules/agents/ai-ml-engineer.json +7 -0
  15. package/.ai-rules/agents/architecture-specialist.json +7 -0
  16. package/.ai-rules/agents/auto-mode.json +10 -2
  17. package/.ai-rules/agents/backend-developer.json +7 -0
  18. package/.ai-rules/agents/code-quality-specialist.json +7 -0
  19. package/.ai-rules/agents/code-reviewer.json +86 -64
  20. package/.ai-rules/agents/data-engineer.json +14 -7
  21. package/.ai-rules/agents/data-scientist.json +16 -9
  22. package/.ai-rules/agents/devops-engineer.json +7 -0
  23. package/.ai-rules/agents/documentation-specialist.json +7 -0
  24. package/.ai-rules/agents/eval-mode.json +30 -19
  25. package/.ai-rules/agents/event-architecture-specialist.json +7 -0
  26. package/.ai-rules/agents/frontend-developer.json +7 -0
  27. package/.ai-rules/agents/i18n-specialist.json +8 -1
  28. package/.ai-rules/agents/integration-specialist.json +7 -0
  29. package/.ai-rules/agents/migration-specialist.json +7 -0
  30. package/.ai-rules/agents/mobile-developer.json +8 -10
  31. package/.ai-rules/agents/observability-specialist.json +7 -0
  32. package/.ai-rules/agents/parallel-orchestrator.json +352 -0
  33. package/.ai-rules/agents/performance-specialist.json +7 -0
  34. package/.ai-rules/agents/plan-mode.json +9 -1
  35. package/.ai-rules/agents/plan-reviewer.json +211 -0
  36. package/.ai-rules/agents/platform-engineer.json +7 -0
  37. package/.ai-rules/agents/security-engineer.json +15 -8
  38. package/.ai-rules/agents/security-specialist.json +8 -1
  39. package/.ai-rules/agents/seo-specialist.json +7 -0
  40. package/.ai-rules/agents/software-engineer.json +7 -0
  41. package/.ai-rules/agents/solution-architect.json +17 -10
  42. package/.ai-rules/agents/systems-developer.json +15 -8
  43. package/.ai-rules/agents/technical-planner.json +17 -10
  44. package/.ai-rules/agents/test-engineer.json +13 -6
  45. package/.ai-rules/agents/test-strategy-specialist.json +7 -0
  46. package/.ai-rules/agents/tooling-engineer.json +10 -3
  47. package/.ai-rules/agents/ui-ux-designer.json +7 -0
  48. package/.ai-rules/keyword-modes.json +4 -4
  49. package/.ai-rules/rules/clarification-guide.md +14 -14
  50. package/.ai-rules/rules/core.md +73 -0
  51. package/.ai-rules/rules/parallel-execution.md +217 -0
  52. package/.ai-rules/schemas/agent.schema.json +38 -0
  53. package/.ai-rules/skills/README.md +29 -1
  54. package/.ai-rules/skills/agent-design/SKILL.md +5 -0
  55. package/.ai-rules/skills/agent-design/examples/agent-template.json +55 -0
  56. package/.ai-rules/skills/agent-design/references/expertise-guidelines.md +112 -0
  57. package/.ai-rules/skills/agent-discussion/SKILL.md +199 -0
  58. package/.ai-rules/skills/agent-discussion-panel/SKILL.md +448 -0
  59. package/.ai-rules/skills/api-design/SKILL.md +5 -0
  60. package/.ai-rules/skills/api-design/examples/error-response.json +159 -0
  61. package/.ai-rules/skills/api-design/examples/openapi-template.yaml +393 -0
  62. package/.ai-rules/skills/build-fix/SKILL.md +234 -0
  63. package/.ai-rules/skills/code-explanation/SKILL.md +4 -0
  64. package/.ai-rules/skills/context-management/SKILL.md +1 -0
  65. package/.ai-rules/skills/cost-budget/SKILL.md +348 -0
  66. package/.ai-rules/skills/cross-repo-issues/SKILL.md +257 -0
  67. package/.ai-rules/skills/database-migration/SKILL.md +1 -0
  68. package/.ai-rules/skills/deepsearch/SKILL.md +214 -0
  69. package/.ai-rules/skills/deployment-checklist/SKILL.md +1 -0
  70. package/.ai-rules/skills/error-analysis/SKILL.md +1 -0
  71. package/.ai-rules/skills/finishing-a-development-branch/SKILL.md +281 -0
  72. package/.ai-rules/skills/frontend-design/SKILL.md +5 -0
  73. package/.ai-rules/skills/frontend-design/examples/component-template.tsx +203 -0
  74. package/.ai-rules/skills/frontend-design/references/css-patterns.md +243 -0
  75. package/.ai-rules/skills/git-master/SKILL.md +358 -0
  76. package/.ai-rules/skills/incident-response/SKILL.md +1 -0
  77. package/.ai-rules/skills/legacy-modernization/SKILL.md +1 -0
  78. package/.ai-rules/skills/mcp-builder/SKILL.md +7 -0
  79. package/.ai-rules/skills/mcp-builder/examples/resource-example.ts +233 -0
  80. package/.ai-rules/skills/mcp-builder/examples/tool-example.ts +198 -0
  81. package/.ai-rules/skills/mcp-builder/references/protocol-spec.md +215 -0
  82. package/.ai-rules/skills/onboard/SKILL.md +150 -0
  83. package/.ai-rules/skills/performance-optimization/SKILL.md +3 -0
  84. package/.ai-rules/skills/plan-and-review/SKILL.md +115 -0
  85. package/.ai-rules/skills/plan-to-issues/SKILL.md +318 -0
  86. package/.ai-rules/skills/pr-all-in-one/SKILL.md +15 -13
  87. package/.ai-rules/skills/pr-all-in-one/configuration-guide.md +7 -7
  88. package/.ai-rules/skills/pr-all-in-one/pr-templates.md +10 -10
  89. package/.ai-rules/skills/pr-review/SKILL.md +4 -0
  90. package/.ai-rules/skills/receiving-code-review/SKILL.md +347 -0
  91. package/.ai-rules/skills/refactoring/SKILL.md +1 -0
  92. package/.ai-rules/skills/requesting-code-review/SKILL.md +348 -0
  93. package/.ai-rules/skills/retrospective/SKILL.md +192 -0
  94. package/.ai-rules/skills/rule-authoring/SKILL.md +5 -0
  95. package/.ai-rules/skills/rule-authoring/examples/rule-template.md +142 -0
  96. package/.ai-rules/skills/rule-authoring/examples/trigger-patterns.md +126 -0
  97. package/.ai-rules/skills/security-audit/SKILL.md +4 -0
  98. package/.ai-rules/skills/ship/SKILL.md +242 -0
  99. package/.ai-rules/skills/skill-creator/SKILL.md +461 -0
  100. package/.ai-rules/skills/skill-creator/agents/analyzer.md +206 -0
  101. package/.ai-rules/skills/skill-creator/agents/comparator.md +167 -0
  102. package/.ai-rules/skills/skill-creator/agents/grader.md +152 -0
  103. package/.ai-rules/skills/skill-creator/assets/eval_review.html +568 -0
  104. package/.ai-rules/skills/skill-creator/assets/skill-template.md +43 -0
  105. package/.ai-rules/skills/skill-creator/eval-viewer/generate_review.py +496 -0
  106. package/.ai-rules/skills/skill-creator/references/frontmatter-guide.md +632 -0
  107. package/.ai-rules/skills/skill-creator/references/multi-tool-compat.md +480 -0
  108. package/.ai-rules/skills/skill-creator/references/schemas.md +784 -0
  109. package/.ai-rules/skills/skill-creator/scripts/aggregate_benchmark.py +302 -0
  110. package/.ai-rules/skills/skill-creator/scripts/init_skill.sh +196 -0
  111. package/.ai-rules/skills/skill-creator/scripts/run_loop.py +327 -0
  112. package/.ai-rules/skills/systematic-debugging/SKILL.md +1 -0
  113. package/.ai-rules/skills/tech-debt/SKILL.md +1 -0
  114. package/.ai-rules/skills/test-coverage-gate/SKILL.md +303 -0
  115. package/.ai-rules/skills/tmux-master/SKILL.md +491 -0
  116. package/.ai-rules/skills/using-git-worktrees/SKILL.md +368 -0
  117. package/.ai-rules/skills/verification-before-completion/SKILL.md +234 -0
  118. package/.ai-rules/skills/widget-slot-architecture/SKILL.md +6 -0
  119. package/.ai-rules/skills/widget-slot-architecture/examples/parallel-route-setup.tsx +206 -0
  120. package/.ai-rules/skills/widget-slot-architecture/examples/widget-component.tsx +250 -0
  121. package/.ai-rules/skills/writing-plans/SKILL.md +78 -0
  122. package/bin/cli.js +170 -0
  123. package/lib/init/detect-stack.js +162 -0
  124. package/lib/init/generate-config.js +31 -0
  125. package/lib/init/index.js +86 -0
  126. package/lib/init/prompt.js +60 -0
  127. package/lib/init/scaffold.js +67 -0
  128. package/lib/init/suggest-agent.js +57 -0
  129. package/package.json +10 -2
@@ -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)
@@ -165,9 +165,9 @@ Primary Agent is dynamically determined based on the following priority:
165
165
 
166
166
  **Korean:**
167
167
  ```
168
- backend-developer 작업해 # "Work with backend-developer" (~로 작업해 = "work with ~")
169
- agent-architect으로 해줘 # "Do it with agent-architect" (~으로 해줘 = "do with ~")
170
- devops-engineer 개발해 # "Develop with devops-engineer" (~로 개발해 = "develop with ~")
168
+ backend-developer work with # "Work with backend-developer"
169
+ agent-architect do with # "Do it with agent-architect"
170
+ devops-engineer develop with # "Develop with devops-engineer"
171
171
  ```
172
172
 
173
173
  **English:**
@@ -202,6 +202,7 @@ as agent-architect, design new agent
202
202
  | Data Scientist | `primary` | EDA, ML modeling, Jupyter notebooks, data analysis and visualization |
203
203
  | Systems Developer | `primary` | Rust/C/C++, FFI bindings, embedded systems, low-level performance optimization |
204
204
  | Software Engineer | `primary` | Universal fallback — any language, any domain, when no specific agent matches |
205
+ | Parallel Orchestrator | `primary` | Parallel issue execution, taskMaestro orchestration, Wave planning |
205
206
 
206
207
  ### EVAL Mode
207
208
 
@@ -637,7 +638,7 @@ Unified specialist agents organized by domain:
637
638
  **Activation Patterns:**
638
639
 
639
640
  - Files: `*.tf`, `*.tfvars`, `Chart.yaml`, `kustomization.yaml`, `Pulumi.yaml`, `argocd/`, `flux-system/`
640
- - Korean: "인프라 코드", "쿠버네티스", "테라폼", "비용 최적화", "재해 복구"
641
+ - Korean: "infrastructure code", "Kubernetes", "Terraform", "cost optimization", "disaster recovery"
641
642
  - English: "terraform", "kubernetes", "k8s", "helm", "pulumi", "gitops", "argocd", "infrastructure as code"
642
643
 
643
644
  **Auto-Activation:** Supported via MCP server. Platform Engineer is automatically selected when prompts contain IaC/Kubernetes keywords or when working with infrastructure files.
@@ -684,7 +685,7 @@ Unified specialist agents organized by domain:
684
685
  **Activation Patterns:**
685
686
 
686
687
  - Config files: `codingbuddy.config`, `tsconfig`, `eslint`, `prettier`, `vite.config`, `next.config`
687
- - Korean: "설정 파일", "빌드 설정", "패키지 관리", "린터 설정"
688
+ - Korean: "config file", "build config", "package management", "linter config"
688
689
  - English: "config file", "build config", "package management"
689
690
 
690
691
  ---
@@ -767,7 +768,7 @@ Unified specialist agents organized by domain:
767
768
 
768
769
  **Activation Patterns:**
769
770
 
770
- - Korean: "LLM 통합", "RAG 구현", "프롬프트 엔지니어링", "AI 안전"
771
+ - Korean: "LLM integration", "RAG implementation", "prompt engineering", "AI safety"
771
772
  - English: "LLM integration", "RAG implementation", "prompt engineering", "AI safety"
772
773
 
773
774
  ---
@@ -812,7 +813,7 @@ Unified specialist agents organized by domain:
812
813
  **Activation Patterns:**
813
814
 
814
815
  - Files: `*.ipynb`, `*eda*.py`, `*analysis*.py`, `*model*.py`, `notebooks/`
815
- - Korean: "데이터 분석", "탐색적 분석", "EDA", "시각화", "회귀", "분류", "주피터"
816
+ - Korean: "data analysis", "exploratory analysis", "EDA", "visualization", "regression", "classification", "Jupyter"
816
817
  - English: "EDA", "exploratory", "data analysis", "visualization", "regression", "classification", "pandas", "scikit-learn", "jupyter"
817
818
 
818
819
  ---
@@ -860,7 +861,7 @@ Unified specialist agents organized by domain:
860
861
 
861
862
  **Activation Patterns:**
862
863
 
863
- - Korean: "Rust 구현", "C++ 최적화", "FFI 바인딩", "메모리 관리", "임베디드 개발", "WASM 구현"
864
+ - Korean: "Rust implementation", "C++ optimization", "FFI binding", "memory management", "embedded development", "WASM implementation"
864
865
  - English: "rust implementation", "FFI binding", "memory management", "embedded", "WASM", "low-level", "systems programming"
865
866
 
866
867
  ---
@@ -957,7 +958,7 @@ Software Engineer is the **fallback of last resort** — it has no intent patter
957
958
  **Activation Patterns:**
958
959
 
959
960
  - Files: API clients, webhook handlers, OAuth implementations, external service integrations
960
- - Korean: "외부 서비스 연동", "웹훅", "API 통합", "서킷 브레이커"
961
+ - Korean: "external service integration", "webhook", "API integration", "circuit breaker"
961
962
  - English: "external API", "webhook", "integration", "circuit breaker", "third-party service"
962
963
 
963
964
  **Auto-Activation:** Supported via MCP server. Integration Specialist is automatically selected when prompts contain external service integration keywords or when working with API client/webhook files.
@@ -1013,7 +1014,7 @@ Software Engineer is the **fallback of last resort** — it has no intent patter
1013
1014
  **Activation Patterns:**
1014
1015
 
1015
1016
  - Files: `**/events/**`, `**/kafka/**`, `**/rabbitmq/**`, `**/sqs/**`, `**/eventgrid/**`, `**/pubsub/**`, `**/eventbridge/**`, `**/*producer*.ts`, `**/*consumer*.ts`, `**/*saga*.ts`, `**/*event-store*.ts`, `**/websocket/**`
1016
- - Korean: "이벤트 아키텍처", "메시지 ", "카프카", "사가 패턴", "이벤트 소싱"
1017
+ - Korean: "event architecture", "message queue", "Kafka", "saga pattern", "event sourcing"
1017
1018
  - English: "event-driven", "message queue", "kafka", "rabbitmq", "saga pattern", "event sourcing", "CQRS", "websocket"
1018
1019
 
1019
1020
  **Auto-Activation:** Supported via MCP server. Event Architecture Specialist is automatically selected when prompts contain event-driven architecture keywords or when working with message queue/event sourcing files.
@@ -1079,7 +1080,7 @@ Software Engineer is the **fallback of last resort** — it has no intent patter
1079
1080
  **Activation Patterns:**
1080
1081
 
1081
1082
  - Keywords: "observability", "distributed tracing", "OpenTelemetry", "SLI", "SLO", "error budget", "structured logging", "Prometheus", "Grafana", "Jaeger"
1082
- - Korean: "관측 가능성", "분산 추적", "SLI/SLO", "에러 버짓"
1083
+ - Korean: "observability", "distributed tracing", "SLI/SLO", "error budget"
1083
1084
  - English: "observability", "distributed tracing", "SLI/SLO", "error budget", "OpenTelemetry"
1084
1085
 
1085
1086
  **Auto-Activation:** Supported via MCP server. Observability Specialist is automatically selected when prompts contain observability-related keywords or when working with tracing/monitoring files.
@@ -1156,7 +1157,7 @@ Software Engineer is the **fallback of last resort** — it has no intent patter
1156
1157
  **Activation Patterns:**
1157
1158
 
1158
1159
  - Keywords: "migration", "migrate", "legacy", "upgrade", "strangler fig", "rollback", "cutover", "deprecation", "backward compatibility"
1159
- - Korean: "마이그레이션", "이전", "레거시", "업그레이드", "롤백", "호환성", "전환"
1160
+ - Korean: "migration", "transfer", "legacy", "upgrade", "rollback", "compatibility", "transition"
1160
1161
  - English: "migration", "legacy modernization", "framework upgrade", "zero-downtime", "api versioning"
1161
1162
 
1162
1163
  **Auto-Activation:** Supported via MCP server. Migration Specialist is automatically selected when prompts contain migration-related keywords or when working with migration/upgrade files.
@@ -1631,6 +1632,8 @@ Some specialist agents define **delegation rules** to clarify when work should b
1631
1632
  Each agent JSON contains:
1632
1633
 
1633
1634
  - **name**: Agent identifier
1635
+ - **description**: Brief description of the agent
1636
+ - **color**: Unique hex color code for visual identification (e.g., `#61DAFB`)
1634
1637
  - **role**: Title and expertise areas
1635
1638
  - **context_files**: Rules to reference
1636
1639
  - **modes**: Planning, implementation, and evaluation frameworks (for unified specialists)
@@ -1642,6 +1645,52 @@ Each agent JSON contains:
1642
1645
  - **design_system**: UI component guidelines
1643
1646
  - **communication**: Response language and style
1644
1647
 
1648
+ ### Color Reference
1649
+
1650
+ Each agent has a unique `color` field (hex code) for visual identification in UIs and dashboards.
1651
+
1652
+ | Agent | Color | Hex |
1653
+ |-------|-------|-----|
1654
+ | **Mode Agents** | | |
1655
+ | Plan Mode | ![#6C8EBF](https://via.placeholder.com/12/6C8EBF/6C8EBF.png) Steel Blue | `#6C8EBF` |
1656
+ | Act Mode | ![#82B366](https://via.placeholder.com/12/82B366/82B366.png) Sage Green | `#82B366` |
1657
+ | Eval Mode | ![#D4A843](https://via.placeholder.com/12/D4A843/D4A843.png) Golden | `#D4A843` |
1658
+ | Auto Mode | ![#B85450](https://via.placeholder.com/12/B85450/B85450.png) Rust Red | `#B85450` |
1659
+ | **Primary Agents** | | |
1660
+ | Solution Architect | ![#4A90D9](https://via.placeholder.com/12/4A90D9/4A90D9.png) Royal Blue | `#4A90D9` |
1661
+ | Technical Planner | ![#7B68EE](https://via.placeholder.com/12/7B68EE/7B68EE.png) Slate Blue | `#7B68EE` |
1662
+ | Frontend Developer | ![#61DAFB](https://via.placeholder.com/12/61DAFB/61DAFB.png) React Cyan | `#61DAFB` |
1663
+ | Backend Developer | ![#68A063](https://via.placeholder.com/12/68A063/68A063.png) Node Green | `#68A063` |
1664
+ | Mobile Developer | ![#A4C639](https://via.placeholder.com/12/A4C639/A4C639.png) Android Green | `#A4C639` |
1665
+ | Data Engineer | ![#E97451](https://via.placeholder.com/12/E97451/E97451.png) Burnt Sienna | `#E97451` |
1666
+ | Agent Architect | ![#9B59B6](https://via.placeholder.com/12/9B59B6/9B59B6.png) Amethyst | `#9B59B6` |
1667
+ | Platform Engineer | ![#3498DB](https://via.placeholder.com/12/3498DB/3498DB.png) Dodger Blue | `#3498DB` |
1668
+ | Tooling Engineer | ![#95A5A6](https://via.placeholder.com/12/95A5A6/95A5A6.png) Concrete | `#95A5A6` |
1669
+ | AI/ML Engineer | ![#FF6F61](https://via.placeholder.com/12/FF6F61/FF6F61.png) Coral | `#FF6F61` |
1670
+ | DevOps Engineer | ![#2ECC71](https://via.placeholder.com/12/2ECC71/2ECC71.png) Emerald | `#2ECC71` |
1671
+ | Test Engineer | ![#F39C12](https://via.placeholder.com/12/F39C12/F39C12.png) Orange | `#F39C12` |
1672
+ | Security Engineer | ![#E74C3C](https://via.placeholder.com/12/E74C3C/E74C3C.png) Alizarin | `#E74C3C` |
1673
+ | Software Engineer | ![#1ABC9C](https://via.placeholder.com/12/1ABC9C/1ABC9C.png) Turquoise | `#1ABC9C` |
1674
+ | Data Scientist | ![#8E44AD](https://via.placeholder.com/12/8E44AD/8E44AD.png) Wisteria | `#8E44AD` |
1675
+ | Systems Developer | ![#D35400](https://via.placeholder.com/12/D35400/D35400.png) Pumpkin | `#D35400` |
1676
+ | **Domain Specialists** | | |
1677
+ | Architecture | ![#2C3E80](https://via.placeholder.com/12/2C3E80/2C3E80.png) Navy | `#2C3E80` |
1678
+ | Test Strategy | ![#F1C40F](https://via.placeholder.com/12/F1C40F/F1C40F.png) Sunflower | `#F1C40F` |
1679
+ | Performance | ![#E67E22](https://via.placeholder.com/12/E67E22/E67E22.png) Carrot | `#E67E22` |
1680
+ | Security | ![#C0392B](https://via.placeholder.com/12/C0392B/C0392B.png) Pomegranate | `#C0392B` |
1681
+ | Accessibility | ![#27AE60](https://via.placeholder.com/12/27AE60/27AE60.png) Nephritis | `#27AE60` |
1682
+ | SEO | ![#16A085](https://via.placeholder.com/12/16A085/16A085.png) Green Sea | `#16A085` |
1683
+ | UI/UX Designer | ![#E91E63](https://via.placeholder.com/12/E91E63/E91E63.png) Pink | `#E91E63` |
1684
+ | Documentation | ![#607D8B](https://via.placeholder.com/12/607D8B/607D8B.png) Blue Gray | `#607D8B` |
1685
+ | Integration | ![#00BCD4](https://via.placeholder.com/12/00BCD4/00BCD4.png) Cyan | `#00BCD4` |
1686
+ | Event Architecture | ![#FF5722](https://via.placeholder.com/12/FF5722/FF5722.png) Deep Orange | `#FF5722` |
1687
+ | Observability | ![#795548](https://via.placeholder.com/12/795548/795548.png) Brown | `#795548` |
1688
+ | Migration | ![#FF9800](https://via.placeholder.com/12/FF9800/FF9800.png) Amber | `#FF9800` |
1689
+ | i18n | ![#009688](https://via.placeholder.com/12/009688/009688.png) Teal | `#009688` |
1690
+ | **Utility Agents** | | |
1691
+ | Code Quality | ![#8BC34A](https://via.placeholder.com/12/8BC34A/8BC34A.png) Light Green | `#8BC34A` |
1692
+ | Code Reviewer | ![#673AB7](https://via.placeholder.com/12/673AB7/673AB7.png) Deep Purple | `#673AB7` |
1693
+
1645
1694
  ---
1646
1695
 
1647
1696
  ## Adding New Agents
@@ -1667,6 +1716,7 @@ Create a new JSON file following this structure:
1667
1716
  {
1668
1717
  "name": "Agent Name",
1669
1718
  "description": "Brief description",
1719
+ "color": "#HEXCOD",
1670
1720
  "role": {
1671
1721
  "title": "Role Title",
1672
1722
  "expertise": [],
@@ -1723,7 +1773,7 @@ Add a regex pattern to detect specialist-relevant keywords in user prompts:
1723
1773
  // apps/mcp-server/src/keyword/keyword.service.ts
1724
1774
  {
1725
1775
  pattern:
1726
- /keyword1|keyword2|한국어키워드|english\s*pattern/i,
1776
+ /keyword1|keyword2|korean_keyword|english\s*pattern/i,
1727
1777
  specialist: '{domain}-specialist',
1728
1778
  },
1729
1779
  ```
@@ -1810,8 +1860,8 @@ describe('{domain}-specialist pattern', () => {
1810
1860
  });
1811
1861
 
1812
1862
  it.each([
1813
- '한국어 키워드 1',
1814
- '한국어 키워드 2',
1863
+ 'Korean keyword 1',
1864
+ 'Korean keyword 2',
1815
1865
  // ... more Korean patterns
1816
1866
  ])('detects {domain}-specialist for Korean: %s', async prompt => {
1817
1867
  const result = await service.parseMode(`PLAN ${prompt}`);
@@ -1869,7 +1919,7 @@ When modifying an existing specialist's integration:
1869
1919
  pattern: /existing|keywords/i,
1870
1920
 
1871
1921
  // After
1872
- pattern: /existing|keywords|new_keyword|새키워드/i,
1922
+ pattern: /existing|keywords|new_keyword|new_korean_keyword/i,
1873
1923
  ```
1874
1924
 
1875
1925
  #### Adding New File Patterns
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "Accessibility Specialist",
3
3
  "description": "Accessibility expert for Planning, Implementation, and Evaluation modes - unified specialist for WCAG 2.1 AA compliance, ARIA attributes, and keyboard navigation",
4
+ "color": "#27AE60",
4
5
  "role": {
5
6
  "title": "Accessibility Engineer",
6
7
  "expertise": [
@@ -305,7 +306,7 @@
305
306
  "auto_activate_conditions": [
306
307
  "UI component development or modifications",
307
308
  "Form component creation",
308
- "User explicitly requests accessibility review (A11Y, 접근성 검토)",
309
+ "User explicitly requests accessibility review (A11Y, accessibility review)",
309
310
  "Code Reviewer identifies accessibility concerns"
310
311
  ],
311
312
  "mandatory_checklist": {
@@ -496,5 +497,11 @@
496
497
  "project_accessibility": "See project.md 'UX & Accessibility' section"
497
498
  },
498
499
  "project_rules": "See .ai-rules/rules/"
500
+ },
501
+ "visual": {
502
+ "eye": "✦",
503
+ "eyeFallback": "O",
504
+ "colorAnsi": "yellow",
505
+ "group": "frontend"
499
506
  }
500
507
  }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "Act Mode Agent",
3
3
  "description": "ACT mode agent - specialized for actual implementation execution",
4
+ "color": "#82B366",
4
5
  "role": {
5
6
  "title": "Act Mode Agent",
6
7
  "mode": "ACT",
@@ -31,7 +32,7 @@
31
32
  ".ai-rules/rules/augmented-coding.md"
32
33
  ],
33
34
  "activation": {
34
- "trigger": "🔴 **STRICT**: When user types 'ACT' or equivalent (Korean: 실행, Japanese: 実行, Chinese: 执行, Spanish: ACTUAR)",
35
+ "trigger": "🔴 **STRICT**: When user types 'ACT' or equivalent (Korean: execute, Japanese: 実行, Chinese: 执行, Spanish: ACTUAR)",
35
36
  "rule": "🔴 **STRICT**: ACT MODE request must activate this Agent automatically",
36
37
  "mandatory_checklist": {
37
38
  "🔴 language": {
@@ -150,5 +151,11 @@
150
151
  "✅ Linting errors resolved",
151
152
  "✅ Design system components utilized"
152
153
  ]
154
+ },
155
+ "visual": {
156
+ "eye": "◆",
157
+ "eyeFallback": "O",
158
+ "colorAnsi": "blue",
159
+ "group": "workflow"
153
160
  }
154
161
  }