diff --git a/.config/fish/functions/adr.fish b/.config/fish/functions/adr.fish deleted file mode 100644 index 4b8762a..0000000 --- a/.config/fish/functions/adr.fish +++ /dev/null @@ -1,9 +0,0 @@ -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 -end 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/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 88a5dce..f1097a3 100644 --- a/.config/nvim/lua/plugins/tools.lua +++ b/.config/nvim/lua/plugins/tools.lua @@ -1,5 +1,57 @@ -- 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 + +local adapter_configs = { + ollama = { + type = "ollama", + env = { url = "http://192.168.1.165:11434" }, + parameters = { sync = true }, + schema = { num_ctx = { default = 40960 } }, + }, + 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", @@ -17,48 +69,17 @@ return { }, }, strategies = { - chat = { adapter = "gemini" }, - inline = { adapter = "openai_mini" }, - cmd = { adapter = "openai_mini" }, - }, - adapters = { - anthropic = function() - return require("codecompanion.adapters").extend("anthropic", { - schema = { - max_tokens = { default = 20000 }, - }, - }) - end, - gemini = function() - return require("codecompanion.adapters").extend("gemini", { - schema = { - model = { default = "gemini-2.5-pro-preview-05-06" }, - }, - }) - end, - openai = function() - return require("codecompanion.adapters").extend("openai", { - schema = { - model = { default = "o4-mini-2025-04-16" }, - reasoning_effort = { default = "high" }, - }, - }) - end, - openai_mini = function() - return require("codecompanion.adapters").extend("openai", { - schema = { - model = { default = "gpt-4.1-mini" }, - temperature = { default = 0 }, - }, - }) - end, + chat = { adapter = "gemini_high" }, + inline = { adapter = "gemini_none" }, + cmd = { adapter = "gemini_none" }, }, + adapters = adapters, }, 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*