1broseidon/cymbal
Language-agnostic code navigation CLI powered by tree-sitter
해결하는 문제
Cymbal은 빠르고 언어에 구애받지 않는 코드 탐색기로, 번거로운 수동적인 코드베이스 탐색 문제를 해결합니다. grep, find, 수동 파일 읽기 사이를 빠르게 오가지 않고도, 미리세팅된 방식으로 심볼 검색, 크로스 참조 분석, 영향 범위 평가를 밀리초 단위로 수행할 수 있습니다.
작동 방식
Cymbal은 tree-sitter를 사용하여 소스 파일을 추상 구문 트리(AST)로 파싱하고, 심볼, 임포트, 참조를 로컬 SQLite 인덱스에 추출합니다. FTS5 기반 검색을 지원하며, 변경된 파일만 재분석하는 인크리멘탈 업데이트를 수행하며, 여러 Git worktree에 걸친 검색도 가능합니다.
대상 사용자
- CLI 사용자: 낯선 리포지토리를 빠르게 이해하고 싶은 개발자
- AI 에이전트: 긴 검색/보기 호출 체인을 줄이고 토큰 사용량을 줄이기 위해 구조화된 코드 탐색 계층이 필요한 LLM 기반 에이전트
- 도구 개발자: 에디터, 봇, 자동화 도구에 인덱싱된 코드 탐색 기능을 라이브러리로 통합하고 싶은 Go 개발자
주요 기능
- 적응형 탐색:
investigate명령어는 소스, 호출자, 영향 범위를 한 번의 호출로 통합된 뷰로 제공합니다. - 그래프 모드: 콜러 또는 영향 범위 분석을 위한 시각적 종속성 맵(Mermaid, DOT, JSON)을 생성합니다.
- 에이전트 네이티브: OpenCode 및 Claude Code와 같은 에이전트와의 통합을 최적화하도록 설계되었습니다.
- 언어 비의존성: Go, Python, Rust, TypeScript, Java, C++ 등 다양한 언어를 지원합니다.
- 고성능: 심볼 및 텍스트 검색은 일반적으로 10–40ms 내에 완료됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트