@every-env/compound-plugin 0.8.0 → 0.12.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 (93) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/AGENTS.md +5 -1
  3. package/CHANGELOG.md +50 -0
  4. package/CLAUDE.md +3 -3
  5. package/README.md +52 -14
  6. package/docs/plans/2026-02-14-feat-auto-detect-install-and-gemini-sync-plan.md +360 -0
  7. package/docs/plans/2026-02-25-feat-windsurf-global-scope-support-plan.md +627 -0
  8. package/docs/plans/2026-03-01-feat-ce-command-aliases-backwards-compatible-deprecation-plan.md +261 -0
  9. package/docs/plans/feature_opencode-commands-as-md-and-config-merge.md +574 -0
  10. package/docs/solutions/adding-converter-target-providers.md +692 -0
  11. package/docs/solutions/plugin-versioning-requirements.md +3 -3
  12. package/docs/specs/kiro.md +171 -0
  13. package/docs/specs/windsurf.md +477 -0
  14. package/package.json +1 -1
  15. package/plans/landing-page-launchkit-refresh.md +2 -2
  16. package/plugins/compound-engineering/.claude-plugin/plugin.json +2 -2
  17. package/plugins/compound-engineering/CHANGELOG.md +72 -1
  18. package/plugins/compound-engineering/CLAUDE.md +9 -7
  19. package/plugins/compound-engineering/README.md +10 -7
  20. package/plugins/compound-engineering/agents/research/git-history-analyzer.md +1 -1
  21. package/plugins/compound-engineering/agents/research/learnings-researcher.md +1 -1
  22. package/plugins/compound-engineering/agents/review/code-simplicity-reviewer.md +1 -1
  23. package/plugins/compound-engineering/commands/ce/brainstorm.md +145 -0
  24. package/plugins/compound-engineering/commands/ce/compound.md +240 -0
  25. package/plugins/compound-engineering/commands/ce/plan.md +636 -0
  26. package/plugins/compound-engineering/commands/ce/review.md +525 -0
  27. package/plugins/compound-engineering/commands/ce/work.md +470 -0
  28. package/plugins/compound-engineering/commands/create-agent-skill.md +1 -1
  29. package/plugins/compound-engineering/commands/deepen-plan.md +6 -6
  30. package/plugins/compound-engineering/commands/deploy-docs.md +1 -1
  31. package/plugins/compound-engineering/commands/feature-video.md +15 -6
  32. package/plugins/compound-engineering/commands/heal-skill.md +1 -1
  33. package/plugins/compound-engineering/commands/lfg.md +3 -3
  34. package/plugins/compound-engineering/commands/slfg.md +3 -3
  35. package/plugins/compound-engineering/commands/test-xcode.md +2 -2
  36. package/plugins/compound-engineering/commands/workflows/brainstorm.md +4 -123
  37. package/plugins/compound-engineering/commands/workflows/compound.md +4 -234
  38. package/plugins/compound-engineering/commands/workflows/plan.md +4 -562
  39. package/plugins/compound-engineering/commands/workflows/review.md +4 -522
  40. package/plugins/compound-engineering/commands/workflows/work.md +4 -448
  41. package/plugins/compound-engineering/skills/brainstorming/SKILL.md +3 -3
  42. package/plugins/compound-engineering/skills/document-review/SKILL.md +1 -1
  43. package/plugins/compound-engineering/skills/file-todos/SKILL.md +1 -1
  44. package/plugins/compound-engineering/skills/git-worktree/SKILL.md +5 -5
  45. package/plugins/compound-engineering/skills/proof/SKILL.md +185 -0
  46. package/plugins/compound-engineering/skills/resolve-pr-parallel/SKILL.md +1 -1
  47. package/plugins/compound-engineering/skills/setup/SKILL.md +2 -2
  48. package/src/commands/convert.ts +101 -23
  49. package/src/commands/install.ts +102 -41
  50. package/src/commands/sync.ts +58 -38
  51. package/src/converters/claude-to-kiro.ts +262 -0
  52. package/src/converters/claude-to-openclaw.ts +240 -0
  53. package/src/converters/claude-to-opencode.ts +12 -10
  54. package/src/converters/claude-to-qwen.ts +238 -0
  55. package/src/converters/claude-to-windsurf.ts +205 -0
  56. package/src/sync/gemini.ts +76 -0
  57. package/src/targets/index.ts +69 -1
  58. package/src/targets/kiro.ts +122 -0
  59. package/src/targets/openclaw.ts +96 -0
  60. package/src/targets/opencode.ts +76 -10
  61. package/src/targets/qwen.ts +64 -0
  62. package/src/targets/windsurf.ts +104 -0
  63. package/src/types/kiro.ts +44 -0
  64. package/src/types/openclaw.ts +52 -0
  65. package/src/types/opencode.ts +7 -8
  66. package/src/types/qwen.ts +48 -0
  67. package/src/types/windsurf.ts +34 -0
  68. package/src/utils/detect-tools.ts +46 -0
  69. package/src/utils/files.ts +7 -0
  70. package/src/utils/resolve-output.ts +50 -0
  71. package/src/utils/secrets.ts +24 -0
  72. package/tests/cli.test.ts +78 -0
  73. package/tests/converter.test.ts +43 -10
  74. package/tests/detect-tools.test.ts +96 -0
  75. package/tests/kiro-converter.test.ts +381 -0
  76. package/tests/kiro-writer.test.ts +273 -0
  77. package/tests/openclaw-converter.test.ts +200 -0
  78. package/tests/opencode-writer.test.ts +142 -5
  79. package/tests/qwen-converter.test.ts +238 -0
  80. package/tests/resolve-output.test.ts +131 -0
  81. package/tests/sync-gemini.test.ts +106 -0
  82. package/tests/windsurf-converter.test.ts +573 -0
  83. package/tests/windsurf-writer.test.ts +359 -0
  84. package/docs/css/docs.css +0 -675
  85. package/docs/css/style.css +0 -2886
  86. package/docs/index.html +0 -1046
  87. package/docs/js/main.js +0 -225
  88. package/docs/pages/agents.html +0 -649
  89. package/docs/pages/changelog.html +0 -534
  90. package/docs/pages/commands.html +0 -523
  91. package/docs/pages/getting-started.html +0 -582
  92. package/docs/pages/mcp-servers.html +0 -409
  93. package/docs/pages/skills.html +0 -611
@@ -0,0 +1,171 @@
1
+ # Kiro CLI Spec (Custom Agents, Skills, Steering, MCP, Settings)
2
+
3
+ Last verified: 2026-02-17
4
+
5
+ ## Primary sources
6
+
7
+ ```
8
+ https://kiro.dev/docs/cli/
9
+ https://kiro.dev/docs/cli/custom-agents/configuration-reference/
10
+ https://kiro.dev/docs/cli/skills/
11
+ https://kiro.dev/docs/cli/steering/
12
+ https://kiro.dev/docs/cli/mcp/
13
+ https://kiro.dev/docs/cli/hooks/
14
+ https://agentskills.io
15
+ ```
16
+
17
+ ## Config locations
18
+
19
+ - Project-level config: `.kiro/` directory at project root.
20
+ - No global/user-level config directory — all config is project-scoped.
21
+
22
+ ## Directory structure
23
+
24
+ ```
25
+ .kiro/
26
+ ├── agents/
27
+ │ ├── <name>.json # Agent configuration
28
+ │ └── prompts/
29
+ │ └── <name>.md # Agent prompt files
30
+ ├── skills/
31
+ │ └── <name>/
32
+ │ └── SKILL.md # Skill definition
33
+ ├── steering/
34
+ │ └── <name>.md # Always-on context files
35
+ └── settings/
36
+ └── mcp.json # MCP server configuration
37
+ ```
38
+
39
+ ## Custom agents (JSON config + prompt files)
40
+
41
+ - Custom agents are JSON files in `.kiro/agents/`.
42
+ - Each agent has a corresponding prompt `.md` file, referenced via `file://` URI.
43
+ - Agent config has 14 possible fields (see below).
44
+ - Agents are activated by user selection (no auto-activation).
45
+ - The converter outputs a subset of fields relevant to converted plugins.
46
+
47
+ ### Agent config fields
48
+
49
+ | Field | Type | Used in conversion | Notes |
50
+ |---|---|---|---|
51
+ | `name` | string | Yes | Agent display name |
52
+ | `description` | string | Yes | Human-readable description |
53
+ | `prompt` | string or `file://` URI | Yes | System prompt or file reference |
54
+ | `tools` | string[] | Yes (`["*"]`) | Available tools |
55
+ | `resources` | string[] | Yes | `file://`, `skill://`, `knowledgeBase` URIs |
56
+ | `includeMcpJson` | boolean | Yes (`true`) | Inherit project MCP servers |
57
+ | `welcomeMessage` | string | Yes | Agent switch greeting |
58
+ | `mcpServers` | object | No | Per-agent MCP config (use includeMcpJson instead) |
59
+ | `toolAliases` | Record | No | Tool name remapping |
60
+ | `allowedTools` | string[] | No | Auto-approve patterns |
61
+ | `toolsSettings` | object | No | Per-tool configuration |
62
+ | `hooks` | object | No (future work) | 5 trigger types |
63
+ | `model` | string | No | Model selection |
64
+ | `keyboardShortcut` | string | No | Quick-switch shortcut |
65
+
66
+ ### Example agent config
67
+
68
+ ```json
69
+ {
70
+ "name": "security-reviewer",
71
+ "description": "Reviews code for security vulnerabilities",
72
+ "prompt": "file://./prompts/security-reviewer.md",
73
+ "tools": ["*"],
74
+ "resources": [
75
+ "file://.kiro/steering/**/*.md",
76
+ "skill://.kiro/skills/**/SKILL.md"
77
+ ],
78
+ "includeMcpJson": true,
79
+ "welcomeMessage": "Switching to security-reviewer. Reviews code for security vulnerabilities"
80
+ }
81
+ ```
82
+
83
+ ## Skills (SKILL.md standard)
84
+
85
+ - Skills follow the open [Agent Skills](https://agentskills.io) standard.
86
+ - A skill is a folder containing `SKILL.md` plus optional supporting files.
87
+ - Skills live in `.kiro/skills/`.
88
+ - `SKILL.md` uses YAML frontmatter with `name` and `description` fields.
89
+ - Kiro activates skills on demand based on description matching.
90
+ - The `description` field is critical — Kiro uses it to decide when to activate the skill.
91
+
92
+ ### Constraints
93
+
94
+ - Skill name: max 64 characters, pattern `^[a-z][a-z0-9-]*$`, no consecutive hyphens (`--`).
95
+ - Skill description: max 1024 characters.
96
+ - Skill name must match parent directory name.
97
+
98
+ ### Example
99
+
100
+ ```yaml
101
+ ---
102
+ name: workflows-plan
103
+ description: Plan work by analyzing requirements and creating actionable steps
104
+ ---
105
+
106
+ # Planning Workflow
107
+
108
+ Detailed instructions...
109
+ ```
110
+
111
+ ## Steering files
112
+
113
+ - Markdown files in `.kiro/steering/`.
114
+ - Always loaded into every agent session's context.
115
+ - Equivalent to Claude Code's CLAUDE.md.
116
+ - Used for project-wide instructions, coding standards, and conventions.
117
+
118
+ ## MCP server configuration
119
+
120
+ - MCP servers are configured in `.kiro/settings/mcp.json`.
121
+ - **Only stdio transport is supported** — `command` + `args` + `env`.
122
+ - HTTP/SSE transport (`url`, `headers`) is NOT supported by Kiro CLI.
123
+ - The converter skips HTTP-only MCP servers with a warning.
124
+
125
+ ### Example
126
+
127
+ ```json
128
+ {
129
+ "mcpServers": {
130
+ "playwright": {
131
+ "command": "npx",
132
+ "args": ["-y", "@anthropic/mcp-playwright"]
133
+ },
134
+ "context7": {
135
+ "command": "npx",
136
+ "args": ["-y", "@context7/mcp-server"]
137
+ }
138
+ }
139
+ }
140
+ ```
141
+
142
+ ## Hooks
143
+
144
+ - Kiro supports 5 hook trigger types: `agentSpawn`, `userPromptSubmit`, `preToolUse`, `postToolUse`, `stop`.
145
+ - Hooks are configured inside agent JSON configs (not separate files).
146
+ - 3 of 5 triggers map to Claude Code hooks (`preToolUse`, `postToolUse`, `stop`).
147
+ - Not converted by the plugin converter for MVP — a warning is emitted.
148
+
149
+ ## Conversion lossy mappings
150
+
151
+ | Claude Code Feature | Kiro Status | Notes |
152
+ |---|---|---|
153
+ | `Edit` tool (surgical replacement) | Degraded -> `write` (full-file) | Kiro write overwrites entire files |
154
+ | `context: fork` | Lost | No execution isolation control |
155
+ | `!`command`` dynamic injection | Lost | No pre-processing of markdown |
156
+ | `disable-model-invocation` | Lost | No invocation control |
157
+ | `allowed-tools` per skill | Lost | No tool permission scoping per skill |
158
+ | `$ARGUMENTS` interpolation | Lost | No structured argument passing |
159
+ | Claude hooks | Skipped | Future follow-up (near-1:1 for 3/5 triggers) |
160
+ | HTTP MCP servers | Skipped | Kiro only supports stdio transport |
161
+
162
+ ## Overwrite behavior during conversion
163
+
164
+ | Content Type | Strategy | Rationale |
165
+ |---|---|---|
166
+ | Generated agents (JSON + prompt) | Overwrite | Generated, not user-authored |
167
+ | Generated skills (from commands) | Overwrite | Generated, not user-authored |
168
+ | Copied skills (pass-through) | Overwrite | Plugin is source of truth |
169
+ | Steering files | Overwrite | Generated from CLAUDE.md |
170
+ | `mcp.json` | Merge with backup | User may have added their own servers |
171
+ | User-created agents/skills | Preserved | Don't delete orphans |
@@ -0,0 +1,477 @@
1
+ # Windsurf Editor Global Configuration Guide
2
+
3
+ > **Purpose**: Technical reference for programmatically creating and managing Windsurf's global Skills, Workflows, and Rules.
4
+ >
5
+ > **Source**: Official Windsurf documentation at [docs.windsurf.com](https://docs.windsurf.com) + local file analysis.
6
+ >
7
+ > **Last Updated**: February 2026
8
+
9
+ ---
10
+
11
+ ## Table of Contents
12
+
13
+ 1. [Overview](#overview)
14
+ 2. [Base Directory Structure](#base-directory-structure)
15
+ 3. [Skills](#skills)
16
+ 4. [Workflows](#workflows)
17
+ 5. [Rules](#rules)
18
+ 6. [Memories](#memories)
19
+ 7. [System-Level Configuration (Enterprise)](#system-level-configuration-enterprise)
20
+ 8. [Programmatic Creation Reference](#programmatic-creation-reference)
21
+ 9. [Best Practices](#best-practices)
22
+
23
+ ---
24
+
25
+ ## Overview
26
+
27
+ Windsurf provides three main customization mechanisms:
28
+
29
+ | Feature | Purpose | Invocation |
30
+ |---------|---------|------------|
31
+ | **Skills** | Complex multi-step tasks with supporting resources | Automatic (progressive disclosure) or `@skill-name` |
32
+ | **Workflows** | Reusable step-by-step procedures | Slash command `/workflow-name` |
33
+ | **Rules** | Behavioral guidelines and preferences | Trigger-based (always-on, glob, manual, or model decision) |
34
+
35
+ All three support both **workspace-level** (project-specific) and **global** (user-wide) scopes.
36
+
37
+ ---
38
+
39
+ ## Base Directory Structure
40
+
41
+ ### Global Configuration Root
42
+
43
+ | OS | Path |
44
+ |----|------|
45
+ | **Windows** | `C:\Users\{USERNAME}\.codeium\windsurf\` |
46
+ | **macOS** | `~/.codeium/windsurf/` |
47
+ | **Linux** | `~/.codeium/windsurf/` |
48
+
49
+ ### Directory Layout
50
+
51
+ ```
52
+ ~/.codeium/windsurf/
53
+ ├── skills/ # Global skills (directories)
54
+ │ └── {skill-name}/
55
+ │ └── SKILL.md
56
+ ├── global_workflows/ # Global workflows (flat .md files)
57
+ │ └── {workflow-name}.md
58
+ ├── rules/ # Global rules (flat .md files)
59
+ │ └── {rule-name}.md
60
+ ├── memories/
61
+ │ ├── global_rules.md # Always-on global rules (plain text)
62
+ │ └── *.pb # Auto-generated memories (protobuf)
63
+ ├── mcp_config.json # MCP server configuration
64
+ └── user_settings.pb # User settings (protobuf)
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Skills
70
+
71
+ Skills bundle instructions with supporting resources for complex, multi-step tasks. Cascade uses **progressive disclosure** to automatically invoke skills when relevant.
72
+
73
+ ### Storage Locations
74
+
75
+ | Scope | Location |
76
+ |-------|----------|
77
+ | **Global** | `~/.codeium/windsurf/skills/{skill-name}/SKILL.md` |
78
+ | **Workspace** | `.windsurf/skills/{skill-name}/SKILL.md` |
79
+
80
+ ### Directory Structure
81
+
82
+ Each skill is a **directory** (not a single file) containing:
83
+
84
+ ```
85
+ {skill-name}/
86
+ ├── SKILL.md # Required: Main skill definition
87
+ ├── references/ # Optional: Reference documentation
88
+ ├── assets/ # Optional: Images, diagrams, etc.
89
+ ├── scripts/ # Optional: Helper scripts
90
+ └── {any-other-files} # Optional: Templates, configs, etc.
91
+ ```
92
+
93
+ ### SKILL.md Format
94
+
95
+ ```markdown
96
+ ---
97
+ name: skill-name
98
+ description: Brief description shown to model to help it decide when to invoke the skill
99
+ ---
100
+
101
+ # Skill Title
102
+
103
+ Instructions for the skill go here in markdown format.
104
+
105
+ ## Section 1
106
+ Step-by-step guidance...
107
+
108
+ ## Section 2
109
+ Reference supporting files using relative paths:
110
+ - See [deployment-checklist.md](./deployment-checklist.md)
111
+ - Run script: [deploy.sh](./scripts/deploy.sh)
112
+ ```
113
+
114
+ ### Required YAML Frontmatter Fields
115
+
116
+ | Field | Required | Description |
117
+ |-------|----------|-------------|
118
+ | `name` | **Yes** | Unique identifier (lowercase letters, numbers, hyphens only). Must match directory name. |
119
+ | `description` | **Yes** | Explains what the skill does and when to use it. Critical for automatic invocation. |
120
+
121
+ ### Naming Convention
122
+
123
+ - Use **lowercase-kebab-case**: `deploy-to-staging`, `code-review`, `setup-dev-environment`
124
+ - Name must match the directory name exactly
125
+
126
+ ### Invocation Methods
127
+
128
+ 1. **Automatic**: Cascade automatically invokes when request matches skill description
129
+ 2. **Manual**: Type `@skill-name` in Cascade input
130
+
131
+ ### Example: Complete Skill
132
+
133
+ ```
134
+ ~/.codeium/windsurf/skills/deploy-to-production/
135
+ ├── SKILL.md
136
+ ├── deployment-checklist.md
137
+ ├── rollback-procedure.md
138
+ └── config-template.yaml
139
+ ```
140
+
141
+ **SKILL.md:**
142
+ ```markdown
143
+ ---
144
+ name: deploy-to-production
145
+ description: Guides the deployment process to production with safety checks. Use when deploying to prod, releasing, or pushing to production environment.
146
+ ---
147
+
148
+ ## Pre-deployment Checklist
149
+ 1. Run all tests
150
+ 2. Check for uncommitted changes
151
+ 3. Verify environment variables
152
+
153
+ ## Deployment Steps
154
+ Follow these steps to deploy safely...
155
+
156
+ See [deployment-checklist.md](./deployment-checklist.md) for full checklist.
157
+ See [rollback-procedure.md](./rollback-procedure.md) if issues occur.
158
+ ```
159
+
160
+ ---
161
+
162
+ ## Workflows
163
+
164
+ Workflows define step-by-step procedures invoked via slash commands. They guide Cascade through repetitive tasks.
165
+
166
+ ### Storage Locations
167
+
168
+ | Scope | Location |
169
+ |-------|----------|
170
+ | **Global** | `~/.codeium/windsurf/global_workflows/{workflow-name}.md` |
171
+ | **Workspace** | `.windsurf/workflows/{workflow-name}.md` |
172
+
173
+ ### File Format
174
+
175
+ Workflows are **single markdown files** (not directories):
176
+
177
+ ```markdown
178
+ ---
179
+ description: Short description of what the workflow does
180
+ ---
181
+
182
+ # Workflow Title
183
+
184
+ > Arguments: [optional arguments description]
185
+
186
+ Step-by-step instructions in markdown.
187
+
188
+ 1. First step
189
+ 2. Second step
190
+ 3. Third step
191
+ ```
192
+
193
+ ### Required YAML Frontmatter Fields
194
+
195
+ | Field | Required | Description |
196
+ |-------|----------|-------------|
197
+ | `description` | **Yes** | Short title/description shown in UI |
198
+
199
+ ### Invocation
200
+
201
+ - Slash command: `/workflow-name`
202
+ - Filename becomes the command (e.g., `deploy.md` → `/deploy`)
203
+
204
+ ### Constraints
205
+
206
+ - **Character limit**: 12,000 characters per workflow file
207
+ - Workflows can call other workflows: Include instructions like "Call `/other-workflow`"
208
+
209
+ ### Example: Complete Workflow
210
+
211
+ **File**: `~/.codeium/windsurf/global_workflows/address-pr-comments.md`
212
+
213
+ ```markdown
214
+ ---
215
+ description: Address all PR review comments systematically
216
+ ---
217
+
218
+ # Address PR Comments
219
+
220
+ > Arguments: [PR number]
221
+
222
+ 1. Check out the PR branch: `gh pr checkout [id]`
223
+
224
+ 2. Get comments on PR:
225
+ ```bash
226
+ gh api --paginate repos/[owner]/[repo]/pulls/[id]/comments | jq '.[] | {user: .user.login, body, path, line}'
227
+ ```
228
+
229
+ 3. For EACH comment:
230
+ a. Print: "(index). From [user] on [file]:[lines] — [body]"
231
+ b. Analyze the file and line range
232
+ c. If unclear, ask for clarification
233
+ d. Make the change before moving to next comment
234
+
235
+ 4. Summarize what was done and which comments need attention
236
+ ```
237
+
238
+ ---
239
+
240
+ ## Rules
241
+
242
+ Rules provide persistent behavioral guidelines that influence how Cascade responds.
243
+
244
+ ### Storage Locations
245
+
246
+ | Scope | Location |
247
+ |-------|----------|
248
+ | **Global** | `~/.codeium/windsurf/rules/{rule-name}.md` |
249
+ | **Workspace** | `.windsurf/rules/{rule-name}.md` |
250
+
251
+ ### File Format
252
+
253
+ Rules are **single markdown files**:
254
+
255
+ ```markdown
256
+ ---
257
+ description: When to use this rule
258
+ trigger: activation_mode
259
+ globs: ["*.py", "src/**/*.ts"]
260
+ ---
261
+
262
+ Rule instructions in markdown format.
263
+
264
+ - Guideline 1
265
+ - Guideline 2
266
+ - Guideline 3
267
+ ```
268
+
269
+ ### YAML Frontmatter Fields
270
+
271
+ | Field | Required | Description |
272
+ |-------|----------|-------------|
273
+ | `description` | **Yes** | Describes when to use the rule |
274
+ | `trigger` | Optional | Activation mode (see below) |
275
+ | `globs` | Optional | File patterns for glob trigger |
276
+
277
+ ### Activation Modes (trigger field)
278
+
279
+ | Mode | Value | Description |
280
+ |------|-------|-------------|
281
+ | **Manual** | `manual` | Activated via `@mention` in Cascade input |
282
+ | **Always On** | `always` | Always applied to every conversation |
283
+ | **Model Decision** | `model_decision` | Model decides based on description |
284
+ | **Glob** | `glob` | Applied when working with files matching pattern |
285
+
286
+ ### Constraints
287
+
288
+ - **Character limit**: 12,000 characters per rule file
289
+
290
+ ### Example: Complete Rule
291
+
292
+ **File**: `~/.codeium/windsurf/rules/python-style.md`
293
+
294
+ ```markdown
295
+ ---
296
+ description: Python coding standards and style guidelines. Use when writing or reviewing Python code.
297
+ trigger: glob
298
+ globs: ["*.py", "**/*.py"]
299
+ ---
300
+
301
+ # Python Coding Guidelines
302
+
303
+ - Use type hints for all function parameters and return values
304
+ - Follow PEP 8 style guide
305
+ - Use early returns when possible
306
+ - Always add docstrings to public functions and classes
307
+ - Prefer f-strings over .format() or % formatting
308
+ - Use pathlib instead of os.path for file operations
309
+ ```
310
+
311
+ ---
312
+
313
+ ## Memories
314
+
315
+ ### Global Rules (Always-On)
316
+
317
+ **Location**: `~/.codeium/windsurf/memories/global_rules.md`
318
+
319
+ This is a special file for rules that **always apply** to all conversations. Unlike rules in the `rules/` directory, this file:
320
+
321
+ - Does **not** require YAML frontmatter
322
+ - Is plain text/markdown
323
+ - Is always active (no trigger configuration)
324
+
325
+ **Format:**
326
+ ```markdown
327
+ Plain text rules that always apply to all conversations.
328
+
329
+ - Rule 1
330
+ - Rule 2
331
+ - Rule 3
332
+ ```
333
+
334
+ ### Auto-Generated Memories
335
+
336
+ Cascade automatically creates memories during conversations, stored as `.pb` (protobuf) files in `~/.codeium/windsurf/memories/`. These are managed by Windsurf and should not be manually edited.
337
+
338
+ ---
339
+
340
+ ## System-Level Configuration (Enterprise)
341
+
342
+ Enterprise organizations can deploy system-level configurations that apply globally and cannot be modified by end users.
343
+
344
+ ### System-Level Paths
345
+
346
+ | Type | Windows | macOS | Linux/WSL |
347
+ |------|---------|-------|-----------|
348
+ | **Rules** | `C:\ProgramData\Windsurf\rules\*.md` | `/Library/Application Support/Windsurf/rules/*.md` | `/etc/windsurf/rules/*.md` |
349
+ | **Workflows** | `C:\ProgramData\Windsurf\workflows\*.md` | `/Library/Application Support/Windsurf/workflows/*.md` | `/etc/windsurf/workflows/*.md` |
350
+
351
+ ### Precedence Order
352
+
353
+ When items with the same name exist at multiple levels:
354
+
355
+ 1. **System** (highest priority) - Organization-wide, deployed by IT
356
+ 2. **Workspace** - Project-specific in `.windsurf/`
357
+ 3. **Global** - User-defined in `~/.codeium/windsurf/`
358
+ 4. **Built-in** - Default items provided by Windsurf
359
+
360
+ ---
361
+
362
+ ## Programmatic Creation Reference
363
+
364
+ ### Quick Reference Table
365
+
366
+ | Type | Path Pattern | Format | Key Fields |
367
+ |------|--------------|--------|------------|
368
+ | **Skill** | `skills/{name}/SKILL.md` | YAML frontmatter + markdown | `name`, `description` |
369
+ | **Workflow** | `global_workflows/{name}.md` (global) or `workflows/{name}.md` (workspace) | YAML frontmatter + markdown | `description` |
370
+ | **Rule** | `rules/{name}.md` | YAML frontmatter + markdown | `description`, `trigger`, `globs` |
371
+ | **Global Rules** | `memories/global_rules.md` | Plain text/markdown | None |
372
+
373
+ ### Minimal Templates
374
+
375
+ #### Skill (SKILL.md)
376
+ ```markdown
377
+ ---
378
+ name: my-skill
379
+ description: What this skill does and when to use it
380
+ ---
381
+
382
+ Instructions here.
383
+ ```
384
+
385
+ #### Workflow
386
+ ```markdown
387
+ ---
388
+ description: What this workflow does
389
+ ---
390
+
391
+ 1. Step one
392
+ 2. Step two
393
+ ```
394
+
395
+ #### Rule
396
+ ```markdown
397
+ ---
398
+ description: When this rule applies
399
+ trigger: model_decision
400
+ ---
401
+
402
+ - Guideline one
403
+ - Guideline two
404
+ ```
405
+
406
+ ### Validation Checklist
407
+
408
+ When programmatically creating items:
409
+
410
+ - [ ] **Skills**: Directory exists with `SKILL.md` inside
411
+ - [ ] **Skills**: `name` field matches directory name exactly
412
+ - [ ] **Skills**: Name uses only lowercase letters, numbers, hyphens
413
+ - [ ] **Workflows/Rules**: File is `.md` extension
414
+ - [ ] **All**: YAML frontmatter uses `---` delimiters
415
+ - [ ] **All**: `description` field is present and meaningful
416
+ - [ ] **All**: File size under 12,000 characters (workflows/rules)
417
+
418
+ ---
419
+
420
+ ## Best Practices
421
+
422
+ ### Writing Effective Descriptions
423
+
424
+ The `description` field is critical for automatic invocation. Be specific:
425
+
426
+ **Good:**
427
+ ```yaml
428
+ description: Guides deployment to staging environment with pre-flight checks. Use when deploying to staging, testing releases, or preparing for production.
429
+ ```
430
+
431
+ **Bad:**
432
+ ```yaml
433
+ description: Deployment stuff
434
+ ```
435
+
436
+ ### Formatting Guidelines
437
+
438
+ - Use bullet points and numbered lists (easier for Cascade to follow)
439
+ - Use markdown headers to organize sections
440
+ - Keep rules concise and specific
441
+ - Avoid generic rules like "write good code" (already built-in)
442
+
443
+ ### XML Tags for Grouping
444
+
445
+ XML tags can effectively group related rules:
446
+
447
+ ```markdown
448
+ <coding_guidelines>
449
+ - Use early returns when possible
450
+ - Always add documentation for new functions
451
+ - Prefer composition over inheritance
452
+ </coding_guidelines>
453
+
454
+ <testing_requirements>
455
+ - Write unit tests for all public methods
456
+ - Maintain 80% code coverage
457
+ </testing_requirements>
458
+ ```
459
+
460
+ ### Skills vs Rules vs Workflows
461
+
462
+ | Use Case | Recommended |
463
+ |----------|-------------|
464
+ | Multi-step procedure with supporting files | **Skill** |
465
+ | Repeatable CLI/automation sequence | **Workflow** |
466
+ | Coding style preferences | **Rule** |
467
+ | Project conventions | **Rule** |
468
+ | Deployment procedure | **Skill** or **Workflow** |
469
+ | Code review checklist | **Skill** |
470
+
471
+ ---
472
+
473
+ ## Additional Resources
474
+
475
+ - **Official Documentation**: [docs.windsurf.com](https://docs.windsurf.com)
476
+ - **Skills Specification**: [agentskills.io](https://agentskills.io/home)
477
+ - **Rule Templates**: [windsurf.com/editor/directory](https://windsurf.com/editor/directory)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@every-env/compound-plugin",
3
- "version": "0.8.0",
3
+ "version": "0.12.0",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "bin": {
@@ -275,5 +275,5 @@ Review and enhance the `/docs/index.html` landing page using LaunchKit elements
275
275
 
276
276
  - LaunchKit Template: https://launchkit.evilmartians.io/
277
277
  - Pragmatic Writing Skill: `~/.claude/skills/pragmatic-writing-skill/SKILL.md`
278
- - Current Landing Page: `/Users/kieranklaassen/every-marketplace/docs/index.html`
279
- - Style CSS: `/Users/kieranklaassen/every-marketplace/docs/css/style.css`
278
+ - Current Landing Page: `/Users/kieranklaassen/compound-engineering-plugin/docs/index.html`
279
+ - Style CSS: `/Users/kieranklaassen/compound-engineering-plugin/docs/css/style.css`
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "compound-engineering",
3
- "version": "2.35.0",
4
- "description": "AI-powered development tools. 29 agents, 22 commands, 19 skills, 1 MCP server for code review, research, design, and workflow automation.",
3
+ "version": "2.38.0",
4
+ "description": "AI-powered development tools. 29 agents, 22 commands, 20 skills, 1 MCP server for code review, research, design, and workflow automation.",
5
5
  "author": {
6
6
  "name": "Kieran Klaassen",
7
7
  "email": "kieran@every.to",