Skip to main content
Glama

RepoMap

by pdavis68

repo_map

Generate a structured repository map that lists function prototypes and variables from specified files, including relevant related files with ranking based on chat context and mentions.

Instructions

Generate a repository map for the specified files, providing a list of function prototypes and variables for files as well as relevant related files. Provide filenames relative to the project_root. In addition to the files provided, relevant related files will also be included with a very small ranking boost.

:param project_root: Root directory of the project to search. (must be an absolute path!) :param chat_files: A list of file paths that are currently in the chat context. These files will receive the highest ranking. :param other_files: A list of other relevant file paths in the repository to consider for the map. They receive a lower ranking boost than mentioned_files and chat_files. :param token_limit: The maximum number of tokens the generated repository map should occupy. Defaults to 8192. :param exclude_unranked: If True, files with a PageRank of 0.0 will be excluded from the map. Defaults to False. :param force_refresh: If True, forces a refresh of the repository map cache. Defaults to False. :param mentioned_files: Optional list of file paths explicitly mentioned in the conversation and receive a mid-level ranking boost. :param mentioned_idents: Optional list of identifiers explicitly mentioned in the conversation, to boost their ranking. :param verbose: If True, enables verbose logging for the RepoMap generation process. Defaults to False. :param max_context_window: Optional maximum context window size for token calculation, used to adjust map token limit when no chat files are provided. :returns: A dictionary containing: - 'map': the generated repository map string - 'report': a dictionary with file processing details including: - 'included': list of processed files - 'excluded': dictionary of excluded files with reasons - 'definition_matches': count of matched definitions - 'reference_matches': count of matched references - 'total_files_considered': total files processed Or an 'error' key if an error occurred.

Input Schema

NameRequiredDescriptionDefault
chat_filesNo
exclude_unrankedNo
force_refreshNo
max_context_windowNo
mentioned_filesNo
mentioned_identsNo
other_filesNo
project_rootYes
token_limitNo
verboseNo

Input Schema (JSON Schema)

{ "properties": { "chat_files": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Chat Files" }, "exclude_unranked": { "default": false, "title": "Exclude Unranked", "type": "boolean" }, "force_refresh": { "default": false, "title": "Force Refresh", "type": "boolean" }, "max_context_window": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Max Context Window" }, "mentioned_files": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Mentioned Files" }, "mentioned_idents": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Mentioned Idents" }, "other_files": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Other Files" }, "project_root": { "title": "Project Root", "type": "string" }, "token_limit": { "default": 8192, "title": "Token Limit" }, "verbose": { "default": false, "title": "Verbose", "type": "boolean" } }, "required": [ "project_root" ], "type": "object" }

Other Tools from RepoMap

Related Tools

    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/pdavis68/RepoMapper'

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