- 터미널에서 동작하는 AI 코딩 에이전트로, 다양한 LLM(대형 언어 모델) 과 연동하여 코드 작성, 워크플로우 자동화, 코드 컨텍스트 유지 등 코드 생산성 향상을 지원함
- 여러 모델을 선택하거나 세션 중간에 자유롭게 모델 전환이 가능하고, 프로젝트별 세션/컨텍스트 유지를 지원함
- LSP(Language Server Protocol) 연동, 확장 가능한 MCP(모델 컨텍스트 프로토콜) 지원, .gitignore 및 별도 파일 무시 등 개발자 친화적 기능을 제공함
- macOS, Linux, Windows, FreeBSD 등 모든 주요 터미널 환경에서 구동되며, 패키지 매니저 또는 Go, 바이너리 등 다양한 방법으로 설치 가능함
- 직관적 설정과 고급 커스터마이즈를 동시에 지원하며, 환경 변수, JSON 설정, 도구 화이트리스트 등 고급 유저까지 배려한 설계임
Crush
- 터미널 환경에서 실행하는 AI 코딩 에이전트로, 개발자가 선호하는 LLM과 자유롭게 연동하여 코드 작성, 편집, 자동화를 지원함
- 여러 모델(Anthropic, OpenAI, Groq, OpenRouter 등) 을 자유롭게 선택 및 전환할 수 있으며, 세션별로 컨텍스트를 독립적으로 관리함
- LSP(Language Server Protocol) 를 통해 각 언어에 맞는 추가 컨텍스트를 받아 더 똑똑하게 코드를 보조함
- MCP(모델 컨텍스트 프로토콜) 를 통해 외부 시스템, HTTP, 커맨드라인, SSE 등 다양한 소스로부터 추가 정보 수집 및 활용 가능함
주요 기능
- 멀티 모델 지원: OpenAI, Anthropic, Groq, OpenRouter 등 다양한 LLM 연동, 직접 추가 가능
- 세션 기반 작업: 프로젝트별 여러 작업 세션과 컨텍스트 분리, 관리
- 유연한 모델 전환: 세션 중간에도 자유롭게 모델 변경, 기존 컨텍스트 유지
- LSP 연동: Go, TypeScript, Nix 등 주요 언어의 LSP 연결, 코드 맥락 강화
- 확장성: MCP 프로토콜 기반으로 외부 HTTP/CLI/SSE 등 추가 기능 손쉽게 확장
- 광범위 플랫폼 지원: macOS, Linux, Windows(WSL, PowerShell), FreeBSD, OpenBSD, NetBSD 등 주요 OS 터미널에서 모두 동작
- 직관적 설정: 별도의 설정 없이 바로 사용 가능하며, 필요시 프로젝트별/글로벌 JSON 설정 지원
- 강력한 무시(ignoring) 기능:
.gitignore,.crushignore파일을 통해 맥락 제외 파일/디렉토리 관리 가능 - 도구 화이트리스트: 도구 실행 시 사전 승인 및 자동 실행 옵션 지원,
--yolo플래그로 전체 프롬프트 스킵 가능(주의 필요) - 커스텀 프로바이더: OpenAI, Anthropic 호환 API를 자유롭게 추가 및 세부 옵션 지정 가능
설치 및 시작
- Homebrew, NPM, Arch, Nix, Debian/Ubuntu, Fedora/RHEL 등 다양한 패키지 매니저 및 바이너리/Go로 설치 가능
- 최초 실행 시 선호 LLM API Key(OpenAI, Anthropic, Groq 등) 입력 필요, 환경 변수로도 지정 가능
- 환경 변수로 연동 가능한 대표 LLM:
OPENAI_API_KEY,ANTHROPIC_API_KEY,GROQ_API_KEY,OPENROUTER_API_KEY,GEMINI_API_KEY,VERTEXAI_PROJECT등
설정 예시
- 글로벌 또는 프로젝트 단위 JSON 파일(./.crush.json, ./crush.json, $HOME/.config/crush/crush.json)로 고급 옵션 적용
- LSP 설정: 각 언어별 명령 지정 가능
{ "lsp": { "go": { "command": "gopls" }, "typescript": { "command": "typescript-language-server", "args": ["--stdio"] } } } - MCP 설정: HTTP/CLI/SSE 기반 외부 확장 예시
{ "mcp": { "filesystem": { "type": "stdio", "command": "node", "args": ["/path/to/mcp-server.js"] } } } - 파일 무시 및 도구 승인
.crushignore로 특정 파일/폴더 제외- 도구 실행 화이트리스트 또는
--yolo플래그로 프롬프트 스킵
고급 사용자 기능
- 커스텀 프로바이더 등록: OpenAI/Anthropic 호환 API 추가, 가격/컨텍스트 등 세부 옵션 지정
- 로깅: 프로젝트별 로그 파일 제공,
crush logs,crush logs --follow등 CLI 명령으로 실시간 확인 - 디버그 옵션:
--debug플래그 또는 config로 상세 로그 활성화