codecompanion.nvim

AI Coding ToolsEditorLua

★ 6,855주당 +17조회 4

무엇인가

CodeCompanion은 Neovim 편집기 안에서 LLM과 대화하며 코드를 생성·수정하는 Lua 플러그인이다. 별도 GUI나 터미널 클라이언트를 두지 않고 편집기 버퍼 자체를 채팅 창으로 쓰는 편집기 내장형 코딩 어시스턴트 계열에 속한다.

어떻게 동작하나

핵심 구성은 채팅 버퍼, 어댑터, 도구다. 채팅 버퍼는 Neovim 버퍼 하나를 대화 기록으로 쓰고, 어댑터가 Anthropic·OpenAI·Gemini·GitHub Copilot·Ollama 등 프로바이더별 요청 형식을 맞춘다. Agent Client Protocol(ACP)로 Claude Code, Codex, Gemini CLI 같은 외부 CLI 에이전트를 연결하고, Model Context Protocol(MCP)로 외부 도구 서버를 붙인다. Slash Command, Editor Context, Workflow가 프롬프트에 들어갈 편집기 상태와 도구 호출을 정의하며, 실행은 비동기로 처리된다.

무엇과 다른가

CopilotChat.nvim이나 Zed AI와 겹치는 자리에 있지만, 프로바이더를 어댑터 계층으로 분리해 사용자가 직접 어댑터를 추가할 수 있다는 점이 다르다. 또 CLI 에이전트를 감싸는 래퍼가 아니라 ACP 클라이언트로 붙기 때문에, 에이전트가 만든 코드 변경을 편집기 안에서 검토하고 승인하거나 거부할 수 있다.

어떻게 쓰나

설치와 설정은 공식 문서를 따른다. 플러그인 매니저로 저장소를 추가한 뒤 사용할 어댑터와 API 키를 설정한다. :checkhealth codecompanion으로 의존성과 로그 파일 위치를 확인하고, 문제가 재현되면 저장소의 minimal.lua를 nvim --clean -u minimal.lua로 실행해 사용자 설정을 배제한 상태에서 시험한다. 문서 검색은 채팅에서 @{search_help} 도구로 LLM에 요청할 수 있다.

전제와 한계

Neovim에서만 동작하는 Lua 플러그인이다. LLM 호출에는 프로바이더 API 키나 Ollama 같은 로컬 서버가 필요하고, ACP로 연결하는 CLI 에이전트는 각각 별도로 설치해야 한다. 이미지와 PDF를 입력으로 넣을 수 있고 여러 채팅을 동시에 열 수 있지만, 설치·설정·사용법은 README가 아니라 공식 문서에 있다.

관련 논문 2

유사 도구