From 184dad82e08cb5531f562748408f8c4ba090e251 Mon Sep 17 00:00:00 2001 From: mitchell Date: Mon, 19 May 2025 19:48:40 -0400 Subject: [PATCH 1/6] Improve AI configuration and key management - Remove unnecessary model options from `adr` function. - Update Anthropics key path in `aikeys` function. - Refactor CodeCompanion adapters to use specific Gemini models with different reasoning efforts. - Add gitignore for .aider* files. --- .config/fish/functions/adr.fish | 2 -- .config/fish/functions/aikeys.fish | 2 +- .config/nvim/lua/plugins/tools.lua | 33 +++++++++++++++++++----------- .gitignore | 1 + 4 files changed, 23 insertions(+), 15 deletions(-) create mode 100644 .gitignore diff --git a/.config/fish/functions/adr.fish b/.config/fish/functions/adr.fish index 4b8762a..15d577a 100644 --- a/.config/fish/functions/adr.fish +++ b/.config/fish/functions/adr.fish @@ -1,8 +1,6 @@ function adr --wraps aider aider \ --model gemini \ - --editor-model gpt-4.1-mini \ - --weak-model gpt-4.1-mini \ --dark-mode \ --completion-menu-bg-color '#1f1f28' \ --vim $argv diff --git a/.config/fish/functions/aikeys.fish b/.config/fish/functions/aikeys.fish index daf5843..bd36b01 100644 --- a/.config/fish/functions/aikeys.fish +++ b/.config/fish/functions/aikeys.fish @@ -5,6 +5,6 @@ function aikeys -d 'Set AI API keys' -a service case openai echo "set -lx OPENAI_API_KEY (kp Keys/openai-general -a Password)" case anthro - echo "set -lx ANTHROPIC_API_KEY (kp Keys/google-aistudio-key -a Password)" + echo "set -lx ANTHROPIC_API_KEY (kp Keys/anthropic-bespin-nvim -a Password)" end end diff --git a/.config/nvim/lua/plugins/tools.lua b/.config/nvim/lua/plugins/tools.lua index 88a5dce..0a87ff4 100644 --- a/.config/nvim/lua/plugins/tools.lua +++ b/.config/nvim/lua/plugins/tools.lua @@ -17,14 +17,15 @@ return { }, }, strategies = { - chat = { adapter = "gemini" }, - inline = { adapter = "openai_mini" }, - cmd = { adapter = "openai_mini" }, + chat = { adapter = "gemini_high" }, + inline = { adapter = "gemini_none" }, + cmd = { adapter = "gemini_none" }, }, adapters = { anthropic = function() return require("codecompanion.adapters").extend("anthropic", { schema = { + model = { default = "claude-3-7-sonnet-20250219" }, max_tokens = { default = 20000 }, }, }) @@ -36,6 +37,22 @@ return { }, }) end, + gemini_none = function() + return require("codecompanion.adapters").extend("gemini", { + schema = { + model = { default = "gemini-2.5-flash-preview-04-17" }, + reasoning_effort = { default = "none" }, + }, + }) + end, + gemini_high = function() + return require("codecompanion.adapters").extend("gemini", { + schema = { + model = { default = "gemini-2.5-flash-preview-04-17" }, + reasoning_effort = { default = "high" }, + }, + }) + end, openai = function() return require("codecompanion.adapters").extend("openai", { schema = { @@ -44,21 +61,13 @@ return { }, }) end, - openai_mini = function() - return require("codecompanion.adapters").extend("openai", { - schema = { - model = { default = "gpt-4.1-mini" }, - temperature = { default = 0 }, - }, - }) - end, }, }, keys = { { "cc", "CodeCompanionChat", desc = "CodeCompanion Chat", silent = true }, { "cf", - "CodeCompanionChat openai_mini", + "CodeCompanionChat gemini_none", desc = "CodeCompanion Chat (Fast)", silent = true, }, diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b0ac3ed --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.aider* From f8d58198c04fd096a89cd56150233b44d1f057fc Mon Sep 17 00:00:00 2001 From: mitchell Date: Wed, 21 May 2025 19:38:17 -0400 Subject: [PATCH 2/6] feat: add ollama and gemini_pro adapters --- .config/nvim/lua/plugins/tools.lua | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/.config/nvim/lua/plugins/tools.lua b/.config/nvim/lua/plugins/tools.lua index 0a87ff4..00628b3 100644 --- a/.config/nvim/lua/plugins/tools.lua +++ b/.config/nvim/lua/plugins/tools.lua @@ -22,39 +22,42 @@ return { cmd = { adapter = "gemini_none" }, }, adapters = { - anthropic = function() - return require("codecompanion.adapters").extend("anthropic", { - schema = { - model = { default = "claude-3-7-sonnet-20250219" }, - max_tokens = { default = 20000 }, - }, + ollama = function() + return require("codecompanion.adapters").extend("ollama", { + name = "ollama", + env = { url = "http://192.168.1.165:11434" }, + parameters = { sync = true }, + schema = { num_ctx = { default = 8192 } }, }) end, - gemini = function() + gemini_pro = function() return require("codecompanion.adapters").extend("gemini", { - schema = { - model = { default = "gemini-2.5-pro-preview-05-06" }, - }, + name = "gemini_pro", + schema = { model = { default = "gemini-2.5-pro-preview-05-06" } }, }) end, gemini_none = function() return require("codecompanion.adapters").extend("gemini", { + name = "gemini_none", schema = { - model = { default = "gemini-2.5-flash-preview-04-17" }, + model = { default = "gemini-2.5-flash-preview-05-20" }, reasoning_effort = { default = "none" }, + temperature = { default = 0 }, }, }) end, gemini_high = function() return require("codecompanion.adapters").extend("gemini", { + name = "gemini_high", schema = { - model = { default = "gemini-2.5-flash-preview-04-17" }, + model = { default = "gemini-2.5-flash-preview-05-20" }, reasoning_effort = { default = "high" }, }, }) end, - openai = function() + openai_high = function() return require("codecompanion.adapters").extend("openai", { + name = "openai_high", schema = { model = { default = "o4-mini-2025-04-16" }, reasoning_effort = { default = "high" }, From ef8b5dc97f62af32d1ed32c905851ab02a05e9b2 Mon Sep 17 00:00:00 2001 From: "mitchell (aider)" Date: Wed, 21 May 2025 20:43:06 -0400 Subject: [PATCH 3/6] refactor: Use helper function to create adapters --- .config/nvim/lua/plugins/tools.lua | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/.config/nvim/lua/plugins/tools.lua b/.config/nvim/lua/plugins/tools.lua index 00628b3..f329cb6 100644 --- a/.config/nvim/lua/plugins/tools.lua +++ b/.config/nvim/lua/plugins/tools.lua @@ -1,5 +1,14 @@ -- lua/plugins/tools.lua +local function create_adapter(adapter_type, name, opts) + return require("codecompanion.adapters").extend(adapter_type, { + name = name, + schema = opts.schema or {}, + env = opts.env or {}, + parameters = opts.parameters or {}, + }) +end + return { { "olimorris/codecompanion.nvim", @@ -23,22 +32,19 @@ return { }, adapters = { ollama = function() - return require("codecompanion.adapters").extend("ollama", { - name = "ollama", + return create_adapter("ollama", "ollama", { env = { url = "http://192.168.1.165:11434" }, parameters = { sync = true }, schema = { num_ctx = { default = 8192 } }, }) end, gemini_pro = function() - return require("codecompanion.adapters").extend("gemini", { - name = "gemini_pro", + return create_adapter("gemini", "gemini_pro", { schema = { model = { default = "gemini-2.5-pro-preview-05-06" } }, }) end, gemini_none = function() - return require("codecompanion.adapters").extend("gemini", { - name = "gemini_none", + return create_adapter("gemini", "gemini_none", { schema = { model = { default = "gemini-2.5-flash-preview-05-20" }, reasoning_effort = { default = "none" }, @@ -47,8 +53,7 @@ return { }) end, gemini_high = function() - return require("codecompanion.adapters").extend("gemini", { - name = "gemini_high", + return create_adapter("gemini", "gemini_high", { schema = { model = { default = "gemini-2.5-flash-preview-05-20" }, reasoning_effort = { default = "high" }, @@ -56,8 +61,7 @@ return { }) end, openai_high = function() - return require("codecompanion.adapters").extend("openai", { - name = "openai_high", + return create_adapter("openai", "openai_high", { schema = { model = { default = "o4-mini-2025-04-16" }, reasoning_effort = { default = "high" }, From bac32bec1980a46ad5d101ab6088206385239103 Mon Sep 17 00:00:00 2001 From: mitchell Date: Wed, 21 May 2025 20:55:55 -0400 Subject: [PATCH 4/6] refactor: improve adapter creation function readability --- .config/nvim/lua/plugins/tools.lua | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.config/nvim/lua/plugins/tools.lua b/.config/nvim/lua/plugins/tools.lua index f329cb6..fa7cb45 100644 --- a/.config/nvim/lua/plugins/tools.lua +++ b/.config/nvim/lua/plugins/tools.lua @@ -1,12 +1,12 @@ -- lua/plugins/tools.lua local function create_adapter(adapter_type, name, opts) - return require("codecompanion.adapters").extend(adapter_type, { - name = name, - schema = opts.schema or {}, - env = opts.env or {}, - parameters = opts.parameters or {}, - }) + return require("codecompanion.adapters").extend(adapter_type, { + name = name, + schema = opts.schema or {}, + env = opts.env or {}, + parameters = opts.parameters or {}, + }) end return { From 256a64d8cf1829042785b9207d3d64f14cae4bab Mon Sep 17 00:00:00 2001 From: "mitchell (aider)" Date: Wed, 21 May 2025 21:05:15 -0400 Subject: [PATCH 5/6] feat: remove redundant `name` field from adapter configs --- .config/nvim/lua/plugins/tools.lua | 83 ++++++++++++++++-------------- 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/.config/nvim/lua/plugins/tools.lua b/.config/nvim/lua/plugins/tools.lua index fa7cb45..72c8b60 100644 --- a/.config/nvim/lua/plugins/tools.lua +++ b/.config/nvim/lua/plugins/tools.lua @@ -9,6 +9,49 @@ local function create_adapter(adapter_type, name, opts) }) end +local adapter_configs = { + ollama = { + type = "ollama", + env = { url = "http://192.168.1.165:11434" }, + parameters = { sync = true }, + schema = { num_ctx = { default = 8192 } }, + }, + gemini_pro = { + type = "gemini", + schema = { model = { default = "gemini-2.5-pro-preview-05-06" } }, + }, + gemini_none = { + type = "gemini", + schema = { + model = { default = "gemini-2.5-flash-preview-05-20" }, + reasoning_effort = { default = "none" }, + temperature = { default = 0 }, + }, + }, + gemini_high = { + type = "gemini", + schema = { + model = { default = "gemini-2.5-flash-preview-05-20" }, + reasoning_effort = { default = "high" }, + }, + }, + openai_high = { + type = "openai", + schema = { + model = { default = "o4-mini-2025-04-16" }, + reasoning_effort = { default = "high" }, + }, + }, +} + +-- Dynamically generate adapter functions +local adapters = {} +for name, config in pairs(adapter_configs) do + adapters[name] = function() + return create_adapter(config.type, name, config) + end +end + return { { "olimorris/codecompanion.nvim", @@ -30,45 +73,7 @@ return { inline = { adapter = "gemini_none" }, cmd = { adapter = "gemini_none" }, }, - adapters = { - ollama = function() - return create_adapter("ollama", "ollama", { - env = { url = "http://192.168.1.165:11434" }, - parameters = { sync = true }, - schema = { num_ctx = { default = 8192 } }, - }) - end, - gemini_pro = function() - return create_adapter("gemini", "gemini_pro", { - schema = { model = { default = "gemini-2.5-pro-preview-05-06" } }, - }) - end, - gemini_none = function() - return create_adapter("gemini", "gemini_none", { - schema = { - model = { default = "gemini-2.5-flash-preview-05-20" }, - reasoning_effort = { default = "none" }, - temperature = { default = 0 }, - }, - }) - end, - gemini_high = function() - return create_adapter("gemini", "gemini_high", { - schema = { - model = { default = "gemini-2.5-flash-preview-05-20" }, - reasoning_effort = { default = "high" }, - }, - }) - end, - openai_high = function() - return create_adapter("openai", "openai_high", { - schema = { - model = { default = "o4-mini-2025-04-16" }, - reasoning_effort = { default = "high" }, - }, - }) - end, - }, + adapters = adapters, }, keys = { { "cc", "CodeCompanionChat", desc = "CodeCompanion Chat", silent = true }, From 0df65efe7c5190f7070f01e503ab4bce4123f35c Mon Sep 17 00:00:00 2001 From: mitchell Date: Thu, 29 May 2025 17:27:27 -0400 Subject: [PATCH 6/6] chore: Update adr alias and codecompanion configuration --- .config/fish/functions/adr.fish | 7 ------- .config/fish/functions/define_aliases.fish | 1 + .config/nvim/lazy-lock.json | 16 ++++++++-------- .config/nvim/lua/plugins/tools.lua | 2 +- 4 files changed, 10 insertions(+), 16 deletions(-) delete mode 100644 .config/fish/functions/adr.fish diff --git a/.config/fish/functions/adr.fish b/.config/fish/functions/adr.fish deleted file mode 100644 index 15d577a..0000000 --- a/.config/fish/functions/adr.fish +++ /dev/null @@ -1,7 +0,0 @@ -function adr --wraps aider - aider \ - --model gemini \ - --dark-mode \ - --completion-menu-bg-color '#1f1f28' \ - --vim $argv -end diff --git a/.config/fish/functions/define_aliases.fish b/.config/fish/functions/define_aliases.fish index 5a453c3..3d46c76 100644 --- a/.config/fish/functions/define_aliases.fish +++ b/.config/fish/functions/define_aliases.fish @@ -20,6 +20,7 @@ function define_aliases -a uname -d 'Defines aliases for commonly used commands' alias hx helix alias ai aichat alias ais aisearch + alias adr aider switch "$uname" case Linux diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 438dbe5..359a0c3 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,21 +1,21 @@ { - "ale": { "branch": "master", "commit": "5098dfd27edf2b38e5af284f6f440d24cf806b53" }, + "ale": { "branch": "master", "commit": "80ff84db84ba172bfcdee5e2748924bb2249134b" }, "blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, - "codecompanion.nvim": { "branch": "main", "commit": "0beb9183954ae1afa2e1f5a91812706764d1a743" }, + "codecompanion.nvim": { "branch": "main", "commit": "a5a8701bf8814ff0ba9bf5f76b3a3deedf3e5f28" }, "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "kanagawa.nvim": { "branch": "master", "commit": "4de88d695634a8776c687af8e7436cfa074aa0c0" }, + "kanagawa.nvim": { "branch": "master", "commit": "debe91547d7fb1eef34ce26a5106f277fbfdd109" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" }, - "markview.nvim": { "branch": "main", "commit": "23f8bda5a172287c3423a3ffe7640efefa52a48b" }, - "mini.diff": { "branch": "main", "commit": "ec8a5ae365c5d15920721ea42b1351dbc9e61f2d" }, + "lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" }, + "markview.nvim": { "branch": "main", "commit": "68c9603b6f88fd962444f8579024418fe5e170f1" }, + "mini.diff": { "branch": "main", "commit": "f7bcd3cb4561f7d3a02ae9afafeda899c82f7108" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "f481de16a0eb59c985abac8985e3f2e2f75b4875" }, "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, "nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" }, - "nvim-lspconfig": { "branch": "master", "commit": "ac1dfbe3b60e5e23a2cff90e3bd6a3bc88031a57" }, + "nvim-lspconfig": { "branch": "master", "commit": "3ea99227e316c5028f57a4d86a1a7fd01dd876d0" }, "nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" }, - "nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" }, diff --git a/.config/nvim/lua/plugins/tools.lua b/.config/nvim/lua/plugins/tools.lua index 72c8b60..f1097a3 100644 --- a/.config/nvim/lua/plugins/tools.lua +++ b/.config/nvim/lua/plugins/tools.lua @@ -14,7 +14,7 @@ local adapter_configs = { type = "ollama", env = { url = "http://192.168.1.165:11434" }, parameters = { sync = true }, - schema = { num_ctx = { default = 8192 } }, + schema = { num_ctx = { default = 40960 } }, }, gemini_pro = { type = "gemini",