exploring-codebases

Locate code matches in large repositories using ripgrep and tree-sitter.

105|12|Updated Feb 7, 2026
One-click install
npx skills add https://github.com/tmcfarlane/oh-my-cursor --skill exploring-codebases
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: exploring-codebases
Source: https://github.com/tmcfarlane/oh-my-cursor/tree/main/skills/exploring-codebases
Command: npx skills add https://github.com/tmcfarlane/oh-my-cursor --skill exploring-codebases

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Hybrid codebase search that combines fast text search with structural awareness from tree-sitter or pre-generated _MAP.md files. It finds matches and returns the entire function or class containing the match, de-duplicating results semantically.

Core Features & Use Cases

  • Hybrid search: combines ripgrep speed with AST-aware context using tree-sitter or pre-generated maps to return complete code blocks for each match.
  • Progressive disclosure: by default returns signatures only, with an option to expand to full implementations when needed.
  • Map-based mode: supports pre-generated _MAP.md files to enable context expansion without tree-sitter, speeding up searches on large codebases.

Quick Start

Run a search against a repository to locate a query and expand matches to full AST blocks.

Frequently Asked Questions about exploring-codebases

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search a multi-language codebase and return complete function blocks instead of just matching lines?

Searching a multi-language codebase for complete functions combines fast text search with structural AST expansion to return the entire syntactic block containing each match. This hybrid approach de-duplicates results semantically, providing complete code blocks ready for review.

What is the best way to find classes and interfaces across large repositories without slow AST parsing?

Finding classes across large repositories can use pre-generated MAP.md files to enable context expansion without tree-sitter. This map-based mode speeds up searches by relying on existing maps to return full implementations instead of parsing the AST on the fly.

How does ripgrep work with tree-sitter to provide AST context for code search results?

Ripgrep provides fast text search to locate matches, while tree-sitter adds AST-aware context to expand those matches into full code blocks. This combination ensures that search results include complete function or class implementations rather than fragmented lines.

Can I view only function signatures during a codebase search and expand to full implementations later?

Yes, progressive disclosure returns only function signatures by default to reduce overhead. You can then selectively expand specific matches to view their full implementations as needed during the code search process.

Does hybrid codebase search support repositories with multiple programming languages?

Yes, hybrid codebase search applies to multi-language repositories. It locates functions, classes, and interfaces across different languages by combining ripgrep speed with structural awareness from either tree-sitter or pre-generated maps.

When should I use pre-generated maps instead of tree-sitter for codebase context expansion?

Use pre-generated maps for context expansion when searching very large codebases where performance is critical. Maps enable fast context expansion without the overhead of tree-sitter parsing, returning complete code blocks quickly.