vibe-tools
Version:
CLI tools for AI agents
54 lines (53 loc) • 1.87 kB
TypeScript
import { Config } from '../../types.js';
/**
* Interface for GitHub repository search results
*/
export interface GitHubRepository {
name: string;
full_name: string;
html_url: string;
description: string;
stargazers_count: number;
created_at: string;
updated_at: string;
topics: string[];
}
/**
* Class for handling GitHub repository search operations specifically for MCP
*/
export declare class GitHubMCPSearch {
private config;
constructor(config: Config);
/**
* Extract keywords from a natural language query for GitHub search
* @param query Original user query
* @returns Array of extracted keywords for GitHub search
*/
extractSearchKeywords(query: string): Promise<string[]>;
/**
* Basic keyword extraction from query as fallback
* @param query Original user query
* @returns Array of extracted keywords
*/
private extractKeywordsBasic;
/**
* Search GitHub repositories for a specific keyword
* @param keyword Search keyword
* @param maxResults Maximum number of results to return
* @returns Array of GitHub repositories
*/
searchGitHubReposForKeyword(keyword: string, maxResults?: number): Promise<GitHubRepository[]>;
/**
* Process user query to find relevant GitHub repositories with "mcp" in the name
* @param query User's original query
* @param maxResultsPerKeyword Maximum number of results per keyword
* @returns Array of unique GitHub repositories matching the query
*/
findGitHubRepositories(query: string, maxResultsPerKeyword?: number): Promise<GitHubRepository[]>;
/**
* Filter out duplicate repositories based on full_name
* @param repos Array of GitHub repositories
* @returns Array of unique GitHub repositories
*/
private filterDuplicateRepositories;
}