MCPcopy Create free account
hub / github.com/adobe/react-spectrum / main

Function main

packages/dev/s2-docs/scripts/generateAgentSkills.mjs:1053–1096  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1051}
1052
1053function main() {
1054 console.log('Generating Agent Skills for React Spectrum (S2) and React Aria...\n');
1055
1056 // Ensure markdown docs exist
1057 ensureMarkdownDocs();
1058
1059 const skillsByLibrary = new Map();
1060 for (const config of Object.values(SKILLS)) {
1061 const list = skillsByLibrary.get(config.sourceDir) || [];
1062 list.push(config);
1063 skillsByLibrary.set(config.sourceDir, list);
1064 }
1065
1066 for (const [library, skills] of skillsByLibrary.entries()) {
1067 const wellKnownRoot = getWellKnownRootForLibrary(library);
1068
1069 if (fs.existsSync(wellKnownRoot)) {
1070 fs.rmSync(wellKnownRoot, {recursive: true});
1071 }
1072 fs.mkdirSync(wellKnownRoot, {recursive: true});
1073
1074 const indexEntries = [];
1075 for (const config of skills) {
1076 console.log(`\nGenerating skill: ${config.name}`);
1077 const skillDir = generateSkill(config, wellKnownRoot);
1078 validateSkillLinks(skillDir);
1079 const files = collectSkillFiles(skillDir);
1080 const entry = {
1081 name: config.name,
1082 description: config.description,
1083 files
1084 };
1085 if (config.kind) {
1086 entry.kind = config.kind;
1087 }
1088 indexEntries.push(entry);
1089 }
1090
1091 writeIndexJson(wellKnownRoot, indexEntries);
1092 console.log(`Skills directory: ${path.relative(REPO_ROOT, wellKnownRoot)}`);
1093 }
1094
1095 console.log('\nAgent Skills generation complete!');
1096}
1097
1098try {
1099 main();

Callers 1

Calls 8

ensureMarkdownDocsFunction · 0.85
generateSkillFunction · 0.85
validateSkillLinksFunction · 0.85
collectSkillFilesFunction · 0.85
writeIndexJsonFunction · 0.85
pushMethod · 0.80
setMethod · 0.45

Tested by

no test coverage detected