Skip to main content
Glama
MIT License
27,120
19,787
  • Linux
  • Apple
generateSchema.ts•1.96 kB
import fs from 'node:fs/promises'; import path from 'node:path'; import { zodToJsonSchema } from 'zod-to-json-schema'; import { repomixConfigFileSchema } from '../../../src/config/configSchema.js'; const getPackageVersion = async (): Promise<string> => { const packageJsonPath = path.resolve('./package.json'); const packageJsonContent = await fs.readFile(packageJsonPath, 'utf-8'); const packageJson = JSON.parse(packageJsonContent); return packageJson.version; }; const generateSchema = async () => { const version = await getPackageVersion(); const versionParts = version.split('.'); const majorMinorVersion = `${versionParts[0]}.${versionParts[1]}.${versionParts[2]}`; const jsonSchema = zodToJsonSchema(repomixConfigFileSchema, { $refStrategy: 'none', definitionPath: 'definitions', markdownDescription: true, }); const schemaWithMeta = { $schema: 'http://json-schema.org/draft-07/schema#', ...jsonSchema, title: 'Repomix Configuration', description: 'Schema for repomix.config.json configuration file', }; const baseOutputDir = path.resolve('./website/client/src/public/schemas'); await fs.mkdir(baseOutputDir, { recursive: true }); const versionedOutputDir = path.resolve(baseOutputDir, majorMinorVersion); await fs.mkdir(versionedOutputDir, { recursive: true }); const versionedOutputPath = path.resolve(versionedOutputDir, 'schema.json'); await fs.writeFile(versionedOutputPath, JSON.stringify(schemaWithMeta, null, 2), 'utf-8'); const latestOutputDir = path.resolve(baseOutputDir, 'latest'); await fs.mkdir(latestOutputDir, { recursive: true }); const latestOutputPath = path.resolve(latestOutputDir, 'schema.json'); await fs.writeFile(latestOutputPath, JSON.stringify(schemaWithMeta, null, 2), 'utf-8'); console.log(`Schema generated at ${versionedOutputPath}`); console.log(`Schema also generated at ${latestOutputPath}`); }; generateSchema().catch(console.error);

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yamadashy/repomix'

If you have feedback or need assistance with the MCP directory API, please join our Discord server