tree-hugger

Extract symbols, imports, and exports from source files using Tree-sitter.

3|Updated Jan 10, 2026
One-click install
npx skills add https://github.com/yankeeinlondon/rusty-biscuit --skill tree-hugger
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tree-hugger
Source: https://github.com/yankeeinlondon/rusty-biscuit/tree/main/.claude/skills/tree-hugger
Command: npx skills add https://github.com/yankeeinlondon/rusty-biscuit --skill tree-hugger

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Tree Hugger provides Tree-sitter-based symbol extraction and diagnostics across 16 programming languages, easing the task of understanding, navigating, and validating codebases by exposing symbols, imports, and exports for analysis and tooling integration.

Core Features & Use Cases

  • Cross-language symbol extraction: functions, types, imports, and exports across the supported languages
  • Diagnostics and lint support: run syntax and semantic checks via language-specific queries
  • Extendability and learning: guidance for adding new languages, debugging queries, and understanding the query vendoring system

Quick Start

Run hug to extract symbols and imports from a sample source file to validate symbol visibility across languages.

Frequently Asked Questions about tree-hugger

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

FAQPage Schema
How do I extract symbols, imports, and exports from source files across multiple programming languages?

Tree-sitter symbol extraction parses source files across 16 programming languages to expose functions, types, imports, and exports. It uses vendored queries and TreeFile/TreePackage APIs to ease codebase navigation and validation.

Can I use Tree-sitter queries to run syntax and semantic lint checks on my codebase?

Yes, you can run diagnostics and lint checks by applying language-specific Tree-sitter queries to your source files. This validates syntax and semantics to identify issues across the 16 supported languages.

What's the best way to add support for a new language when writing Tree-sitter queries?

The best way to add language support is by leveraging the query vendoring system alongside TreeFile and TreePackage APIs. This framework provides guidance for debugging queries and integrating new languages into the extraction pipeline.

Does tree-hugger require any specific dependencies or APIs to operate across different languages?

Yes, operating across the 16 supported languages requires vendored Tree-sitter queries alongside the TreeFile or TreePackage APIs. These components enable the system to parse and expose symbols consistently across different language grammars.

Why are my Tree-sitter queries not extracting the expected symbols from source files?

Extraction failures often stem from syntax errors in vendored Tree-sitter queries or misconfigured TreeFile and TreePackage APIs. You should debug the language-specific queries to ensure they correctly match the target source file's syntax tree.