patchcord 0.3.31 → 0.3.32
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/bin/patchcord.mjs +52 -18
- package/package.json +1 -1
package/bin/patchcord.mjs
CHANGED
|
@@ -109,29 +109,58 @@ if (!cmd || cmd === "install" || cmd === "agent") {
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
// Cursor
|
|
112
|
-
const cursorSkillDir = join(process.env.HOME || "", ".cursor", "skills-cursor", "patchcord");
|
|
113
112
|
const cursorSkillsRoot = join(process.env.HOME || "", ".cursor", "skills-cursor");
|
|
114
|
-
if (existsSync(cursorSkillsRoot)
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
113
|
+
if (existsSync(cursorSkillsRoot)) {
|
|
114
|
+
const cursorSkillDir = join(cursorSkillsRoot, "patchcord");
|
|
115
|
+
const cursorWaitDir = join(cursorSkillsRoot, "patchcord-wait");
|
|
116
|
+
let cursorChanged = false;
|
|
117
|
+
if (!existsSync(cursorSkillDir)) {
|
|
118
|
+
mkdirSync(cursorSkillDir, { recursive: true });
|
|
119
|
+
cpSync(join(pluginRoot, "skills", "inbox", "SKILL.md"), join(cursorSkillDir, "SKILL.md"));
|
|
120
|
+
cursorChanged = true;
|
|
121
|
+
}
|
|
122
|
+
if (!existsSync(cursorWaitDir)) {
|
|
123
|
+
mkdirSync(cursorWaitDir, { recursive: true });
|
|
124
|
+
cpSync(join(pluginRoot, "skills", "wait", "SKILL.md"), join(cursorWaitDir, "SKILL.md"));
|
|
125
|
+
cursorChanged = true;
|
|
126
|
+
}
|
|
127
|
+
if (cursorChanged) globalChanges.push("Cursor skills installed");
|
|
118
128
|
}
|
|
119
129
|
|
|
120
130
|
// Windsurf
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
131
|
+
if (existsSync(join(process.env.HOME || "", ".codeium", "windsurf"))) {
|
|
132
|
+
const windsurfSkillDir = join(process.env.HOME || "", ".codeium", "windsurf", "skills", "patchcord");
|
|
133
|
+
const windsurfWaitDir = join(process.env.HOME || "", ".codeium", "windsurf", "skills", "patchcord-wait");
|
|
134
|
+
let windsurfChanged = false;
|
|
135
|
+
if (!existsSync(windsurfSkillDir)) {
|
|
136
|
+
mkdirSync(windsurfSkillDir, { recursive: true });
|
|
137
|
+
cpSync(join(pluginRoot, "skills", "inbox", "SKILL.md"), join(windsurfSkillDir, "SKILL.md"));
|
|
138
|
+
windsurfChanged = true;
|
|
139
|
+
}
|
|
140
|
+
if (!existsSync(windsurfWaitDir)) {
|
|
141
|
+
mkdirSync(windsurfWaitDir, { recursive: true });
|
|
142
|
+
cpSync(join(pluginRoot, "skills", "wait", "SKILL.md"), join(windsurfWaitDir, "SKILL.md"));
|
|
143
|
+
windsurfChanged = true;
|
|
144
|
+
}
|
|
145
|
+
if (windsurfChanged) globalChanges.push("Windsurf skills installed");
|
|
127
146
|
}
|
|
128
147
|
|
|
129
148
|
// Gemini CLI
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
149
|
+
if (existsSync(join(process.env.HOME || "", ".gemini"))) {
|
|
150
|
+
const geminiSkillDir = join(process.env.HOME || "", ".gemini", "skills", "patchcord");
|
|
151
|
+
const geminiWaitDir = join(process.env.HOME || "", ".gemini", "skills", "patchcord-wait");
|
|
152
|
+
let geminiChanged = false;
|
|
153
|
+
if (!existsSync(geminiSkillDir)) {
|
|
154
|
+
mkdirSync(geminiSkillDir, { recursive: true });
|
|
155
|
+
cpSync(join(pluginRoot, "skills", "inbox", "SKILL.md"), join(geminiSkillDir, "SKILL.md"));
|
|
156
|
+
geminiChanged = true;
|
|
157
|
+
}
|
|
158
|
+
if (!existsSync(geminiWaitDir)) {
|
|
159
|
+
mkdirSync(geminiWaitDir, { recursive: true });
|
|
160
|
+
cpSync(join(pluginRoot, "skills", "wait", "SKILL.md"), join(geminiWaitDir, "SKILL.md"));
|
|
161
|
+
geminiChanged = true;
|
|
162
|
+
}
|
|
163
|
+
if (geminiChanged) globalChanges.push("Gemini CLI skills installed");
|
|
135
164
|
}
|
|
136
165
|
|
|
137
166
|
// Codex CLI
|
|
@@ -417,9 +446,14 @@ if (!cmd || cmd === "install" || cmd === "agent") {
|
|
|
417
446
|
mkdirSync(join(process.env.HOME || "", ".codeium", "windsurf"), { recursive: true });
|
|
418
447
|
writeFileSync(wsPath, JSON.stringify(wsConfig, null, 2) + "\n");
|
|
419
448
|
}
|
|
449
|
+
// Install workflows as slash commands (.windsurf/workflows/) — per-project
|
|
450
|
+
const wsWorkflowDir = join(cwd, ".windsurf", "workflows");
|
|
451
|
+
mkdirSync(wsWorkflowDir, { recursive: true });
|
|
452
|
+
cpSync(join(pluginRoot, "skills", "inbox", "SKILL.md"), join(wsWorkflowDir, "patchcord.md"));
|
|
453
|
+
cpSync(join(pluginRoot, "skills", "wait", "SKILL.md"), join(wsWorkflowDir, "patchcord-wait.md"));
|
|
420
454
|
console.log(`\n ${green}✓${r} Windsurf configured: ${dim}${wsPath}${r}`);
|
|
421
|
-
console.log(` ${
|
|
422
|
-
console.log(` ${
|
|
455
|
+
console.log(` ${green}✓${r} Workflows installed: ${dim}/patchcord${r}, ${dim}/patchcord-wait${r}`);
|
|
456
|
+
console.log(` ${yellow}MCP config is global — all Windsurf projects share this agent.${r}`);
|
|
423
457
|
} else if (isGemini) {
|
|
424
458
|
// Gemini CLI: global only (~/.gemini/settings.json)
|
|
425
459
|
const geminiPath = join(process.env.HOME || "", ".gemini", "settings.json");
|