@lifeaitools/rdc-skills 0.9.18 → 0.9.19
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/package.json
CHANGED
|
@@ -639,6 +639,42 @@ async function main() {
|
|
|
639
639
|
info('[2.5] Codex — skipped (no .agents/ found; use --codex-root <path>)');
|
|
640
640
|
}
|
|
641
641
|
|
|
642
|
+
// 2.7. Symlinks in regen-root/.claude/skills/ (FS MCP + claude.ai access)
|
|
643
|
+
if (codexRoot) {
|
|
644
|
+
const skillsLinkDir = path.join(codexRoot, '.claude', 'skills');
|
|
645
|
+
const skillsSrc = path.join(repoRoot, 'skills');
|
|
646
|
+
fs.mkdirSync(skillsLinkDir, { recursive: true });
|
|
647
|
+
let linked = 0;
|
|
648
|
+
for (const entry of fs.readdirSync(skillsSrc, { withFileTypes: true })) {
|
|
649
|
+
if (!entry.isDirectory()) continue;
|
|
650
|
+
if (!fs.existsSync(path.join(skillsSrc, entry.name, 'SKILL.md'))) continue;
|
|
651
|
+
const linkPath = path.join(skillsLinkDir, entry.name);
|
|
652
|
+
const target = path.join(skillsSrc, entry.name);
|
|
653
|
+
try {
|
|
654
|
+
if (fs.existsSync(linkPath) || (() => { try { fs.lstatSync(linkPath); return true; } catch { return false; } })()) {
|
|
655
|
+
fs.rmSync(linkPath, { recursive: true, force: true });
|
|
656
|
+
}
|
|
657
|
+
} catch {}
|
|
658
|
+
try {
|
|
659
|
+
if (process.platform === 'win32') {
|
|
660
|
+
const winLink = linkPath.replace(/\//g, '\\');
|
|
661
|
+
const winTarget = target.replace(/\//g, '\\');
|
|
662
|
+
execSync(`cmd /c mklink /J "${winLink}" "${winTarget}"`, { stdio: 'pipe' });
|
|
663
|
+
} else {
|
|
664
|
+
fs.symlinkSync(target, linkPath, 'dir');
|
|
665
|
+
}
|
|
666
|
+
linked++;
|
|
667
|
+
} catch {}
|
|
668
|
+
}
|
|
669
|
+
if (linked > 0) {
|
|
670
|
+
ok(`[2.7] Symlinks — ${linked} skill link(s) in ${skillsLinkDir}`);
|
|
671
|
+
} else {
|
|
672
|
+
info('[2.7] Symlinks — no rdc skill links created (skills may already be linked)');
|
|
673
|
+
}
|
|
674
|
+
} else {
|
|
675
|
+
info('[2.7] Symlinks — skipped (no codex root found)');
|
|
676
|
+
}
|
|
677
|
+
|
|
642
678
|
// 3. Hook files
|
|
643
679
|
const hookCount = copyDir(hooksSrc, hooksDst, '.js');
|
|
644
680
|
ok(`[3/6] Hook files — ${hookCount} file(s) → ${hooksDst}`);
|