{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-repo-map","slug":"repo-map","name":"Repo Map","type":"mcp","url":"https://github.com.mcas.ms/pdavis68/RepoMapper","page_url":"https://unfragile.ai/repo-map","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-repo-map__cap_0","uri":"capability://data.processing.analysis.tree.sitter.based.code.definition.extraction.with.language.specific.query.files","name":"tree-sitter-based code definition extraction with language-specific query files","description":"Extracts function, class, module definitions and reference calls from source code using Tree-sitter parsers with language-specific query files (@definition.function, @definition.class, @reference.call). The system maintains a Tag namedtuple structure (rel_fname, fname, line, name, kind) that captures extracted code entities with their locations and types. This enables structurally-aware parsing across 40+ languages without regex-based heuristics, producing precise AST-based extraction that preserves semantic relationships.","intents":["Extract all function and class definitions from a codebase with precise line numbers and types","Identify function call references to understand code dependencies and relationships","Support multiple programming languages with consistent extraction semantics","Build a queryable index of code entities for downstream ranking and prioritization"],"best_for":["developers building LLM-aware code analysis tools","teams needing language-agnostic codebase indexing","projects requiring precise AST-based code understanding without language-specific parsers"],"limitations":["Tree-sitter grammar coverage varies by language; some languages have incomplete or experimental grammars","Query file maintenance required when adding new language support; no automatic grammar detection","Performance degrades on very large files (>10K lines) due to AST traversal overhead","Extraction accuracy depends on Tree-sitter grammar quality; edge cases in language syntax may be missed"],"requires":["Tree-sitter library installed (included in RepoMapper dependencies)","Language-specific Tree-sitter grammar for target languages","Source code files in supported language formats"],"input_types":["source code files (Python, JavaScript, TypeScript, Go, Rust, Java, C++, etc.)","directory paths containing code repositories"],"output_types":["structured Tag namedtuples with (rel_fname, fname, line, name, kind)","JSON-serializable code entity maps with locations and types"],"categories":["data-processing-analysis","code-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-repo-map__cap_1","uri":"capability://planning.reasoning.pagerank.based.code.importance.ranking.with.dependency.graph.analysis","name":"pagerank-based code importance ranking with dependency graph analysis","description":"Analyzes code dependency graphs using PageRank algorithm to rank files and functions by importance, identifying which components are most central to understanding the repository. The system builds a directed graph from function calls and class references extracted by Tree-sitter, then applies iterative PageRank computation to assign importance scores. This graph-based approach recognizes that frequently-called functions and heavily-referenced classes are more important for LLM context than isolated utility functions.","intents":["Rank code files by importance to prioritize what gets included in LLM context","Identify core functions and classes that are central to codebase architecture","Understand code dependency patterns to surface most-referenced components","Automatically determine which code is most relevant for a given chat context"],"best_for":["LLM-powered code assistants needing to select most-relevant code snippets","teams analyzing codebase architecture and dependency patterns","developers building context-aware code analysis tools with token budgets"],"limitations":["PageRank computation adds ~50-200ms overhead per analysis depending on codebase size","Algorithm assumes call graph is representative of importance; may rank utility libraries lower than deserved","Requires complete call graph extraction; missing references (dynamic calls, reflection) reduce ranking accuracy","Ranking is global across repository; cannot easily weight importance by specific context or domain"],"requires":["Complete function call extraction from Tree-sitter (get_tags_raw output)","Dependency graph construction from extracted references","NetworkX or equivalent graph library for PageRank computation"],"input_types":["extracted Tag structures with function definitions and call references","dependency graph representation (nodes=functions, edges=calls)"],"output_types":["ranked list of files/functions with PageRank scores","importance-sorted code entity maps for context selection"],"categories":["planning-reasoning","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-repo-map__cap_2","uri":"capability://data.processing.analysis.token.optimized.context.window.packing.with.binary.search","name":"token-optimized context window packing with binary search","description":"Intelligently selects and formats code content to fit within LLM context windows using binary search over token counts. The try_tags() function performs binary search on ranked code entities, progressively including more code while monitoring token consumption via tiktoken or equivalent tokenizer. This ensures the output respects token limits while maximizing the amount of relevant code included, formatting results with function prototypes and file relationships in order of PageRank importance.","intents":["Generate repo maps that fit within specific LLM context window sizes (4K, 8K, 128K tokens)","Maximize code coverage within token constraints by selecting most-important entities first","Format code output with function signatures and relationships for LLM comprehension","Dynamically adjust repo map size based on available context budget"],"best_for":["LLM-powered code assistants with fixed context windows","teams building context-aware code analysis with token budgets","developers integrating RepoMapper into MCP servers or chat interfaces"],"limitations":["Binary search adds ~100-300ms latency per optimization pass depending on codebase size","Token counting accuracy depends on tokenizer choice; different models may have different token counts","Formatting overhead (function prototypes, file relationships) consumes ~5-15% of token budget","Cannot optimize for semantic relevance within token budget; only considers PageRank importance"],"requires":["PageRank-ranked code entities from importance ranking step","Token counter (tiktoken for OpenAI models, or equivalent for other providers)","Target token limit specification (e.g., 8000 tokens)"],"input_types":["ranked list of code entities with PageRank scores","target token limit (integer)","tokenizer configuration (model name or custom tokenizer)"],"output_types":["formatted repo map string with selected code entities","token count of generated output","list of included/excluded entities"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-repo-map__cap_3","uri":"capability://automation.workflow.persistent.disk.based.caching.with.file.modification.tracking","name":"persistent disk-based caching with file modification tracking","description":"Caches extracted code tags and PageRank computations to disk using diskcache library, with automatic invalidation based on file modification times. The load_tags_cache() and save_tags_cache() methods manage persistent storage, checking file mtimes to determine cache validity. This avoids re-parsing and re-ranking unchanged files across multiple invocations, significantly accelerating repeated analyses of the same codebase while ensuring cache freshness when files change.","intents":["Speed up repeated repo map generation by caching extraction and ranking results","Avoid re-parsing unchanged files across multiple tool invocations","Maintain cache consistency by invalidating entries when source files change","Enable fast incremental updates when only a subset of files are modified"],"best_for":["interactive development workflows with repeated repo map queries","MCP servers handling multiple requests for the same repository","large codebases where parsing and ranking are expensive operations"],"limitations":["Disk I/O overhead for cache operations adds ~50-150ms per invocation on slower storage","Cache invalidation based only on file mtime; doesn't detect changes in dependencies or imports","Cache directory grows with codebase size; no automatic cleanup or size limits","Cache is repository-specific; no cross-repository caching or sharing"],"requires":["diskcache library installed","writable directory for cache storage (default: .repomap_cache or configurable)","file system with mtime support"],"input_types":["repository path","list of source files with modification times"],"output_types":["cached Tag structures from previous extraction","cached PageRank scores from previous ranking","cache validity status (valid/invalid/partial)"],"categories":["automation-workflow","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-repo-map__cap_4","uri":"capability://automation.workflow.command.line.interface.for.on.demand.repo.map.generation","name":"command-line interface for on-demand repo map generation","description":"Provides a CLI tool that accepts repository paths and optional configuration parameters, generating formatted repo maps for immediate use or piping to other tools. The CLI interface wraps the RepoMap class, exposing methods like get_repo_map() with configurable token limits, file filters, and output formats. This enables developers to quickly analyze any codebase from the terminal, integrate RepoMapper into shell scripts, or use it as a preprocessing step for other tools.","intents":["Quickly generate a repo map for a codebase from the command line","Integrate RepoMapper into shell scripts and CI/CD pipelines","Pipe repo map output to other tools (LLMs, code analyzers, documentation generators)","Analyze multiple repositories with different configuration parameters"],"best_for":["developers working in terminal-based workflows","teams integrating RepoMapper into shell scripts or CI/CD","users wanting quick one-off analysis without writing Python code"],"limitations":["CLI interface limited to basic configuration options; advanced customization requires Python API","Output format is text-based; no structured output formats (JSON, XML) in basic CLI","No interactive mode; each invocation is stateless and requires full analysis","Error handling and progress reporting limited compared to programmatic API"],"requires":["Python 3.9+","RepoMapper installed (pip install or from source)","Repository path accessible from command line"],"input_types":["repository path (string)","optional configuration flags (--token-limit, --file-filter, etc.)","optional model specification (for tokenizer selection)"],"output_types":["formatted text output (repo map with function prototypes and relationships)","stdout stream for piping to other tools"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-repo-map__cap_5","uri":"capability://tool.use.integration.model.context.protocol.mcp.server.for.continuous.integration.with.llm.tools","name":"model context protocol (mcp) server for continuous integration with llm tools","description":"Implements an MCP server that exposes RepoMapper functionality as callable tools for LLM-powered applications and agents. The MCP server wraps RepoMap methods as MCP tools with standardized schemas, enabling seamless integration with Claude, other LLMs, and MCP-compatible applications. This allows LLMs to request repo maps on-demand during conversations, with automatic caching and incremental updates, without requiring the LLM to understand RepoMapper's internal architecture.","intents":["Enable LLMs to request repo maps during conversations without explicit tool calls","Integrate RepoMapper into MCP-compatible applications (Claude, Cursor, etc.)","Provide standardized tool schemas for repo map generation and filtering","Support continuous integration with LLM agents that need dynamic code context"],"best_for":["LLM-powered code assistants and agents","teams building MCP-compatible applications","developers integrating RepoMapper into Claude or other LLM workflows"],"limitations":["MCP server adds network/IPC overhead compared to direct library usage","Tool schema standardization may limit advanced configuration options","Server must be running separately; adds deployment complexity","Error handling and debugging more difficult across process boundaries"],"requires":["MCP SDK/library installed","RepoMapper library installed","MCP-compatible LLM client (Claude, etc.)","Network or IPC connection between client and server"],"input_types":["MCP tool call with repository path and optional parameters","token limit specification","file filter patterns"],"output_types":["MCP tool result with formatted repo map","structured metadata about included/excluded entities"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-repo-map__cap_6","uri":"capability://data.processing.analysis.language.agnostic.code.entity.extraction.with.configurable.language.support","name":"language-agnostic code entity extraction with configurable language support","description":"Supports code extraction across 40+ programming languages through Tree-sitter grammar integration, with a pluggable architecture for adding new languages. The system maintains language-specific query files that define how to extract definitions and references for each language, allowing consistent extraction semantics across Python, JavaScript, TypeScript, Go, Rust, Java, C++, and others. New language support can be added by defining query files without modifying core extraction logic.","intents":["Extract code entities from polyglot repositories with multiple programming languages","Support new programming languages by adding query files without core code changes","Maintain consistent extraction semantics across different language families","Enable repo map generation for any Tree-sitter-supported language"],"best_for":["teams working with polyglot codebases","projects needing to support emerging programming languages","developers building language-agnostic code analysis tools"],"limitations":["Language support limited to languages with Tree-sitter grammars; not all languages are supported","Query file quality varies; some languages have incomplete or experimental grammars","Adding new language support requires understanding Tree-sitter query syntax","Performance varies significantly by language; some grammars are slower than others"],"requires":["Tree-sitter library with language grammar installed","Language-specific query file defining extraction patterns","Source code in supported language format"],"input_types":["source code files in any supported language","language identifier (auto-detected from file extension or specified)"],"output_types":["extracted Tag structures with language-specific entity types","consistent entity kind values (function, class, module, etc.)"],"categories":["data-processing-analysis","code-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-repo-map__cap_7","uri":"capability://data.processing.analysis.file.prioritization.and.filtering.with.configurable.rules","name":"file prioritization and filtering with configurable rules","description":"Allows users to specify which files should be included or excluded from repo map generation through configurable filtering rules. The system supports patterns for ignoring common non-essential files (node_modules, .git, __pycache__, etc.) and prioritizing important files (main entry points, configuration files). This enables focused analysis of relevant code while reducing noise from dependencies and generated files, with rules that can be customized per repository.","intents":["Exclude dependency directories (node_modules, vendor, etc.) from repo map analysis","Prioritize important files (main.py, index.js, config files) in ranking","Reduce noise from generated or compiled files in repo map output","Customize file inclusion/exclusion rules per repository or project"],"best_for":["teams analyzing large codebases with many dependencies","projects with complex directory structures and generated files","developers wanting to focus repo maps on specific code areas"],"limitations":["Filter rules are static; cannot dynamically adjust based on context","Pattern matching limited to simple glob patterns; no regex support in basic configuration","Filtering happens at file level; cannot exclude specific functions or classes","No built-in understanding of project structure; requires manual rule configuration"],"requires":["configuration file or command-line parameters specifying filter rules","glob pattern syntax understanding for file matching"],"input_types":["file paths from repository","filter rules (include/exclude patterns)","prioritization rules (file importance weights)"],"output_types":["filtered file list for analysis","prioritized file ordering for ranking"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-repo-map__cap_8","uri":"capability://text.generation.language.formatted.output.generation.with.function.prototypes.and.relationship.metadata","name":"formatted output generation with function prototypes and relationship metadata","description":"Generates human-readable repo maps that include function/class prototypes, file relationships, and importance rankings in a structured text format. The get_repo_map() method formats extracted code entities with their signatures, line numbers, and relationships to other code, organized by importance. This output is designed to be comprehensible to both humans and LLMs, providing enough context to understand code structure without overwhelming with full source code.","intents":["Generate human-readable summaries of codebase structure and important functions","Create LLM-friendly code context with function signatures and relationships","Display code entity importance rankings and dependency relationships","Format repo maps for documentation or knowledge base generation"],"best_for":["developers reviewing codebase structure and architecture","LLM-powered tools needing formatted code context","teams generating code documentation or knowledge bases"],"limitations":["Output format is text-based; no structured formats (JSON, XML) in basic output","Formatting overhead consumes ~5-15% of token budget","Relationship metadata limited to direct dependencies; transitive relationships not shown","Function prototypes extracted from AST may not match actual signatures in all cases"],"requires":["extracted and ranked code entities from previous pipeline steps","formatting template or configuration"],"input_types":["ranked Tag structures with importance scores","file relationship graph","formatting configuration (template, style options)"],"output_types":["formatted text string with function prototypes and relationships","structured metadata about included entities"],"categories":["text-generation-language","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":33,"verified":false,"data_access_risk":"high","permissions":["Tree-sitter library installed (included in RepoMapper dependencies)","Language-specific Tree-sitter grammar for target languages","Source code files in supported language formats","Complete function call extraction from Tree-sitter (get_tags_raw output)","Dependency graph construction from extracted references","NetworkX or equivalent graph library for PageRank computation","PageRank-ranked code entities from importance ranking step","Token counter (tiktoken for OpenAI models, or equivalent for other providers)","Target token limit specification (e.g., 8000 tokens)","diskcache library installed"],"failure_modes":["Tree-sitter grammar coverage varies by language; some languages have incomplete or experimental grammars","Query file maintenance required when adding new language support; no automatic grammar detection","Performance degrades on very large files (>10K lines) due to AST traversal overhead","Extraction accuracy depends on Tree-sitter grammar quality; edge cases in language syntax may be missed","PageRank computation adds ~50-200ms overhead per analysis depending on codebase size","Algorithm assumes call graph is representative of importance; may rank utility libraries lower than deserved","Requires complete call graph extraction; missing references (dynamic calls, reflection) reduce ranking accuracy","Ranking is global across repository; cannot easily weight importance by specific context or domain","Binary search adds ~100-300ms latency per optimization pass depending on codebase size","Token counting accuracy depends on tokenizer choice; different models may have different token counts","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.43,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:04.048Z","last_scraped_at":"2026-05-03T14:00:15.503Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=repo-map","compare_url":"https://unfragile.ai/compare?artifact=repo-map"}},"signature":"zSuTLi8zDaNBF0DYJvVS4x9zCi4rX0geXBjl+5v0rO2LYgwS4/H+MTMhbSOdiBqm5d1y9IgBESAV1HsY76MgAQ==","signedAt":"2026-06-21T01:40:31.203Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/repo-map","artifact":"https://unfragile.ai/repo-map","verify":"https://unfragile.ai/api/v1/verify?slug=repo-map","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}