tai.nvim + tai a minimal Neovim plugin and a CLI tool built to bring AI-powered text and code insights directly to your editor. the plugin sends selections, prompts, or full files for processing using the groq API. features - send motions or visual selections from Neovim - prompt for input and combine it with text or files - responses show up in a split buffer in Neovim - apply patches or run commands - agents create plans for big code changes keybindings normal mode: gT + motion - send motion selection gP + motion - send motion selection with input <leader>ti - prompt input and send <leader>tf - prompt input with file insert mode: <C-x><C-t> - trigger complete function installation clone or place lua/tai/ into your Neovim config dir ~/.config/nvim/lua/ and add keymaps to init.lua: vim.g.mapleader = " " local tai = require("tai") vim.keymap.set("n", "gT", function() vim.cmd("set operatorfunc=v:lua.tai_operator_send") vim.api.nvim_feedkeys("g@", "n", false) end) vim.keymap.set("n", "gP", function() vim.cmd("set operatorfunc=v:lua.tai_operator_send_with_prompt") vim.api.nvim_feedkeys("g@", "n", false) end) vim.keymap.set("v", "<leader>t", function() tai.operator_send("char") end, { noremap = true, silent = true }) vim.keymap.set("i", "<leader>ti", function() vim.schedule(tai.prompt_input) end, { noremap = true }) vim.keymap.set("i", "<leader>tf", function() vim.schedule(tai.prompt_full_file) end, { noremap = true }) CLI build the go code: go build -o tai . move tai to a folder in your path. usage make sure the GROQ_API_KEY env var is set. create a .tai file at the root or your project. editting any file in that project should start tai. then just use the keybindings above. note: the first time tai is open it will index all your project's files, so it may take some time to fully load. to use the CLI you just run tai in your shell, this will start the interactive mode that you can use to chat. tai is aware if is being used in a pipeline, so you can run it to improve your terminal workflow, e.g. ls . | tai "rename to snake_case" | ... screenshots - side panel - input for prompt license MIT License (C) 2025 Brian Mayer