openspec-playwright 0.1.63 → 0.1.65
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/.claude/commands/CLAUDE.md +12 -0
- package/.claude/commands/opsx/CLAUDE.md +12 -0
- package/.claude/commands/opsx/e2e-body.md +44 -0
- package/.claude/commands/opsx/e2e.md +51 -0
- package/.claude/skills/CLAUDE.md +12 -0
- package/.claude/skills/openspec-e2e/CLAUDE.md +14 -0
- package/.claude/skills/openspec-e2e/SKILL.md +488 -0
- package/README.md +8 -17
- package/README.zh-CN.md +8 -17
- package/dist/commands/editors.d.ts +1 -3
- package/dist/commands/editors.js +7 -382
- package/dist/commands/editors.js.map +1 -1
- package/dist/commands/init.js +3 -5
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/uninstall.js +2 -4
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +2 -4
- package/dist/commands/update.js.map +1 -1
- package/employee-standards.md +44 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -20,22 +20,13 @@ openspec-pw init # Install Playwright E2E integration
|
|
|
20
20
|
|
|
21
21
|
## Supported AI Coding Assistants
|
|
22
22
|
|
|
23
|
-
Auto-detects and installs commands for all
|
|
23
|
+
Auto-detects and installs commands for all 5 editors OpenSpec supports:
|
|
24
24
|
|
|
25
25
|
| Editor | Path | Editor | Path |
|
|
26
26
|
|--------|------|--------|------|
|
|
27
27
|
| Claude Code | `.claude/` | Gemini CLI | `.gemini/` |
|
|
28
28
|
| Cursor | `.cursor/` | GitHub Copilot | `.github/` |
|
|
29
|
-
|
|
|
30
|
-
| Cline | `.clinerules/` | Kilo Code | `.kilocode/` |
|
|
31
|
-
| Continue | `.continue/` | iFlow | `.iflow/` |
|
|
32
|
-
| Amazon Q | `.amazonq/` | CoStrict | `.cospec/` |
|
|
33
|
-
| Antigravity | `.agent/` | OpenCode | `.opencode/` |
|
|
34
|
-
| Auggie | `.augment/` | Factory | `.factory/` |
|
|
35
|
-
| CodeBuddy | `.codebuddy/` | Pi | `.pi/` |
|
|
36
|
-
| Codex | `~/.codex/` (global) | Qoder | `.qoder/` |
|
|
37
|
-
| Qwen Code | `.qwen/` | RooCode | `.roo/` |
|
|
38
|
-
| Crush | `.crush/` | | |
|
|
29
|
+
| Cline | `.clinerules/` | | |
|
|
39
30
|
|
|
40
31
|
`openspec-pw init` auto-detects editors in your project and installs the right command files. Claude Code gets the full experience (skill + command + Playwright MCP). Other editors get command/workflow files with the complete E2E workflow.
|
|
41
32
|
|
|
@@ -45,7 +36,7 @@ Auto-detects and installs commands for all 23 editors OpenSpec supports:
|
|
|
45
36
|
|
|
46
37
|
```bash
|
|
47
38
|
/opsx:e2e my-feature # Claude Code
|
|
48
|
-
/opsx-e2e my-feature # Cursor,
|
|
39
|
+
/opsx-e2e my-feature # Cursor, Cline, Gemini CLI, GitHub Copilot
|
|
49
40
|
```
|
|
50
41
|
|
|
51
42
|
### CLI Commands
|
|
@@ -101,12 +92,12 @@ openspec-pw uninstall # Remove integration from the project
|
|
|
101
92
|
|
|
102
93
|
1. **Node.js >= 20**
|
|
103
94
|
2. **OpenSpec** initialized: `npm install -g @fission-ai/openspec && openspec init`
|
|
104
|
-
3. **One of
|
|
95
|
+
3. **One of 5 editors**: Claude Code, Cursor, Cline, Gemini CLI, GitHub Copilot (auto-detected)
|
|
105
96
|
4. **Claude Code only**: Playwright MCP — `claude mcp add playwright npx @playwright/mcp@latest`
|
|
106
97
|
|
|
107
98
|
## What `openspec-pw init` Does
|
|
108
99
|
|
|
109
|
-
1. Detects installed AI coding assistants (all
|
|
100
|
+
1. Detects installed AI coding assistants (all 5 supported editors)
|
|
110
101
|
2. Installs E2E command/workflow files for each detected editor
|
|
111
102
|
3. Installs `/openspec-e2e` skill for Claude Code
|
|
112
103
|
4. Installs Playwright MCP globally for Claude Code (via `claude mcp add`)
|
|
@@ -171,9 +162,9 @@ CLI (openspec-pw)
|
|
|
171
162
|
Skill/Commands (per editor)
|
|
172
163
|
├── Claude Code → /opsx:e2e (skill) + /opsx:e2e (command) + MCP
|
|
173
164
|
├── Cursor → /opsx-e2e (command)
|
|
174
|
-
├──
|
|
175
|
-
├──
|
|
176
|
-
└──
|
|
165
|
+
├── Cline → /opsx-e2e (workflow)
|
|
166
|
+
├── Gemini CLI → /opsx-e2e (command)
|
|
167
|
+
└── GitHub Copilot → /opsx-e2e (command)
|
|
177
168
|
|
|
178
169
|
Test Assets (tests/playwright/)
|
|
179
170
|
├── seed.spec.ts → Env validation
|
package/README.zh-CN.md
CHANGED
|
@@ -20,22 +20,13 @@ openspec-pw init # 安装 Playwright E2E 集成
|
|
|
20
20
|
|
|
21
21
|
## 支持的 AI 编码助手
|
|
22
22
|
|
|
23
|
-
自动检测并安装 OpenSpec 支持的全部
|
|
23
|
+
自动检测并安装 OpenSpec 支持的全部 5 个编辑器的命令文件:
|
|
24
24
|
|
|
25
25
|
| 编辑器 | 路径 | 编辑器 | 路径 |
|
|
26
26
|
|--------|------|--------|------|
|
|
27
27
|
| Claude Code | `.claude/` | Gemini CLI | `.gemini/` |
|
|
28
28
|
| Cursor | `.cursor/` | GitHub Copilot | `.github/` |
|
|
29
|
-
|
|
|
30
|
-
| Cline | `.clinerules/` | Kilo Code | `.kilocode/` |
|
|
31
|
-
| Continue | `.continue/` | iFlow | `.iflow/` |
|
|
32
|
-
| Amazon Q | `.amazonq/` | CoStrict | `.cospec/` |
|
|
33
|
-
| Antigravity | `.agent/` | OpenCode | `.opencode/` |
|
|
34
|
-
| Auggie | `.augment/` | Factory | `.factory/` |
|
|
35
|
-
| CodeBuddy | `.codebuddy/` | Pi | `.pi/` |
|
|
36
|
-
| Codex | `~/.codex/` (全局) | Qoder | `.qoder/` |
|
|
37
|
-
| Qwen Code | `.qwen/` | RooCode | `.roo/` |
|
|
38
|
-
| Crush | `.crush/` | | |
|
|
29
|
+
| Cline | `.clinerules/` | | |
|
|
39
30
|
|
|
40
31
|
`openspec-pw init` 会检测项目中安装了哪些编辑器并安装对应文件。Claude Code 获得完整体验(skill + 命令 + Playwright MCP)。其他编辑器获得包含完整 E2E 工作流的命令/工作流文件。
|
|
41
32
|
|
|
@@ -45,7 +36,7 @@ openspec-pw init # 安装 Playwright E2E 集成
|
|
|
45
36
|
|
|
46
37
|
```bash
|
|
47
38
|
/opsx:e2e my-feature # Claude Code
|
|
48
|
-
/opsx-e2e my-feature # Cursor,
|
|
39
|
+
/opsx-e2e my-feature # Cursor, Cline, Gemini CLI, GitHub Copilot
|
|
49
40
|
```
|
|
50
41
|
|
|
51
42
|
### CLI 命令
|
|
@@ -102,12 +93,12 @@ openspec-pw uninstall # 移除项目中的集成
|
|
|
102
93
|
|
|
103
94
|
1. **Node.js >= 20**
|
|
104
95
|
2. **OpenSpec** 已初始化: `npm install -g @fission-ai/openspec && openspec init`
|
|
105
|
-
3. **任一
|
|
96
|
+
3. **任一 5 编辑器**: Claude Code、Cursor、Cline、Gemini CLI、GitHub Copilot(自动检测)
|
|
106
97
|
4. **仅 Claude Code**: Playwright MCP — `claude mcp add playwright npx @playwright/mcp@latest`
|
|
107
98
|
|
|
108
99
|
## `openspec-pw init` 做了什么
|
|
109
100
|
|
|
110
|
-
1. 检测已安装的 AI 编码助手(支持全部
|
|
101
|
+
1. 检测已安装的 AI 编码助手(支持全部 5 个编辑器)
|
|
111
102
|
2. 为每个检测到的编辑器安装 E2E 命令/工作流文件
|
|
112
103
|
3. 为 Claude Code 安装 `/openspec-e2e` skill
|
|
113
104
|
4. 为 Claude Code 全局安装 Playwright MCP(通过 `claude mcp add`)
|
|
@@ -172,9 +163,9 @@ CLI (openspec-pw)
|
|
|
172
163
|
Skill/命令(按编辑器)
|
|
173
164
|
├── Claude Code → /opsx:e2e (skill) + /opsx:e2e (command) + MCP
|
|
174
165
|
├── Cursor → /opsx-e2e (command)
|
|
175
|
-
├──
|
|
176
|
-
├──
|
|
177
|
-
└──
|
|
166
|
+
├── Cline → /opsx-e2e (workflow)
|
|
167
|
+
├── Gemini CLI → /opsx-e2e (command)
|
|
168
|
+
└── GitHub Copilot → /opsx-e2e (command)
|
|
178
169
|
|
|
179
170
|
测试资产 (tests/playwright/)
|
|
180
171
|
├── seed.spec.ts → 环境验证
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Shared YAML escape — matches OpenSpec's escape logic */
|
|
2
2
|
export declare function escapeYamlValue(value: string): string;
|
|
3
|
-
/** Format tags as YAML inline array
|
|
3
|
+
/** Format tags as YAML inline array */
|
|
4
4
|
export declare function formatTagsArray(tags: string[]): string;
|
|
5
5
|
/** Command metadata shared across editors */
|
|
6
6
|
export interface CommandMeta {
|
|
@@ -23,8 +23,6 @@ declare const claudeAdapter: EditorAdapter;
|
|
|
23
23
|
declare const ALL_ADAPTERS: EditorAdapter[];
|
|
24
24
|
/** Detect which editors are installed by checking their config directories */
|
|
25
25
|
export declare function detectEditors(projectRoot: string): EditorAdapter[];
|
|
26
|
-
/** Detect Codex by checking if CODEX_HOME or ~/.codex exists */
|
|
27
|
-
export declare function detectCodex(): EditorAdapter | null;
|
|
28
26
|
/** Build the shared command metadata */
|
|
29
27
|
export declare function buildCommandMeta(body: string): CommandMeta;
|
|
30
28
|
/** Install command files for all detected editors */
|
package/dist/commands/editors.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFileSync, readFileSync } from "fs";
|
|
2
|
-
import { homedir } from "os";
|
|
3
2
|
import { join, dirname, resolve as pathResolve } from "path";
|
|
4
3
|
import chalk from "chalk";
|
|
5
4
|
/** Shared YAML escape — matches OpenSpec's escape logic */
|
|
@@ -14,18 +13,10 @@ export function escapeYamlValue(value) {
|
|
|
14
13
|
}
|
|
15
14
|
return value;
|
|
16
15
|
}
|
|
17
|
-
/** Format tags as YAML inline array
|
|
16
|
+
/** Format tags as YAML inline array */
|
|
18
17
|
export function formatTagsArray(tags) {
|
|
19
18
|
return `[${tags.map((t) => escapeYamlValue(t)).join(", ")}]`;
|
|
20
19
|
}
|
|
21
|
-
/** Format tags as YAML inline array (plain, no escaping) */
|
|
22
|
-
function formatTagsPlain(tags) {
|
|
23
|
-
return `[${tags.join(", ")}]`;
|
|
24
|
-
}
|
|
25
|
-
/** Transform /opsx: to /opsx- for OpenCode */
|
|
26
|
-
function transformToHyphenCommands(text) {
|
|
27
|
-
return text.replace(/\/opsx:/g, "/opsx-");
|
|
28
|
-
}
|
|
29
20
|
// ─── Claude Code ──────────────────────────────────────────────────────────────
|
|
30
21
|
/** Claude Code: .claude/commands/opsx/<id>.md + SKILL.md */
|
|
31
22
|
const claudeAdapter = {
|
|
@@ -66,28 +57,8 @@ ${meta.body}
|
|
|
66
57
|
`;
|
|
67
58
|
},
|
|
68
59
|
};
|
|
69
|
-
// ───
|
|
70
|
-
/**
|
|
71
|
-
const windsurfAdapter = {
|
|
72
|
-
toolId: "windsurf",
|
|
73
|
-
hasSkill: false,
|
|
74
|
-
getCommandPath(id) {
|
|
75
|
-
return join(".windsurf", "workflows", `opsx-${id}.md`);
|
|
76
|
-
},
|
|
77
|
-
formatCommand(meta) {
|
|
78
|
-
return `---
|
|
79
|
-
name: ${escapeYamlValue(meta.name)}
|
|
80
|
-
description: ${escapeYamlValue(meta.description)}
|
|
81
|
-
category: ${escapeYamlValue(meta.category)}
|
|
82
|
-
tags: ${formatTagsArray(meta.tags)}
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
${meta.body}
|
|
86
|
-
`;
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
// ─── Cline ──────────────────────────────────────────────────────────────────
|
|
90
|
-
/** Cline: .clinerules/workflows/opsx-<id>.md — markdown header only */
|
|
60
|
+
// ─── Cline ───────────────────────────────────────────────────────────────────
|
|
61
|
+
/** Cline: .clinerules/workflows/opsx-<id>.md */
|
|
91
62
|
const clineAdapter = {
|
|
92
63
|
toolId: "cline",
|
|
93
64
|
hasSkill: false,
|
|
@@ -103,174 +74,7 @@ ${meta.body}
|
|
|
103
74
|
`;
|
|
104
75
|
},
|
|
105
76
|
};
|
|
106
|
-
// ───
|
|
107
|
-
/** Continue: .continue/prompts/opsx-<id>.prompt */
|
|
108
|
-
const continueAdapter = {
|
|
109
|
-
toolId: "continue",
|
|
110
|
-
hasSkill: false,
|
|
111
|
-
getCommandPath(id) {
|
|
112
|
-
return join(".continue", "prompts", `opsx-${id}.prompt`);
|
|
113
|
-
},
|
|
114
|
-
formatCommand(meta) {
|
|
115
|
-
return `---
|
|
116
|
-
name: opsx-${meta.id}
|
|
117
|
-
description: ${meta.description}
|
|
118
|
-
invokable: true
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
${meta.body}
|
|
122
|
-
`;
|
|
123
|
-
},
|
|
124
|
-
};
|
|
125
|
-
// ─── amazon-q ─────────────────────────────────────────────────────────────
|
|
126
|
-
/** Amazon Q: .amazonq/prompts/opsx-<id>.md */
|
|
127
|
-
const amazonqAdapter = {
|
|
128
|
-
toolId: "amazon-q",
|
|
129
|
-
hasSkill: false,
|
|
130
|
-
getCommandPath(id) {
|
|
131
|
-
return join(".amazonq", "prompts", `opsx-${id}.md`);
|
|
132
|
-
},
|
|
133
|
-
formatCommand(meta) {
|
|
134
|
-
return `---
|
|
135
|
-
description: ${meta.description}
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
${meta.body}
|
|
139
|
-
`;
|
|
140
|
-
},
|
|
141
|
-
};
|
|
142
|
-
// ─── antigravity ──────────────────────────────────────────────────────────
|
|
143
|
-
/** Antigravity: .agent/workflows/opsx-<id>.md */
|
|
144
|
-
const antigravityAdapter = {
|
|
145
|
-
toolId: "antigravity",
|
|
146
|
-
hasSkill: false,
|
|
147
|
-
getCommandPath(id) {
|
|
148
|
-
return join(".agent", "workflows", `opsx-${id}.md`);
|
|
149
|
-
},
|
|
150
|
-
formatCommand(meta) {
|
|
151
|
-
return `---
|
|
152
|
-
description: ${meta.description}
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
${meta.body}
|
|
156
|
-
`;
|
|
157
|
-
},
|
|
158
|
-
};
|
|
159
|
-
// ─── auggie ────────────────────────────────────────────────────────────────
|
|
160
|
-
/** Auggie: .augment/commands/opsx-<id>.md */
|
|
161
|
-
const auggieAdapter = {
|
|
162
|
-
toolId: "auggie",
|
|
163
|
-
hasSkill: false,
|
|
164
|
-
getCommandPath(id) {
|
|
165
|
-
return join(".augment", "commands", `opsx-${id}.md`);
|
|
166
|
-
},
|
|
167
|
-
formatCommand(meta) {
|
|
168
|
-
return `---
|
|
169
|
-
description: ${meta.description}
|
|
170
|
-
argument-hint: command arguments
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
${meta.body}
|
|
174
|
-
`;
|
|
175
|
-
},
|
|
176
|
-
};
|
|
177
|
-
// ─── codebuddy ─────────────────────────────────────────────────────────────
|
|
178
|
-
/** CodeBuddy: .codebuddy/commands/opsx/<id>.md */
|
|
179
|
-
const codebuddyAdapter = {
|
|
180
|
-
toolId: "codebuddy",
|
|
181
|
-
hasSkill: false,
|
|
182
|
-
getCommandPath(id) {
|
|
183
|
-
return join(".codebuddy", "commands", "opsx", `${id}.md`);
|
|
184
|
-
},
|
|
185
|
-
formatCommand(meta) {
|
|
186
|
-
return `---
|
|
187
|
-
name: ${meta.name}
|
|
188
|
-
description: "${meta.description}"
|
|
189
|
-
argument-hint: "[command arguments]"
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
${meta.body}
|
|
193
|
-
`;
|
|
194
|
-
},
|
|
195
|
-
};
|
|
196
|
-
// ─── codex ────────────────────────────────────────────────────────────────
|
|
197
|
-
/** Codex: <CODEX_HOME>/prompts/opsx-<id>.md — global scope */
|
|
198
|
-
const codexAdapter = {
|
|
199
|
-
toolId: "codex",
|
|
200
|
-
hasSkill: false,
|
|
201
|
-
getCommandPath(id) {
|
|
202
|
-
const codexHome = process.env.CODEX_HOME?.trim() || join(homedir(), ".codex");
|
|
203
|
-
// pathResolve: if codexHome is absolute (C:\...), it returns codexHome directly
|
|
204
|
-
// if relative, it resolves against projectRoot
|
|
205
|
-
return pathResolve(codexHome, "prompts", `opsx-${id}.md`);
|
|
206
|
-
},
|
|
207
|
-
formatCommand(meta) {
|
|
208
|
-
return `---
|
|
209
|
-
description: ${meta.description}
|
|
210
|
-
argument-hint: command arguments
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
${meta.body}
|
|
214
|
-
`;
|
|
215
|
-
},
|
|
216
|
-
};
|
|
217
|
-
// ─── costrict ─────────────────────────────────────────────────────────────
|
|
218
|
-
/** CoStrict: .cospec/openspec/commands/opsx-<id>.md */
|
|
219
|
-
const costrictAdapter = {
|
|
220
|
-
toolId: "costrict",
|
|
221
|
-
hasSkill: false,
|
|
222
|
-
getCommandPath(id) {
|
|
223
|
-
return join(".cospec", "openspec", "commands", `opsx-${id}.md`);
|
|
224
|
-
},
|
|
225
|
-
formatCommand(meta) {
|
|
226
|
-
return `---
|
|
227
|
-
description: "${meta.description}"
|
|
228
|
-
argument-hint: command arguments
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
${meta.body}
|
|
232
|
-
`;
|
|
233
|
-
},
|
|
234
|
-
};
|
|
235
|
-
// ─── crush ────────────────────────────────────────────────────────────────
|
|
236
|
-
/** Crush: .crush/commands/opsx/<id>.md — raw values, no escaping */
|
|
237
|
-
const crushAdapter = {
|
|
238
|
-
toolId: "crush",
|
|
239
|
-
hasSkill: false,
|
|
240
|
-
getCommandPath(id) {
|
|
241
|
-
return join(".crush", "commands", "opsx", `${id}.md`);
|
|
242
|
-
},
|
|
243
|
-
formatCommand(meta) {
|
|
244
|
-
return `---
|
|
245
|
-
name: ${meta.name}
|
|
246
|
-
description: ${meta.description}
|
|
247
|
-
category: ${meta.category}
|
|
248
|
-
tags: ${formatTagsPlain(meta.tags)}
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
${meta.body}
|
|
252
|
-
`;
|
|
253
|
-
},
|
|
254
|
-
};
|
|
255
|
-
// ─── factory ───────────────────────────────────────────────────────────────
|
|
256
|
-
/** Factory Droid: .factory/commands/opsx-<id>.md */
|
|
257
|
-
const factoryAdapter = {
|
|
258
|
-
toolId: "factory",
|
|
259
|
-
hasSkill: false,
|
|
260
|
-
getCommandPath(id) {
|
|
261
|
-
return join(".factory", "commands", `opsx-${id}.md`);
|
|
262
|
-
},
|
|
263
|
-
formatCommand(meta) {
|
|
264
|
-
return `---
|
|
265
|
-
description: ${meta.description}
|
|
266
|
-
argument-hint: command arguments
|
|
267
|
-
---
|
|
268
|
-
|
|
269
|
-
${meta.body}
|
|
270
|
-
`;
|
|
271
|
-
},
|
|
272
|
-
};
|
|
273
|
-
// ─── gemini ────────────────────────────────────────────────────────────────
|
|
77
|
+
// ─── Gemini CLI ──────────────────────────────────────────────────────────────
|
|
274
78
|
/** Gemini CLI: .gemini/commands/opsx/<id>.toml */
|
|
275
79
|
const geminiAdapter = {
|
|
276
80
|
toolId: "gemini",
|
|
@@ -287,7 +91,7 @@ ${meta.body}
|
|
|
287
91
|
`;
|
|
288
92
|
},
|
|
289
93
|
};
|
|
290
|
-
// ───
|
|
94
|
+
// ─── GitHub Copilot ────────────────────────────────────────────────────────
|
|
291
95
|
/** GitHub Copilot: .github/prompts/opsx-<id>.prompt.md */
|
|
292
96
|
const githubcopilotAdapter = {
|
|
293
97
|
toolId: "github-copilot",
|
|
@@ -300,145 +104,6 @@ const githubcopilotAdapter = {
|
|
|
300
104
|
description: ${meta.description}
|
|
301
105
|
---
|
|
302
106
|
|
|
303
|
-
${meta.body}
|
|
304
|
-
`;
|
|
305
|
-
},
|
|
306
|
-
};
|
|
307
|
-
// ─── iflow ────────────────────────────────────────────────────────────────
|
|
308
|
-
/** iFlow: .iflow/commands/opsx-<id>.md */
|
|
309
|
-
const iflowAdapter = {
|
|
310
|
-
toolId: "iflow",
|
|
311
|
-
hasSkill: false,
|
|
312
|
-
getCommandPath(id) {
|
|
313
|
-
return join(".iflow", "commands", `opsx-${id}.md`);
|
|
314
|
-
},
|
|
315
|
-
formatCommand(meta) {
|
|
316
|
-
return `---
|
|
317
|
-
name: /opsx-${meta.id}
|
|
318
|
-
id: opsx-${meta.id}
|
|
319
|
-
category: ${meta.category}
|
|
320
|
-
description: ${meta.description}
|
|
321
|
-
---
|
|
322
|
-
|
|
323
|
-
${meta.body}
|
|
324
|
-
`;
|
|
325
|
-
},
|
|
326
|
-
};
|
|
327
|
-
// ─── kilocode ────────────────────────────────────────────────────────────
|
|
328
|
-
/** Kilo Code: .kilocode/workflows/opsx-<id>.md — body only */
|
|
329
|
-
const kilocodeAdapter = {
|
|
330
|
-
toolId: "kilocode",
|
|
331
|
-
hasSkill: false,
|
|
332
|
-
getCommandPath(id) {
|
|
333
|
-
return join(".kilocode", "workflows", `opsx-${id}.md`);
|
|
334
|
-
},
|
|
335
|
-
formatCommand(meta) {
|
|
336
|
-
return `${meta.body}
|
|
337
|
-
`;
|
|
338
|
-
},
|
|
339
|
-
};
|
|
340
|
-
// ─── kiro ─────────────────────────────────────────────────────────────────
|
|
341
|
-
/** Kiro: .kiro/prompts/opsx-<id>.prompt.md */
|
|
342
|
-
const kiroAdapter = {
|
|
343
|
-
toolId: "kiro",
|
|
344
|
-
hasSkill: false,
|
|
345
|
-
getCommandPath(id) {
|
|
346
|
-
return join(".kiro", "prompts", `opsx-${id}.prompt.md`);
|
|
347
|
-
},
|
|
348
|
-
formatCommand(meta) {
|
|
349
|
-
return `---
|
|
350
|
-
description: ${meta.description}
|
|
351
|
-
---
|
|
352
|
-
|
|
353
|
-
${meta.body}
|
|
354
|
-
`;
|
|
355
|
-
},
|
|
356
|
-
};
|
|
357
|
-
// ─── opencode ─────────────────────────────────────────────────────────────
|
|
358
|
-
/** OpenCode: .opencode/commands/opsx-<id>.md — transforms /opsx: to /opsx- */
|
|
359
|
-
const opencodeAdapter = {
|
|
360
|
-
toolId: "opencode",
|
|
361
|
-
hasSkill: false,
|
|
362
|
-
getCommandPath(id) {
|
|
363
|
-
return join(".opencode", "commands", `opsx-${id}.md`);
|
|
364
|
-
},
|
|
365
|
-
formatCommand(meta) {
|
|
366
|
-
const transformed = transformToHyphenCommands(meta.body);
|
|
367
|
-
return `---
|
|
368
|
-
description: ${meta.description}
|
|
369
|
-
---
|
|
370
|
-
|
|
371
|
-
${transformed}
|
|
372
|
-
`;
|
|
373
|
-
},
|
|
374
|
-
};
|
|
375
|
-
// ─── pi ──────────────────────────────────────────────────────────────────
|
|
376
|
-
/** Pi: .pi/prompts/opsx-<id>.md */
|
|
377
|
-
const piAdapter = {
|
|
378
|
-
toolId: "pi",
|
|
379
|
-
hasSkill: false,
|
|
380
|
-
getCommandPath(id) {
|
|
381
|
-
return join(".pi", "prompts", `opsx-${id}.md`);
|
|
382
|
-
},
|
|
383
|
-
formatCommand(meta) {
|
|
384
|
-
return `---
|
|
385
|
-
description: ${escapeYamlValue(meta.description)}
|
|
386
|
-
---
|
|
387
|
-
|
|
388
|
-
${meta.body}
|
|
389
|
-
`;
|
|
390
|
-
},
|
|
391
|
-
};
|
|
392
|
-
// ─── qoder ────────────────────────────────────────────────────────────────
|
|
393
|
-
/** Qoder: .qoder/commands/opsx/<id>.md — raw values, no escaping */
|
|
394
|
-
const qoderAdapter = {
|
|
395
|
-
toolId: "qoder",
|
|
396
|
-
hasSkill: false,
|
|
397
|
-
getCommandPath(id) {
|
|
398
|
-
return join(".qoder", "commands", "opsx", `${id}.md`);
|
|
399
|
-
},
|
|
400
|
-
formatCommand(meta) {
|
|
401
|
-
return `---
|
|
402
|
-
name: ${meta.name}
|
|
403
|
-
description: ${meta.description}
|
|
404
|
-
category: ${meta.category}
|
|
405
|
-
tags: ${formatTagsPlain(meta.tags)}
|
|
406
|
-
---
|
|
407
|
-
|
|
408
|
-
${meta.body}
|
|
409
|
-
`;
|
|
410
|
-
},
|
|
411
|
-
};
|
|
412
|
-
// ─── qwen ────────────────────────────────────────────────────────────────
|
|
413
|
-
/** Qwen Code: .qwen/commands/opsx-<id>.toml */
|
|
414
|
-
const qwenAdapter = {
|
|
415
|
-
toolId: "qwen",
|
|
416
|
-
hasSkill: false,
|
|
417
|
-
getCommandPath(id) {
|
|
418
|
-
return join(".qwen", "commands", `opsx-${id}.toml`);
|
|
419
|
-
},
|
|
420
|
-
formatCommand(meta) {
|
|
421
|
-
return `description = "${meta.description}"
|
|
422
|
-
|
|
423
|
-
prompt = """
|
|
424
|
-
${meta.body}
|
|
425
|
-
"""
|
|
426
|
-
`;
|
|
427
|
-
},
|
|
428
|
-
};
|
|
429
|
-
// ─── roocode ─────────────────────────────────────────────────────────────
|
|
430
|
-
/** RooCode: .roo/commands/opsx-<id>.md — markdown header */
|
|
431
|
-
const roocodeAdapter = {
|
|
432
|
-
toolId: "roocode",
|
|
433
|
-
hasSkill: false,
|
|
434
|
-
getCommandPath(id) {
|
|
435
|
-
return join(".roo", "commands", `opsx-${id}.md`);
|
|
436
|
-
},
|
|
437
|
-
formatCommand(meta) {
|
|
438
|
-
return `# ${meta.name}
|
|
439
|
-
|
|
440
|
-
${meta.description}
|
|
441
|
-
|
|
442
107
|
${meta.body}
|
|
443
108
|
`;
|
|
444
109
|
},
|
|
@@ -447,64 +112,23 @@ ${meta.body}
|
|
|
447
112
|
const ALL_ADAPTERS = [
|
|
448
113
|
claudeAdapter,
|
|
449
114
|
cursorAdapter,
|
|
450
|
-
windsurfAdapter,
|
|
451
115
|
clineAdapter,
|
|
452
|
-
continueAdapter,
|
|
453
|
-
amazonqAdapter,
|
|
454
|
-
antigravityAdapter,
|
|
455
|
-
auggieAdapter,
|
|
456
|
-
codebuddyAdapter,
|
|
457
|
-
codexAdapter,
|
|
458
|
-
costrictAdapter,
|
|
459
|
-
crushAdapter,
|
|
460
|
-
factoryAdapter,
|
|
461
116
|
geminiAdapter,
|
|
462
117
|
githubcopilotAdapter,
|
|
463
|
-
iflowAdapter,
|
|
464
|
-
kilocodeAdapter,
|
|
465
|
-
kiroAdapter,
|
|
466
|
-
opencodeAdapter,
|
|
467
|
-
piAdapter,
|
|
468
|
-
qoderAdapter,
|
|
469
|
-
qwenAdapter,
|
|
470
|
-
roocodeAdapter,
|
|
471
118
|
];
|
|
472
119
|
/** Detect which editors are installed by checking their config directories */
|
|
473
120
|
export function detectEditors(projectRoot) {
|
|
474
121
|
const checks = [
|
|
475
122
|
[".claude", claudeAdapter],
|
|
476
123
|
[".cursor", cursorAdapter],
|
|
477
|
-
[".windsurf", windsurfAdapter],
|
|
478
124
|
[".clinerules", clineAdapter],
|
|
479
|
-
[".continue", continueAdapter],
|
|
480
|
-
[".amazonq", amazonqAdapter],
|
|
481
|
-
[".agent", antigravityAdapter],
|
|
482
|
-
[".augment", auggieAdapter],
|
|
483
|
-
[".codebuddy", codebuddyAdapter],
|
|
484
|
-
[".cospec", costrictAdapter],
|
|
485
|
-
[".crush", crushAdapter],
|
|
486
|
-
[".factory", factoryAdapter],
|
|
487
125
|
[".gemini", geminiAdapter],
|
|
488
126
|
[".github", githubcopilotAdapter],
|
|
489
|
-
[".iflow", iflowAdapter],
|
|
490
|
-
[".kilocode", kilocodeAdapter],
|
|
491
|
-
[".kiro", kiroAdapter],
|
|
492
|
-
[".opencode", opencodeAdapter],
|
|
493
|
-
[".pi", piAdapter],
|
|
494
|
-
[".qoder", qoderAdapter],
|
|
495
|
-
[".qwen", qwenAdapter],
|
|
496
|
-
[".roo", roocodeAdapter],
|
|
497
127
|
];
|
|
498
128
|
return checks
|
|
499
129
|
.filter(([dir]) => existsSync(join(projectRoot, dir)))
|
|
500
130
|
.map(([, adapter]) => adapter);
|
|
501
131
|
}
|
|
502
|
-
// ─── Codex is global — detect separately ─────────────────────────────────
|
|
503
|
-
/** Detect Codex by checking if CODEX_HOME or ~/.codex exists */
|
|
504
|
-
export function detectCodex() {
|
|
505
|
-
const codexHome = process.env.CODEX_HOME?.trim() || join(homedir(), ".codex");
|
|
506
|
-
return existsSync(codexHome) ? codexAdapter : null;
|
|
507
|
-
}
|
|
508
132
|
// ─── Install helpers ───────────────────────────────────────────────────────
|
|
509
133
|
/** Build the shared command metadata */
|
|
510
134
|
export function buildCommandMeta(body) {
|
|
@@ -563,7 +187,8 @@ export function installProjectClaudeMd(projectRoot, standardsContent) {
|
|
|
563
187
|
}
|
|
564
188
|
else {
|
|
565
189
|
// No existing CLAUDE.md, create from template
|
|
566
|
-
const
|
|
190
|
+
const projName = projectRoot.split("/").pop() ?? "Project";
|
|
191
|
+
const content = `# ${projName}\n\n${standardsContent}\n`;
|
|
567
192
|
writeFileSync(dest, content);
|
|
568
193
|
console.log(chalk.green(" ✓ CLAUDE.md: created with employee-grade standards"));
|
|
569
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editors.js","sourceRoot":"","sources":["../../src/commands/editors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,2DAA2D;AAC3D,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,YAAY,GAAG,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,KAAK;aAClB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzB,OAAO,IAAI,OAAO,GAAG,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC/D,CAAC;AAED,4DAA4D;AAC5D,SAAS,eAAe,CAAC,IAAc;IACrC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAChC,CAAC;AAED,8CAA8C;AAC9C,SAAS,yBAAyB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAoBD,iFAAiF;AAEjF,4DAA4D;AAC5D,MAAM,aAAa,GAAkB;IACnC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,IAAI;IACd,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;QACH,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;eACnB,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGhC,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,+EAA+E;AAE/E,4CAA4C;AAC5C,MAAM,aAAa,GAAkB;IACnC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;cACG,IAAI,CAAC,EAAE;WACV,IAAI,CAAC,EAAE;YACN,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;eAC3B,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;;;EAG9C,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,gFAAgF;AAEhF,iDAAiD;AACjD,MAAM,eAAe,GAAkB;IACrC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;QACH,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;eACnB,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGhC,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,+EAA+E;AAE/E,uEAAuE;AACvE,MAAM,YAAY,GAAkB;IAClC,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO,KAAK,IAAI,CAAC,IAAI;;EAEvB,IAAI,CAAC,WAAW;;EAEhB,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,gFAAgF;AAEhF,mDAAmD;AACnD,MAAM,eAAe,GAAkB;IACrC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;aACE,IAAI,CAAC,EAAE;eACL,IAAI,CAAC,WAAW;;;;EAI7B,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,6EAA6E;AAE7E,8CAA8C;AAC9C,MAAM,cAAc,GAAkB;IACpC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;eACI,IAAI,CAAC,WAAW;;;EAG7B,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,6EAA6E;AAE7E,iDAAiD;AACjD,MAAM,kBAAkB,GAAkB;IACxC,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;eACI,IAAI,CAAC,WAAW;;;EAG7B,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,8EAA8E;AAE9E,6CAA6C;AAC7C,MAAM,aAAa,GAAkB;IACnC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;eACI,IAAI,CAAC,WAAW;;;;EAI7B,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,8EAA8E;AAE9E,kDAAkD;AAClD,MAAM,gBAAgB,GAAkB;IACtC,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;QACH,IAAI,CAAC,IAAI;gBACD,IAAI,CAAC,WAAW;;;;EAI9B,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,6EAA6E;AAE7E,8DAA8D;AAC9D,MAAM,YAAY,GAAkB;IAClC,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC9D,gFAAgF;QAChF,+CAA+C;QAC/C,OAAO,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;eACI,IAAI,CAAC,WAAW;;;;EAI7B,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,6EAA6E;AAE7E,uDAAuD;AACvD,MAAM,eAAe,GAAkB;IACrC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;gBACK,IAAI,CAAC,WAAW;;;;EAI9B,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,6EAA6E;AAE7E,oEAAoE;AACpE,MAAM,YAAY,GAAkB;IAClC,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;QACH,IAAI,CAAC,IAAI;eACF,IAAI,CAAC,WAAW;YACnB,IAAI,CAAC,QAAQ;QACjB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGhC,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,8EAA8E;AAE9E,oDAAoD;AACpD,MAAM,cAAc,GAAkB;IACpC,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;eACI,IAAI,CAAC,WAAW;;;;EAI7B,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,8EAA8E;AAE9E,kDAAkD;AAClD,MAAM,aAAa,GAAkB;IACnC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO,kBAAkB,IAAI,CAAC,WAAW;;;EAG3C,IAAI,CAAC,IAAI;;CAEV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,8EAA8E;AAE9E,0DAA0D;AAC1D,MAAM,oBAAoB,GAAkB;IAC1C,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;eACI,IAAI,CAAC,WAAW;;;EAG7B,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,6EAA6E;AAE7E,0CAA0C;AAC1C,MAAM,YAAY,GAAkB;IAClC,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;cACG,IAAI,CAAC,EAAE;WACV,IAAI,CAAC,EAAE;YACN,IAAI,CAAC,QAAQ;eACV,IAAI,CAAC,WAAW;;;EAG7B,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,4EAA4E;AAE5E,8DAA8D;AAC9D,MAAM,eAAe,GAAkB;IACrC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO,GAAG,IAAI,CAAC,IAAI;CACtB,CAAC;IACA,CAAC;CACF,CAAC;AAEF,6EAA6E;AAE7E,8CAA8C;AAC9C,MAAM,WAAW,GAAkB;IACjC,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;eACI,IAAI,CAAC,WAAW;;;EAG7B,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,6EAA6E;AAE7E,8EAA8E;AAC9E,MAAM,eAAe,GAAkB;IACrC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO;eACI,IAAI,CAAC,WAAW;;;EAG7B,WAAW;CACZ,CAAC;IACA,CAAC;CACF,CAAC;AAEF,4EAA4E;AAE5E,mCAAmC;AACnC,MAAM,SAAS,GAAkB;IAC/B,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;eACI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;;;EAG9C,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,6EAA6E;AAE7E,oEAAoE;AACpE,MAAM,YAAY,GAAkB;IAClC,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO;QACH,IAAI,CAAC,IAAI;eACF,IAAI,CAAC,WAAW;YACnB,IAAI,CAAC,QAAQ;QACjB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGhC,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,4EAA4E;AAE5E,+CAA+C;AAC/C,MAAM,WAAW,GAAkB;IACjC,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO,kBAAkB,IAAI,CAAC,WAAW;;;EAG3C,IAAI,CAAC,IAAI;;CAEV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,4EAA4E;AAE5E,4DAA4D;AAC5D,MAAM,cAAc,GAAkB;IACpC,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,KAAK;IACf,cAAc,CAAC,EAAE;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,aAAa,CAAC,IAAI;QAChB,OAAO,KAAK,IAAI,CAAC,IAAI;;EAEvB,IAAI,CAAC,WAAW;;EAEhB,IAAI,CAAC,IAAI;CACV,CAAC;IACA,CAAC;CACF,CAAC;AAEF,4EAA4E;AAE5E,MAAM,YAAY,GAAoB;IACpC,aAAa;IACb,aAAa;IACb,eAAe;IACf,YAAY;IACZ,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,cAAc;IACd,aAAa;IACb,oBAAoB;IACpB,YAAY;IACZ,eAAe;IACf,WAAW;IACX,eAAe;IACf,SAAS;IACT,YAAY;IACZ,WAAW;IACX,cAAc;CACf,CAAC;AAEF,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,MAAM,MAAM,GAAmC;QAC7C,CAAC,SAAS,EAAE,aAAa,CAAC;QAC1B,CAAC,SAAS,EAAE,aAAa,CAAC;QAC1B,CAAC,WAAW,EAAE,eAAe,CAAC;QAC9B,CAAC,aAAa,EAAE,YAAY,CAAC;QAC7B,CAAC,WAAW,EAAE,eAAe,CAAC;QAC9B,CAAC,UAAU,EAAE,cAAc,CAAC;QAC5B,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QAC9B,CAAC,UAAU,EAAE,aAAa,CAAC;QAC3B,CAAC,YAAY,EAAE,gBAAgB,CAAC;QAChC,CAAC,SAAS,EAAE,eAAe,CAAC;QAC5B,CAAC,QAAQ,EAAE,YAAY,CAAC;QACxB,CAAC,UAAU,EAAE,cAAc,CAAC;QAC5B,CAAC,SAAS,EAAE,aAAa,CAAC;QAC1B,CAAC,SAAS,EAAE,oBAAoB,CAAC;QACjC,CAAC,QAAQ,EAAE,YAAY,CAAC;QACxB,CAAC,WAAW,EAAE,eAAe,CAAC;QAC9B,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,WAAW,EAAE,eAAe,CAAC;QAC9B,CAAC,KAAK,EAAE,SAAS,CAAC;QAClB,CAAC,QAAQ,EAAE,YAAY,CAAC;QACxB,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,MAAM,EAAE,cAAc,CAAC;KACzB,CAAC;IAEF,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;SACrD,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,4EAA4E;AAE5E,gEAAgE;AAChE,MAAM,UAAU,WAAW;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC9E,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,8EAA8E;AAE9E,wCAAwC;AACxC,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO;QACL,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,wDAAwD;QACrE,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC;QAClD,IAAI;KACL,CAAC;AACJ,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,QAAyB,EACzB,WAAmB;IAEnB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,YAAoB;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,gBAAwB;IAExB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,MAAM,EAAE,CAAC;QACX,qDAAqD;QACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,yBAAyB,CAAC;QAC9C,MAAM,SAAS,GAAG,uBAAuB,CAAC;QAE1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,4BAA4B;YAC5B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CACpE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GACX,QAAQ,CAAC,IAAI,EAAE;gBACf,MAAM;gBACN,WAAW;gBACX,MAAM;gBACN,gBAAgB;gBAChB,MAAM;gBACN,SAAS;gBACT,IAAI,CAAC;YACP,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,MAAM,OAAO,GAAG,KAAK,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;QAC3E,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,sDAAsD,CAAC,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"editors.js","sourceRoot":"","sources":["../../src/commands/editors.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -6,7 +6,7 @@ import { fileURLToPath } from "url";
|
|
|
6
6
|
import chalk from "chalk";
|
|
7
7
|
import { readFile } from "fs/promises";
|
|
8
8
|
import { syncMcpTools } from "./mcpSync.js";
|
|
9
|
-
import { detectEditors,
|
|
9
|
+
import { detectEditors, installForAllEditors, installSkill, installProjectClaudeMd, readEmployeeStandards, claudeAdapter, } from "./editors.js";
|
|
10
10
|
const TEMPLATE_DIR = fileURLToPath(new URL("../../templates", import.meta.url));
|
|
11
11
|
const SCHEMA_DIR = fileURLToPath(new URL("../../schemas", import.meta.url));
|
|
12
12
|
const SKILL_SRC = fileURLToPath(new URL("../../.claude/skills/openspec-e2e/SKILL.md", import.meta.url));
|
|
@@ -68,11 +68,9 @@ export async function init(options) {
|
|
|
68
68
|
// 4. Install E2E commands for detected editors
|
|
69
69
|
console.log(chalk.blue("\n─── Installing E2E Commands ───"));
|
|
70
70
|
const detected = detectEditors(projectRoot);
|
|
71
|
-
|
|
72
|
-
const adapters = codex ? [...detected, codex] : detected;
|
|
73
|
-
if (adapters.length > 0) {
|
|
71
|
+
if (detected.length > 0) {
|
|
74
72
|
const body = await readFile(CMD_BODY_SRC, "utf-8");
|
|
75
|
-
installForAllEditors(body,
|
|
73
|
+
installForAllEditors(body, detected, projectRoot);
|
|
76
74
|
}
|
|
77
75
|
else {
|
|
78
76
|
const body = await readFile(CMD_BODY_SRC, "utf-8");
|