Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/erickm13/Salchipapa.Dots/llms.txt

Use this file to discover all available pages before exploring further.

AI tools are first-class citizens in Salchipapa.Dots. Neovim ships with six AI plugin specs — Avante, GitHub Copilot, CopilotChat, Gemini CLI, Claude Code, and CodeCompanion — and the shell layer adds CLI entry points for Gemini and Claude Code so the same models are available both inside and outside the editor.

Avante (Default AI Assistant) \

Avante is the primary AI assistant panel, providing a sidebar chat, inline code application, and auto-suggestions directly in Neovim. Plugin: yetone/avante.nvim

Provider configuration

provider = "copilot",
providers = {
  copilot = {
    model = "claude-sonnet-4",
  },
},
cursor_applying_provider = "copilot",
auto_suggestions_provider = "copilot",
behaviour = {
  enable_cursor_planning_mode = true,
},
The provider backend is GitHub Copilot, which relays requests to claude-sonnet-4. Both the cursor-applying provider and auto-suggestions provider point to the same Copilot backend, so all AI features share a single authenticated connection.
SettingValue
positionleft
width30 (percent of available width)
file_selector.providersnacks
sidebar_header.roundedfalse

Installation note

Avante requires a native build step. Lazy.nvim runs it automatically on install:
build = function()
  return "make"
end,
If you need to rebuild from source, pass BUILD_FROM_SOURCE=true:
make BUILD_FROM_SOURCE=true

Auto-resize fix

The configuration includes an AvanteResizeFix autocmd group that listens to VimResized, WinScrolled, WinResized, and FocusGained events. When the terminal is resized while the Avante sidebar has focus, the fix temporarily moves the cursor to a non-Avante window, allows the resize to complete, then restores focus — preventing layout corruption. Duplicate AvanteAsk and AvanteSelectedFiles panels are also cleaned up automatically.

Key bindings

Avante uses LazyVim’s default key map namespace under <leader>a. Common mappings:
KeymapAction
<leader>aaOpen / toggle Avante sidebar
<leader>aeEdit with Avante
The Avante system prompt is configured as a senior frontend architecture assistant with deep expertise in Angular, React, clean architecture, hexagonal architecture, and LazyVim tooling. It speaks in a direct, professional-yet-relaxed style and always grounds explanations in practical examples.

GitHub Copilot \

Plugins: zbirenbaum/copilot.lua and CopilotC-Nvim/CopilotChat.nvim GitHub Copilot serves two roles in this setup:
  1. Avante backend — Copilot is the provider that Avante uses to route requests to Claude models.
  2. CopilotChat — a dedicated chat interface for interactive Q&A, code review, refactoring, and documentation generation.

Copilot filetypes

Copilot inline suggestions are disabled for noise-prone file types to keep completions relevant:
filetypes = {
  yaml = false,
  markdown = false,
  help = false,
  gitcommit = false,
  gitrebase = false,
  hgcommit = false,
  svn = false,
  cvs = false,
  ["."] = false,
}

CopilotChat

CopilotChat opens a horizontal split with model = "claude-3.5-sonnet" and exposes a rich prompt library:
PromptDescription
ExplainExplains how the selected code works
ReviewReviews code and suggests improvements
TestsGenerates unit tests for selected code
RefactorRefactors for clarity and readability
FixCodeFixes broken code
FixErrorExplains and resolves errors
DocumentationGenerates inline documentation
JsDocsGenerates JSDoc comments
SwaggerApiDocsGenerates Swagger API documentation
Open CopilotChat with :CopilotChat.

Gemini CLI \

Gemini is available both as a shell CLI and as a Neovim plugin.

Shell install

npm install -g @google/gemini-cli
Verify the installation:
which gemini

Neovim plugin

Plugin: jonroosevelt/gemini-cli.nvim The plugin is conditionally enabled — it only loads when the gemini binary is present in PATH:
enabled = function()
  return vim.fn.executable("gemini") == 1
end,
To verify Neovim can see the binary, run inside Neovim:
:echo executable('gemini')
A return value of 1 means the plugin will load on next start.

Claude Code \

Claude Code is available as a shell CLI and as a terminal-integrated Neovim plugin.

Shell install

npm install -g @anthropic-ai/claude-code
Verify:
which claude

Neovim plugin

Plugin: coder/claudecode.nvim The plugin opens a terminal split on the left side using the snacks provider:
opts = {
  terminal = {
    split_side = "left",
    split_width_percentage = 0.30,
    provider = "snacks",
  },
},

Key bindings

KeymapAction
<leader>acToggle Claude Code terminal
<leader>afFocus the Claude Code pane
<leader>arResume last Claude Code session (--resume)
<leader>aCContinue last conversation (--continue)
<leader>amSelect Claude model
<leader>abAdd current buffer to context
<leader>as (visual)Send selection to Claude
<leader>aaAccept diff
<leader>adDeny diff
<leader>atContinue recent conversation
When running inside tmux, set -g extended-keys always must be added to your tmux.conf for Shift+Enter to work correctly with Claude Code’s input handling.

CodeCompanion \

Plugin: olimorris/codecompanion.nvim CodeCompanion is a multi-model AI chat and inline assistant with agentic tool support, progress notifications, and a custom slash-command system.

Adapters (multi-model)

CodeCompanion is configured with three named Copilot-backed adapters so you can switch models mid-session:
Adapter nameModel
copilot_4ogpt-4o
copilot_41gpt-4.1
copilot_gemini_25_progemini-2.5-pro
The default chat adapter is copilot.

Notifier

A codecompanion-notifier module initialises on startup and surfaces streaming progress in the status line, so long-running requests stay visible.

Agentic tool groups

Tool groupTools included
full_stack_devcmd_runner, editor, files
gentlemancmd_runner, editor, files
Both tool groups require user approval before running shell commands or modifying files.

Inline keymaps

KeymapModeAction
<leader>acn / vToggle CodeCompanion chat
<leader>ann / vOpen new chat
<leader>aan / vOpen actions picker
gavAdd selection to chat
<leader>aevExplain selection
ganAccept inline change
grnReject inline change
The cc command abbreviation maps to CodeCompanion for quick inline use:
:cc fix this function

Git files slash command

A custom /git_files slash command is available in chat sessions — it runs git ls-files and adds the result as a reference, giving the model context about what’s tracked in the repository.

All-in-one CLI install

Install all shell AI tools in one command:
npm install -g @google/gemini-cli @angular/cli @anthropic-ai/claude-code
Alternatively, choose “All (Gemini + Angular + Claude Code)” from the installer’s CLI menu when running install.sh.

Build docs developers (and LLMs) love