gitingest-mcp
Version:
MCP server for transforming Git repositories into LLM-friendly text digests
54 lines (53 loc) • 1.49 kB
TypeScript
export interface LocalRepositoryOptions {
path: string;
includeGitignored?: boolean;
useGitignore?: boolean;
useGitingestignore?: boolean;
maxFileSize?: number;
maxFiles?: number;
excludePatterns?: string[];
includePatterns?: string[];
}
export interface LocalRepositoryResult {
path: string;
files: RepositoryFile[];
tree: TreeNode;
summary: RepositorySummary;
}
export interface RepositoryFile {
path: string;
content: string;
size: number;
type: "file" | "directory" | "symlink";
}
export interface TreeNode {
name: string;
type: "file" | "directory";
size?: number;
children?: TreeNode[];
}
export interface RepositorySummary {
path: string;
branch: string;
commit: string;
fileCount: number;
directoryCount: number;
totalSize: number;
tokenCount: number;
createdAt: string;
}
export declare class LocalRepositoryTool {
private static readonly DEFAULT_MAX_FILE_SIZE;
private static readonly DEFAULT_MAX_FILES;
static analyze(options: LocalRepositoryOptions, signal?: AbortSignal): Promise<LocalRepositoryResult>;
private static getRepositoryInfo;
private static getIgnorePatterns;
private static parseIgnoreFile;
private static collectFiles;
private static shouldIgnore;
private static shouldInclude;
private static matchesPattern;
private static buildTree;
private static calculateSummary;
private static estimateTokens;
}