replaced codecompanion with sidekick for better gemini support, added a

few keybinds, need to add more
This commit is contained in:
venus
2026-08-14 04:38:54 -05:00
parent 84fa3b8363
commit 8d840a4e29
2 changed files with 28 additions and 129 deletions

View File

@@ -1,129 +0,0 @@
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.",
},
},
},
},
-- }}}
}
--}}}
}

28
lua/plugins/sidekick.lua Normal file
View File

@@ -0,0 +1,28 @@
return {
"folke/sidekick.nvim",
keys = {
{
"<leader>as",
function()
require("sidekick.cli").select()
end,
desc = "Sidekick (Select AI CLI)",
},
{
"<leader>ak",
function()
require("sidekick.cli").toggle({ name = "antigravity", focus = true })
end,
desc = "Sidekick Toggle Antigravity",
},
},
opts = {
cli = {
tools = {
antigravity = {
cmd = { "agy" },
},
},
},
},
}