return { "olimorris/codecompanion.nvim", dependencies = { "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", }, --{{{ Options opts = { --- {{{ Display display = { chat = { window = { layout = "vertical", width = 0.35, height = 0.35, }, keymaps = { close = { modes = { n = "q", -- Bind "q" in normal mode to close the chat }, index = 1, callback = "keymaps.close", description = "Close Chat", }, } }, }, -- }}} -- -- {{{ INTERACTIONS interactions = { chat = { adapter = "ollama_coder", -- Removed the curly braces }, inline = { adapter = "ollama_coder", -- Removed the curly braces }, background = { adapter = "ollama_bg", -- Pointed this to the new extended adapter string } }, -- }}} -- -- {{{ Adapters adapters = { http = { gemini_pro = function() return require("codecompanion.adapters").extend("gemini", { name = "gemini_pro", schema = { model = { default = "gemini-3.5-flash", }, }, }) end, gemini_flash = function() return require("codecompanion.adapters").extend("gemini", { name = "gemini_flash", schema = { model = { default = "gemini-2.0-flash", }, }, }) end, -- local ollama coding model ollama_coder = function() return require("codecompanion.adapters").extend("ollama", { name = "ollama_bg", schema = { model = { default = "qwen2.5-coder:7b", }, }, }) end, -- Added an extended Ollama adapter to fix your background task ollama_bg = function() return require("codecompanion.adapters").extend("ollama", { name = "ollama_bg", schema = { model = { default = "qwen3.5:4b", }, }, }) end, }, }, -- }}} -- -- {{{ Library prompt_library = { ["Local Executor"] = { strategy = "chat", description = "Executes implementation diffs locally and writes TDD test cases.", opts = { adapter = "ollama_coder", -- Force it to use your local hardware is_default = false, is_slash_cmd = false, }, prompts = { { role = "system", content = [[You are the Last Mile Executor. You run in a stateless context. I will provide you with a unified diff and a testing plan. Your strict execution order is: 1. Output the test case file modifications first (SDET-first). 2. Output the production implementation code modifications. Do not write markdown headers (H1/H2). Use code blocks with the language ID. Precede every code block with a line comment specifying the exact 'filepath:'. Do not use bash syntax; adhere strictly to POSIX sh if writing shell automation. Do not execute terminal commands directly. Output the code blocks for manual unstaged review.]], }, { role = "user", content = "I am ready to provide the Planner's diff. Await my input.", }, }, }, }, -- }}} } --}}} }