Butterfish Shell은 명령줄에서 작업하는 사람들을 위해 설계된 도구로, 셸(bash, zsh)에 AI 프롬프트 기능을 추가합니다. 이 도구는 GitHub Copilot과 유사하게 작동하며, 셸 사용 중에 대문자로 시작하는 명령을 통해 AI에게 질문할 수 있습니다. AI는 셸 기록을 볼 수 있으므로, "왜 그 명령이 실패했는가?"와 같은 문맥적 질문을 할 수 있습니다. 이는 사용자가 원하는 순간에 고문맥 AI 도움을 받을 수 있는 마법 같은 UX 패턴입니다.
Butterfish Shell을 실행하면 명령줄에서 다음과 같은 작업을 수행할 수 있습니다:
- "x를 수행하는 명령을 알려줘"
- "왜 그 명령이 실패했는가?"
- "!이 디렉토리에서 make를 실행하고 문제를 디버그하라" (이것은 에이전트로 작동)
- 셸 명령 자동 완성 (AI가 '말로' 제안한 명령이 나타남)
- "파스타 레시피를 알려줘" (이것은 ChatGPT 인터페이스이므로 셸 작업뿐만 아니라 다양한 질문에 사용 가능)
Butterfish는 MacOS와 Linux에서 작동하며, Homebrew를 통해 설치할 수 있습니다. 첫 실행 시 OpenAI API 비밀 키를 입력하라는 메시지가 표시됩니다. 이 키는 ~/.config/butterfish/butterfish.env 파일에 저장됩니다.
Butterfish Shell은 bash와 zsh와 잘 통합되며, 셸 프롬프트를 편집하여 🐠 이모지를 추가하거나 이전 명령의 상태 코드를 프롬프트에 추가할 수 있습니다. 또한, 사용자 정의 가능한 프롬프트와 다양한 모델 선택 옵션을 제공합니다.
Butterfish Shell은 또한 Goal Mode라는 기능을 제공하여, 에이전트가 목표를 달성하기 위해 명령을 실행할 수 있게 합니다. 이 모드는 !로 시작하는 명령을 통해 활성화되며, !!로 시작하는 명령을 통해 확인 없이 명령을 실행할 수 있는 Unsafe Goal Mode도 있습니다.
Butterfish Shell은 Neovim 플러그인도 제공하여, Neovim 내에서 LLM 프롬프트를 사용할 수 있게 합니다. 이 플러그인은 특정 지시에 따라 코드 블록을 다시 작성하는 등의 작업을 수행할 수 있습니다.
Butterfish Shell은 MIT 라이선스 하에 오픈 소스로 제공되며, 사용자 피드백과 외부 기여를 환영합니다.