프로젝트 소개
ctx는 코딩 에이전트를 겨냥한 컨텍스트 엔지니어링을 위한 개방형, 로컬, 고속 CLI 도구 모음이다. Claude Code, Codex, Cursor, Pi, Gemini CLI 같은 도구가 이미 사용자 컴퓨터에 저장해 둔 기록을 색인화하여, 제공자별 로그를 세션, 메시지, 도구 호출, 관계, 저장소 활동에 대한 일관된 로컬 레코드로 변환한다. 그러면 에이전트는 `ctx search`로 그 기록을 검색하고, `ctx show`로 정확한 이벤트나 전체 트랜스크립트를 확인하며, `ctx locate`로 소스 위치를 식별할 수 있다. 검색은 기본적으로 BM25 어휘 매칭을 사용하며, `ctx semantic enable`을 통해 선택적으로 로컬 시맨틱 검색을 활성화할 수 있다.
핵심 기능 중 하나인 `ctx blame`은 git blame처럼 작동하지만, 커밋된 코드를 그것을 생성한 에이전트 세션에 귀속시키고 원본 트랜스크립트와 도구 호출로의 인용을 제공한다. 파일과 줄 범위, 커밋, 또는 풀 리퀘스트에서 시작할 수 있어, 에이전트가 코드에서 더 이상 보이지 않는 제약, 결정, 실패한 접근, 가정을 복구하는 데 도움을 준다.
`ctx graph`는 코드베이스 매핑과 영향 분석을 제공한다. Graphify에서 영감을 받은 독립적인 Rust 구현으로, 그래프를 SQLite에 저장하므로 검색은 데이터베이스를 직접 질의하고 업데이트는 변경된 파일만 건드린다. 이 프로젝트는 대규모 저장소에서 Graphify보다 훨씬 빠른 검색 및 업데이트 성능을 보고하면서도 기존 `.graf/index.db` 데이터베이스와의 호환성을 유지한다.
`ctx sift`는 노이즈가 많은 도구 출력이 코딩 에이전트에 도달하기 전에 이를 줄여, 원본 명령은 그대로 두고 반복되는 경로, 로그, 포맷팅에 더 적은 토큰을 사용하게 한다. 일반 압축은 로컬에서 실행되며, 선택적 원본 보존을 통해 `ctx sift recall`로 완전한 캡처 출력을 복구할 수 있다.
기록 색인화는 에이전트 프로세스 내부의 훅이나 코드 없이 로컬에서 실행된다. 자동 색인화는 로컬 인덱스를 최신 상태로 유지하며, 업데이트는 완료된 후에만 표시된다. 이 프로젝트는 또한 자체 제어 ctx 서버를 통해 기록을 백업하거나 선택한 세션을 공유하는 베타 지원을 포함하며, 공유는 옵트인 방식이다. SDK는 TypeScript, Python, Rust, Go, JVM, Swift, .NET용으로 문서화되어 있으며, 사용자 정의 기록 플러그인으로 지원되지 않는 에이전트 형식을 적용할 수 있다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.