Skip to content

Commit 3d78b44

Browse files
feat(update-skills): enhance script to validate repository existence and pull updates for Angular, React, and WebComponents
1 parent f718052 commit 3d78b44

1 file changed

Lines changed: 22 additions & 2 deletions

File tree

scripts/update-skills.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,50 @@
1+
import { execSync } from "child_process";
12
import { cpSync, existsSync, rmSync } from "fs";
23
import { join, resolve } from "path";
34

45
const root = resolve(__dirname, "..");
6+
const branch = process.argv[2] || "master";
57

68
const mappings = [
79
{
810
name: "angular",
11+
repo: join(root, "packages/igniteui-mcp/igniteui-doc-mcp/angular/igniteui-angular"),
912
src: join(root, "packages/igniteui-mcp/igniteui-doc-mcp/angular/igniteui-angular/skills"),
1013
dest: join(root, "packages/igx-templates/igx-ts/projects/_base/files/__dot__claude/skills")
1114
},
1215
{
1316
name: "react",
17+
repo: join(root, "packages/igniteui-mcp/igniteui-doc-mcp/react/igniteui-react"),
1418
src: join(root, "packages/igniteui-mcp/igniteui-doc-mcp/react/igniteui-react/skills"),
1519
dest: join(root, "packages/cli/templates/react/igr-ts/projects/_base/files/__dot__claude/skills")
1620
},
1721
{
1822
name: "webcomponents",
23+
repo: join(root, "packages/igniteui-mcp/igniteui-doc-mcp/webcomponents/igniteui-webcomponents"),
1924
src: join(root, "packages/igniteui-mcp/igniteui-doc-mcp/webcomponents/igniteui-webcomponents/skills"),
2025
dest: join(root, "packages/cli/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills")
2126
}
2227
];
2328

24-
for (const { name, src, dest } of mappings) {
29+
for (const { name, repo, src, dest } of mappings) {
30+
if (!existsSync(repo)) {
31+
// eslint-disable-next-line no-console
32+
console.warn(`[update-skills] Skipping ${name}: repo not found at ${repo}`);
33+
continue;
34+
}
35+
// eslint-disable-next-line no-console
36+
console.log(`[update-skills] Pulling ${name} from branch '${branch}'...`);
37+
// Abort any in-progress merge left from a previous failed pull
38+
try {
39+
execSync("git merge --abort", { cwd: repo, stdio: "pipe" });
40+
} catch {
41+
// No merge in progress — ignore
42+
}
43+
execSync(`git pull origin ${branch} --no-edit`, { cwd: repo, stdio: "inherit" });
44+
2545
if (!existsSync(src)) {
2646
// eslint-disable-next-line no-console
27-
console.warn(`[update-skills] Skipping ${name}: source not found at ${src}`);
47+
console.warn(`[update-skills] Skipping ${name}: skills not found at ${src}`);
2848
continue;
2949
}
3050
if (existsSync(dest)) {

0 commit comments

Comments
 (0)