Skip to main content
Glama
MIT License
27,120
19,780
  • Linux
  • Apple
gitRepositoryHandle.ts•1.29 kB
import { logger } from '../../shared/logger.js'; import { execGitLogFilenames, execGitRevParse, execGitVersion } from './gitCommand.js'; export const getFileChangeCount = async ( directory: string, maxCommits = 100, deps = { execGitLogFilenames, }, ): Promise<Record<string, number>> => { try { const filenames = await deps.execGitLogFilenames(directory, maxCommits); const fileChangeCounts: Record<string, number> = {}; for (const filename of filenames) { fileChangeCounts[filename] = (fileChangeCounts[filename] || 0) + 1; } return fileChangeCounts; } catch (error) { logger.trace('Failed to get file change counts:', (error as Error).message); return {}; } }; export const isGitRepository = async ( directory: string, deps = { execGitRevParse, }, ): Promise<boolean> => { try { await deps.execGitRevParse(directory); return true; } catch { return false; } }; export const isGitInstalled = async ( deps = { execGitVersion, }, ): Promise<boolean> => { try { const result = await deps.execGitVersion(); return !result.includes('error') && result.includes('git version'); } catch (error) { logger.trace('Git is not installed:', (error as Error).message); return false; } };

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