CYMBAL

Agent-native code navigation

v0.9.0

Fast, language-agnostic code indexer built on tree-sitter. Designed as an AI agent's code comprehension layer — every command returns exactly what an agent needs to understand and modify code.

$brew install 1broseidon/tap/cymbal

Features

06 Modules
001

Agent-Native Output

Every command returns YAML frontmatter + content body — optimized for LLM token efficiency. Agents parse metadata and read content naturally.

002

Instant Indexing

Tree-sitter AST parsing with SQLite FTS5 storage. Index an entire codebase in ~100ms. Incremental re-indexing only touches changed files.

003

Smart Deduplication

Refs and impact results deduplicate identical call sites — grouped by file with site counts. Agents see patterns, not noise.

004

Cross-Reference Graph

Find who calls a function, who imports a package, and what breaks if you change something. Transitive impact analysis in one command.

005

24 Languages

Go, Python, TypeScript, Rust, C, Java, Ruby, Swift, Kotlin, Scala, PHP, and more. Tree-sitter grammars for accurate AST parsing across your stack.

006

One-Call Context

cymbal context bundles source, types, callers, and imports into a single response. Everything an agent needs to understand and modify code.

Quick Start

# Index the current project (~100ms)
cymbal index .

# Find a symbol and read its source
cymbal search handleAuth
cymbal show handleAuth

# Who calls this? What breaks if I change it?
cymbal refs handleAuth
cymbal refs handleAuth --impact

# Everything an agent needs in one call
cymbal context handleAuth