mirror of
https://github.com/JimLiu/baoyu-skills.git
synced 2026-07-14 06:39:48 +08:00
refactor: unify skill cdp and release artifacts
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import path from "node:path";
|
||||
|
||||
import { collectReleaseFiles, materializeReleaseFiles } from "./lib/skill-artifact.mjs";
|
||||
|
||||
async function main() {
|
||||
const options = parseArgs(process.argv.slice(2));
|
||||
if (!options.skillDir || !options.outDir) {
|
||||
throw new Error("--skill-dir and --out-dir are required");
|
||||
}
|
||||
|
||||
const skillDir = path.resolve(options.skillDir);
|
||||
const outDir = path.resolve(options.outDir);
|
||||
const files = await collectReleaseFiles(skillDir);
|
||||
await materializeReleaseFiles(files, outDir);
|
||||
|
||||
console.log(`Prepared artifact for ${path.basename(skillDir)}`);
|
||||
console.log(`Source: ${skillDir}`);
|
||||
console.log(`Output: ${outDir}`);
|
||||
console.log(`Files: ${files.length}`);
|
||||
}
|
||||
|
||||
function parseArgs(argv) {
|
||||
const options = {
|
||||
skillDir: "",
|
||||
outDir: "",
|
||||
};
|
||||
|
||||
for (let index = 0; index < argv.length; index += 1) {
|
||||
const arg = argv[index];
|
||||
if (arg === "--skill-dir") {
|
||||
options.skillDir = argv[index + 1] ?? "";
|
||||
index += 1;
|
||||
continue;
|
||||
}
|
||||
if (arg === "--out-dir") {
|
||||
options.outDir = argv[index + 1] ?? "";
|
||||
index += 1;
|
||||
continue;
|
||||
}
|
||||
if (arg === "-h" || arg === "--help") {
|
||||
printUsage();
|
||||
process.exit(0);
|
||||
}
|
||||
throw new Error(`Unknown argument: ${arg}`);
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
function printUsage() {
|
||||
console.log(`Usage: prepare-skill-artifact.mjs --skill-dir <dir> --out-dir <dir>
|
||||
|
||||
Options:
|
||||
--skill-dir <dir> Source skill directory
|
||||
--out-dir <dir> Artifact output directory
|
||||
-h, --help Show help`);
|
||||
}
|
||||
|
||||
main().catch((error) => {
|
||||
console.error(error instanceof Error ? error.message : String(error));
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user