coder-config 0.44.3 → 0.44.4
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/lib/constants.js +1 -1
- package/package.json +1 -1
- package/ui/routes/loops.js +17 -7
package/lib/constants.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "coder-config",
|
|
3
|
-
"version": "0.44.
|
|
3
|
+
"version": "0.44.4",
|
|
4
4
|
"description": "Configuration manager for AI coding tools - Claude Code, Gemini CLI, Codex CLI, Antigravity. Manage MCPs, rules, permissions, memory, and workstreams.",
|
|
5
5
|
"author": "regression.io",
|
|
6
6
|
"main": "config-loader.js",
|
package/ui/routes/loops.js
CHANGED
|
@@ -355,6 +355,7 @@ async function installRalphLoopPlugin() {
|
|
|
355
355
|
/**
|
|
356
356
|
* Fix the ralph-loop plugin structure by converting commands to skills format
|
|
357
357
|
* Claude Code expects skills/<name>/SKILL.md, but the plugin has commands/<name>.md
|
|
358
|
+
* Also fixes frontmatter issues (hide-from-slash-command-tool -> name)
|
|
358
359
|
*/
|
|
359
360
|
function fixRalphLoopPluginStructure() {
|
|
360
361
|
const pluginCacheDir = path.join(os.homedir(), '.claude', 'plugins', 'cache', 'claude-plugins-official', 'ralph-loop');
|
|
@@ -378,6 +379,11 @@ function fixRalphLoopPluginStructure() {
|
|
|
378
379
|
continue;
|
|
379
380
|
}
|
|
380
381
|
|
|
382
|
+
// Remove old symlink if it exists
|
|
383
|
+
if (fs.existsSync(skillsDir) && fs.lstatSync(skillsDir).isSymbolicLink()) {
|
|
384
|
+
fs.unlinkSync(skillsDir);
|
|
385
|
+
}
|
|
386
|
+
|
|
381
387
|
// Create skills directory if it doesn't exist
|
|
382
388
|
if (!fs.existsSync(skillsDir)) {
|
|
383
389
|
fs.mkdirSync(skillsDir, { recursive: true });
|
|
@@ -391,19 +397,23 @@ function fixRalphLoopPluginStructure() {
|
|
|
391
397
|
const skillDir = path.join(skillsDir, skillName);
|
|
392
398
|
const skillFile = path.join(skillDir, 'SKILL.md');
|
|
393
399
|
|
|
394
|
-
// Skip if skill already exists
|
|
395
|
-
if (fs.existsSync(skillFile)) {
|
|
396
|
-
continue;
|
|
397
|
-
}
|
|
398
|
-
|
|
399
400
|
// Create skill directory
|
|
400
401
|
if (!fs.existsSync(skillDir)) {
|
|
401
402
|
fs.mkdirSync(skillDir, { recursive: true });
|
|
402
403
|
}
|
|
403
404
|
|
|
404
|
-
//
|
|
405
|
+
// Read command file content
|
|
405
406
|
const cmdPath = path.join(commandsDir, cmdFile);
|
|
406
|
-
fs.
|
|
407
|
+
let content = fs.readFileSync(cmdPath, 'utf8');
|
|
408
|
+
|
|
409
|
+
// Fix frontmatter: replace hide-from-slash-command-tool with name
|
|
410
|
+
content = content.replace(
|
|
411
|
+
/hide-from-slash-command-tool:\s*["']true["']/g,
|
|
412
|
+
`name: ${skillName}`
|
|
413
|
+
);
|
|
414
|
+
|
|
415
|
+
// Write skill file (always overwrite to ensure fix is applied)
|
|
416
|
+
fs.writeFileSync(skillFile, content, 'utf8');
|
|
407
417
|
}
|
|
408
418
|
}
|
|
409
419
|
}
|