본문으로 건너뛰기
피드

cs – 인덱스 없이 코드 구조를 이해하는 코드 검색 도구 (코드/주석/문자열 구분 랭킹)

open-source 약 4분
vote
0
댓글
북마크

인덱스 없이 온더플라이로 코드를 파싱해서 코드/주석/문자열을 구분하고, BM25+순환 복잡도 기반 랭킹으로 가장 관련성 높은 결과를 보여주는 CLI 코드 검색 도구. MCP 서버 모드도 지원.

  • 1

    코드/주석/문자열 구분 가중 BM25 랭킹 (인덱스 불필요)

  • 2

    순환 복잡도를 랭킹 시그널로 사용하는 Complexity Gravity 기능

  • 3

    리눅스 커널 전체 검색: M1 ~3초, 9950X3D ~400ms

  • 4

    CLI, TUI, HTTP, MCP 서버 네 가지 인터페이스

  • 5

    30+ 언어에서 선언문 감지(func, class, def) 부스팅

뭐가 다른가

  • ripgrep이 빠른 텍스트 매처라면, cs검색 엔진임. 파일을 찾고, 관련도로 순위를 매기고, 가장 관련성 높은 스니펫을 추출함. Sourcegraph 수준의 랭킹을 인덱스 없이 CLI로 돌린다고 보면 됨 (MIT 라이선스)

  • 핵심 차별점은 구조 인식(Structural Awareness). 모든 파일을 온더플라이로 파싱해서 코드/주석/문자열을 구분함:

    • 코드 내 매치: 가중치 1.0
    • 문자열 내 매치: 0.5
    • 주석 내 매치: 0.2
    • --only-code, --only-comments, --only-strings로 필터링도 가능
  • 복잡도 중력(Complexity Gravity) 기능이 재밌음. 순환 복잡도(cyclomatic complexity)를 랭킹 시그널로 사용해서, Authenticate를 검색하면 인터페이스 정의보다 실제 로직이 구현된 복잡한 파일이 상위에 옴

랭킹 시스템

  • 가중 BM25 알고리즘 기반. 코드/주석/문자열을 "필드"로 취급해서 필드별 가중치 적용. 파일 길이 감쇠, 테스트 파일 하향, 노이즈 페널티도 들어감

  • 프리셋 프로파일 3종:

    • balanced (기본): 표준 BM25, 적당한 복잡도 부스트
    • precise: "딱 그 파일 하나"를 찾을 때 — TF 빠르게 포화, 긴 파일 페널티, 테스트 파일 공격적 필터링
    • broad: "관련된 건 다 보여줘" — 반복 매치 보상, 테스트 파일 포함
  • Gravity 플래그로 복잡도 부스트 강도 조절: brain(2.5, 복잡한 핵심 로직 공격적 서피싱) → logic(1.5) → default(1.0) → low(0.2) → off(0.0, 순수 텍스트 관련도)

  • 선언문 감지(declaration detection)도 지원해서 func, class, def 같은 줄의 매치를 일반 사용 매치보다 부스트함. Go, Python, JS, TS, Rust, Java, C/C++/C# 등 30개 이상 언어 지원

성능과 인터페이스

  • 인덱스가 전혀 없고 전부 브루트포스 계산인데도, Apple Silicon M1에서 리눅스 커널 전체를 ~3초에 검색, 9950X3D에서는 ~400ms라고 함

  • 콘솔 출력, 내장 TUI, HTTP 서버(구문 하이라이팅), MCP 서버(Claude Desktop, Claude Code, Cursor 등 LLM 도구에 연결 가능) 네 가지 인터페이스 제공

💡

> cs --mcp --dir /path/to/codebase로 MCP 서버를 띄우면 Claude Code나 Cursor에서 바로 코드 검색 도구로 사용할 수 있음. searchget_file 두 가지 도구가 노출됨.

  • 바이트 단위 동일 매치를 하나로 접어주는 중복 제거, fzf처럼 TUI에서 결과 선택 후 Enter로 파일 경로 반환하는 기능도 있음

ripgrep과 Sourcegraph 사이의 빈틈을 노린 도구. 인덱스 없이 구조 인식 랭킹을 제공한다는 점이 독특하고, MCP 서버 지원으로 AI 워크플로우에도 바로 통합 가능.

댓글

댓글

댓글을 불러오는 중...

open-source

NIPA, 260명 규모 오픈소스 컨트리뷰션 아카데미 시작

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 13주간의 프로젝트 활동을 시작했음. 국내 개발자들이 GitHub 기반 글로벌 협업 환경에서 코드, 문서, 버그 수정, 풀 리퀘스트를 직접 경험하게 하는 프로그램임.

open-source

그누보드7, 디딤과 손잡고 멀티클라우드 도입 문턱 낮춘다

에스아이알소프트가 클라우드 전문기업 디딤과 협력해 그누보드7 기반 웹서비스 구축·운영 환경을 넓히기로 했다. 커뮤니티, 쇼핑몰, 예약, 구독형 서비스 같은 실무 프로젝트에서 서버 구성과 운영 부담을 줄이는 게 핵심이다.

open-source

오픈소스 컨트리뷰션 아카데미 출범, 국내 개발자 260여 명 참여

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 13주간의 활동을 시작했다. 11개 프로젝트팀의 멘토와 멘티 260여 명이 글로벌 오픈소스 프로젝트 기여를 목표로 코드 개발, 문서화, 오류 수정 등을 진행한다.

open-source

NIPA, 국내 개발자 260명 규모 오픈소스 컨트리뷰션 아카데미 시작

정보통신산업진흥원이 2026 오픈소스 컨트리뷰션 아카데미 발대식을 열고 국내 개발자의 글로벌 오픈소스 프로젝트 참여를 지원한다. 11개 프로젝트팀, 멘토·멘티 260여 명이 13주 동안 깃허브 기반 협업, 코드 리뷰, 문서화, 오류 수정 등을 실제로 경험한다.

open-source

Ghostty 엔진을 Emacs 안으로 끌고 온 터미널, Ghostel.el

Ghostel.el은 Ghostty의 libghostty-vt를 기반으로 Emacs 안에서 동작하는 터미널 에뮬레이터다. eat 스타일의 여러 입력 모드, 안정적인 복사 모드, line mode, 자동 password prompt 처리, compile-mode 유사 실행 버퍼, Kitty graphics 지원, 높은 throughput을 앞세워 eat/vterm과 차별화함.