Add tools catalog with YAML schema and website page

- Create website/data/tools.yml with 6 tools:
  - Awesome Copilot MCP Server
  - Awesome GitHub Copilot Browser (VS Code extension)
  - APM - Agent Package Manager (CLI)
  - Workspace Architect (npm CLI)
  - Prompt Registry (VS Code extension)
  - GitHub Node for Visual Studio

- Add .schemas/tools.schema.json for YAML validation
- Update eng/generate-website-data.mjs to generate tools.json
- Add parseYamlFile() to eng/yaml-parser.mjs
- Refactor tools.astro to use external TypeScript module
- Create website/src/scripts/pages/tools.ts with:
  - FuzzySearch integration for search
  - Category filtering
  - Copy configuration functionality
This commit is contained in:
Aaron Powell
2026-01-29 13:48:42 +11:00
parent 36a26b01e1
commit c8d342cc62
8 changed files with 1156 additions and 41 deletions

View File

@@ -195,6 +195,22 @@ function parseSkillMetadata(skillPath) {
);
}
/**
* Parse a generic YAML file (used for tools.yml and other config files)
* @param {string} filePath - Path to the YAML file
* @returns {object|null} Parsed YAML object or null on error
*/
function parseYamlFile(filePath) {
return safeFileOperation(
() => {
const content = fs.readFileSync(filePath, "utf8");
return yaml.load(content, { schema: yaml.JSON_SCHEMA });
},
filePath,
null
);
}
export {
parseCollectionYaml,
parseFrontmatter,
@@ -202,5 +218,6 @@ export {
extractMcpServers,
extractMcpServerConfigs,
parseSkillMetadata,
parseYamlFile,
safeFileOperation,
};