return { "olimorris/codecompanion.nvim", dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", }, opts = { log_level = "TRACE", -- or "TRACE" interactions = { chat = { adapter = "opencode", roles = { ---The header name for the LLM's messages ---@type string|fun(adapter: CodeCompanion.HTTPAdapter|CodeCompanion.ACPAdapter): string llm = function(adapter) return "CodeCompanion (" .. adapter.formatted_name .. ")" end, ---The header name for your messages ---@type string user = "Haelnorr", }, }, inline = { adapter = "anthropic", }, }, rules = { default = { files = { { path = "RULES.md", parser = "claude" }, }, is_preset = true, }, opts = { chat = { autoload = "default", enabled = true, }, }, }, }, keys = { { "ac", "CodeCompanionChat Toggle", desc = "Toggle CodeCompanion Chat" }, { "ai", "CodeCompanion", mode = "v", desc = "Open CodeCompanion Inline" }, }, }