fix: copy skill subdirectories recursively (#175)

copyFileSync crashes with EISDIR when a skill contains subdirectories
like scripts/. Skills support nested folders (scripts/, examples/,
templates/) per the Claude Code spec. Use fs.cpSync to handle the
complete skill structure.
This commit is contained in:
Stefan Gasser
2026-02-21 16:23:19 +01:00
committed by GitHub
parent 94ba537310
commit d336b32460

View File

@@ -134,12 +134,7 @@ function buildVolumeMounts(
const srcDir = path.join(skillsSrc, skillDir);
if (!fs.statSync(srcDir).isDirectory()) continue;
const dstDir = path.join(skillsDst, skillDir);
fs.mkdirSync(dstDir, { recursive: true });
for (const file of fs.readdirSync(srcDir)) {
const srcFile = path.join(srcDir, file);
const dstFile = path.join(dstDir, file);
fs.copyFileSync(srcFile, dstFile);
}
fs.cpSync(srcDir, dstDir, { recursive: true });
}
}
mounts.push({