返回 Skill 列表
extension
分类: 开发与工程无需 API Key

symbol-tree

在探索、搜索或研究此代码库时始终首先使用。在使用grep/glob/read之前,请先使用symbol_tree MCP工具。它可以在不阅读完整实现的情况下提供即时的架构概览、函数关系和调用图。

person作者: jakexiaohubgithub

Symbol Tree Analysis

Analyze TypeScript codebases using the symbol-tree CLI This is not optional. The symbol tree tool provides:

  • Instant overview of file/module structure
  • Function signatures and relationships
  • Call graphs showing what calls what
  • Type symbols (interfaces, types, enums) with dependency graphs
  • All without reading hundreds of lines of implementation

This saves tokens and gives better context faster than file searches.

How to Run

bun run scripts/symbol-tree-mcp/src/cli.ts [path] [options]

Options

| Option | Description | |--------|-------------| | [path] | Directory to analyze (default: cwd) | | --file <file> | Specific file to analyze | | --symbol <name> | Symbol to search for (e.g., "step", "Runtime") | | --pattern <glob> | File pattern (default: "**/*.{ts,tsx,js,jsx}") | | --depth <n> | Limit call graph depth | | --text-limit <n> | Max output chars (default: 50000) | | --exports-only | Only show exported symbols | | --no-files | Hide file paths/line numbers | | --group-by-file | Group by file instead of symbol type | | --format <fmt> | "adjacency" (default) or "tree" | | --src-dir <dir> | Source dir filter (default: "src") |

Examples

# Analyze runtime directory
bun run scripts/symbol-tree-mcp/src/cli.ts src/runtime

# Find a specific symbol
bun run scripts/symbol-tree-mcp/src/cli.ts --symbol step

# Analyze a specific file
bun run scripts/symbol-tree-mcp/src/cli.ts --file src/runtime/state.ts

# Exports only, tree format
bun run scripts/symbol-tree-mcp/src/cli.ts --exports-only --format tree

# Full project overview
bun run scripts/symbol-tree-mcp/src/cli.ts src --exports-only

Correct Workflow

  1. FIRST: Run symbol-tree to get overview
  2. THEN: Use the output to identify relevant files/functions
  3. ONLY THEN: Use Read/Grep/Glob for specific details if needed

Output Format

Each symbol shows location as: (file:startLine-endLine)

Output Sections:

  • === CLASSES === - Class definitions
  • === INTERFACES === - Interface definitions
  • === TYPES === - Type aliases
  • === ENUMS === - Enum definitions
  • === FUNCTIONS === - Function signatures
  • === TYPE DEPENDENCIES === - Which types extend/use other types
  • === DEPENDENCIES === - Function call graphs

Using with Read tool:

  • offset: Use startLine to begin reading at the symbol
  • limit: Use endLine - startLine + 1 to read only the symbol's code