CodeCompanion.nvim extension for GitHub Copilot CLI's ACP (Agent Client Protocol) server.
This adapter enables CodeCompanion.nvim to communicate with GitHub Copilot CLI via the standardized Agent Client Protocol (ACP). The Copilot CLI acts as an ACP-compliant agent that can be integrated into your development workflow.
- GitHub Copilot CLI: Must be installed and authenticated. See GitHub Copilot CLI documentation
- CodeCompanion.nvim: The Neovim plugin that this adapter extends
Add this repository as a dependency to CodeCompanion:
{
"olimorris/codecompanion.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
"ttgrules/cc-adapter-copilot-cli-acp",
},
config = function()
require("codecompanion").setup({
adapters = {
acp = {
copilot_cli = function()
return require("codecompanion.adapters").extend("copilot_cli", {})
end,
},
},
interactions = {
chat = {
adapter = "copilot_cli",
},
},
})
end,
}-
Clone this repository to your Neovim config:
git clone https://github.com/ttgrules/cc-adapter-copilot-cli-acp ~/.config/nvim/pack/plugins/start/cc-adapter-copilot-cli-acp -
Configure CodeCompanion to use the Copilot CLI adapter:
require("codecompanion").setup({ adapters = { acp = { copilot_cli = function() return require("codecompanion.adapters").extend("copilot_cli", {}) end, }, }, interactions = { chat = { adapter = "copilot_cli", }, }, })
The adapter works out-of-the-box with sensible defaults. You can customize settings when extending:
require("codecompanion").setup({
adapters = {
acp = {
copilot_cli = function()
return require("codecompanion.adapters").extend("copilot_cli", {
defaults = {
mcpServers = {}, -- Add MCP servers if needed
timeout = 20000, -- 20 seconds
},
})
end,
},
},
})- timeout: Request timeout in milliseconds (default: 20000)
- mcpServers: Array of MCP (Model Context Protocol) servers to integrate (default: empty)
For issues or questions:
- Check the CodeCompanion.nvim documentation
- Review the Copilot CLI ACP documentation
- Consult the ACP protocol specifications
- Open an issue on this repository
See the LICENSE file for details.