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.
- package/.ai-rules/adapters/aider.md +374 -0
- package/.ai-rules/adapters/windsurf.md +395 -0
- package/.ai-rules/agents/accessibility-specialist.json +6 -0
- package/.ai-rules/agents/act-mode.json +6 -0
- package/.ai-rules/agents/agent-architect.json +6 -0
- package/.ai-rules/agents/ai-ml-engineer.json +6 -0
- package/.ai-rules/agents/architecture-specialist.json +6 -0
- package/.ai-rules/agents/auto-mode.json +6 -0
- package/.ai-rules/agents/backend-developer.json +6 -0
- package/.ai-rules/agents/code-quality-specialist.json +6 -0
- package/.ai-rules/agents/code-reviewer.json +25 -4
- package/.ai-rules/agents/data-engineer.json +6 -0
- package/.ai-rules/agents/data-scientist.json +6 -0
- package/.ai-rules/agents/devops-engineer.json +6 -0
- package/.ai-rules/agents/documentation-specialist.json +6 -0
- package/.ai-rules/agents/eval-mode.json +11 -1
- package/.ai-rules/agents/event-architecture-specialist.json +6 -0
- package/.ai-rules/agents/frontend-developer.json +6 -0
- package/.ai-rules/agents/i18n-specialist.json +6 -0
- package/.ai-rules/agents/integration-specialist.json +6 -0
- package/.ai-rules/agents/migration-specialist.json +6 -0
- package/.ai-rules/agents/mobile-developer.json +7 -10
- package/.ai-rules/agents/observability-specialist.json +6 -0
- package/.ai-rules/agents/parallel-orchestrator.json +6 -0
- package/.ai-rules/agents/performance-specialist.json +6 -0
- package/.ai-rules/agents/plan-mode.json +6 -0
- package/.ai-rules/agents/plan-reviewer.json +7 -4
- package/.ai-rules/agents/platform-engineer.json +6 -0
- package/.ai-rules/agents/security-engineer.json +6 -0
- package/.ai-rules/agents/security-specialist.json +6 -0
- package/.ai-rules/agents/seo-specialist.json +6 -0
- package/.ai-rules/agents/software-engineer.json +6 -0
- package/.ai-rules/agents/solution-architect.json +6 -0
- package/.ai-rules/agents/systems-developer.json +6 -0
- package/.ai-rules/agents/technical-planner.json +6 -0
- package/.ai-rules/agents/test-engineer.json +6 -0
- package/.ai-rules/agents/test-strategy-specialist.json +6 -0
- package/.ai-rules/agents/tooling-engineer.json +6 -0
- package/.ai-rules/agents/ui-ux-designer.json +6 -0
- package/.ai-rules/schemas/agent.schema.json +38 -0
- package/.ai-rules/skills/README.md +6 -0
- package/.ai-rules/skills/agent-design/examples/agent-template.json +1 -4
- package/.ai-rules/skills/mcp-builder/examples/tool-example.ts +8 -13
- package/.ai-rules/skills/onboard/SKILL.md +150 -0
- package/.ai-rules/skills/plan-to-issues/SKILL.md +318 -0
- package/.ai-rules/skills/retrospective/SKILL.md +192 -0
- package/.ai-rules/skills/ship/SKILL.md +242 -0
- package/.ai-rules/skills/skill-creator/assets/eval_review.html +539 -260
- package/bin/cli.js +11 -19
- package/lib/init/detect-stack.js +18 -4
- package/lib/init/prompt.js +2 -2
- package/lib/init/suggest-agent.js +13 -2
- 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
|
}
|
|
@@ -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
|
}
|
|
@@ -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": [
|
|
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": [
|
|
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": [
|
|
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": [
|
|
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
|
}
|
|
@@ -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": [
|
|
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
|
}
|
|
@@ -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
|
}
|