add avante
This commit is contained in:
parent
7a61bebc3c
commit
fb39d02d49
|
|
@ -0,0 +1,220 @@
|
|||
# 📑 Avante Installation Index
|
||||
|
||||
## Welcome! 👋
|
||||
|
||||
You've successfully installed **Avante** - a powerful AI code assistant for Neovim that integrates with your existing **Copilot Premium** subscription.
|
||||
|
||||
## 📖 Documentation Map
|
||||
|
||||
Read these in order:
|
||||
|
||||
### 1️⃣ **START HERE**: `AVANTE_QUICK_START.md`
|
||||
- 5-minute setup
|
||||
- Essential keybindings
|
||||
- Try it now!
|
||||
- Common use cases
|
||||
|
||||
### 2️⃣ **Full Setup**: `AVANTE_SETUP.md`
|
||||
- Detailed configuration
|
||||
- API key setup
|
||||
- Project instructions
|
||||
- Troubleshooting guide
|
||||
|
||||
### 3️⃣ **Status Check**: `INSTALLATION_CHECKLIST.md`
|
||||
- What was installed
|
||||
- Configuration details
|
||||
- Next steps
|
||||
- Success criteria
|
||||
|
||||
### 4️⃣ **Configuration**: `lua/custom/plugins/avante.lua`
|
||||
- The actual plugin config
|
||||
- Keybindings
|
||||
- Customization options
|
||||
- Inline documentation
|
||||
|
||||
---
|
||||
|
||||
## ⚡ TL;DR - Get Started in 30 Seconds
|
||||
|
||||
```bash
|
||||
# 1. Make sure API key is set
|
||||
echo $OPENAI_API_KEY
|
||||
|
||||
# 2. Open Neovim
|
||||
nvim
|
||||
|
||||
# 3. Press these keys
|
||||
<leader>at # Toggle Avante sidebar
|
||||
v + select # Select some code
|
||||
<leader>aa # Ask Avante a question
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Main Keybindings
|
||||
|
||||
| Shortcut | Action |
|
||||
|----------|--------|
|
||||
| `<leader>aa` | **A**sk about code |
|
||||
| `<leader>ae` | **E**dit with Avante |
|
||||
| `<leader>at` | **T**oggle sidebar |
|
||||
| `<leader>ar` | **R**efactor |
|
||||
| `<leader>ad` | **D**ocument |
|
||||
| `<leader>af` | **F**ix issues |
|
||||
| `<leader>ax` | E**X**ecute command |
|
||||
|
||||
---
|
||||
|
||||
## 🚀 First-Time Setup Checklist
|
||||
|
||||
- [ ] Read `AVANTE_QUICK_START.md` (5 min)
|
||||
- [ ] Check API key: `echo $OPENAI_API_KEY`
|
||||
- [ ] Open Neovim: `nvim`
|
||||
- [ ] Press `<leader>at` to toggle sidebar
|
||||
- [ ] Try `<leader>aa` on some code
|
||||
- [ ] Run `:checkhealth avante` to verify
|
||||
- [ ] Read `AVANTE_SETUP.md` for full guide
|
||||
|
||||
---
|
||||
|
||||
## 🆚 Avante vs OpenCode
|
||||
|
||||
**This is important!** You now have TWO AI tools:
|
||||
|
||||
### Avante (`<leader>a*`)
|
||||
- **UI**: Integrated sidebar in Neovim
|
||||
- **Speed**: Instant, direct LLM access
|
||||
- **Best for**: Quick edits, refactoring, questions
|
||||
- **API**: OpenAI (gpt-4o)
|
||||
- **Cost**: $0.15 per 1M input tokens (gpt-4o)
|
||||
|
||||
### OpenCode (`<leader>o*`)
|
||||
- **UI**: Terminal-based agent interface
|
||||
- **Speed**: Slower, but more powerful
|
||||
- **Best for**: Complex multi-step tasks, MCP tools
|
||||
- **API**: Your configuration
|
||||
- **Cost**: Depends on your setup
|
||||
|
||||
**Tip**: Use Avante for quick tasks, OpenCode for complex workflows!
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Configuration Files
|
||||
|
||||
All config in: `/Users/stuartstephens/.config/nvim/`
|
||||
|
||||
```
|
||||
nvim/
|
||||
├── lua/custom/plugins/
|
||||
│ ├── avante.lua ← Avante config (MAIN)
|
||||
│ ├── opencode.lua ← OpenCode config (unchanged)
|
||||
│ └── ... ← Other plugins
|
||||
├── AVANTE_QUICK_START.md ← Quick reference
|
||||
├── AVANTE_SETUP.md ← Full guide
|
||||
├── INSTALLATION_CHECKLIST.md ← Status
|
||||
└── AVANTE_INDEX.md ← This file!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔑 API Key Setup
|
||||
|
||||
Before first use, set your OpenAI API key:
|
||||
|
||||
```bash
|
||||
# Check if set
|
||||
echo $OPENAI_API_KEY
|
||||
|
||||
# Should output something like: sk-...
|
||||
# If empty, add to ~/.zshrc or ~/.bash_profile
|
||||
|
||||
export OPENAI_API_KEY="sk-proj-..."
|
||||
|
||||
# Then restart terminal
|
||||
source ~/.zshrc
|
||||
```
|
||||
|
||||
**Get your key**: https://platform.openai.com/api-keys
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Troubleshooting
|
||||
|
||||
### Sidebar won't appear?
|
||||
```vim
|
||||
:checkhealth avante
|
||||
```
|
||||
Look for red ✗ and fix any issues listed
|
||||
|
||||
### API key errors?
|
||||
```bash
|
||||
# Verify it's set correctly
|
||||
echo $OPENAI_API_KEY
|
||||
# Should show: sk-...
|
||||
|
||||
# If not set, add to ~/.zshrc and restart terminal
|
||||
```
|
||||
|
||||
### Want cheaper models?
|
||||
Edit `lua/custom/plugins/avante.lua` and change:
|
||||
```lua
|
||||
model = 'gpt-4o-mini' -- Cheaper option
|
||||
```
|
||||
|
||||
### More help?
|
||||
Read `AVANTE_SETUP.md` → Troubleshooting section
|
||||
|
||||
---
|
||||
|
||||
## 📊 Monitor Costs
|
||||
|
||||
Since you're using your existing Copilot Premium:
|
||||
|
||||
1. **Check usage**: https://platform.openai.com/account/billing/usage
|
||||
2. **Set spending limit**: https://platform.openai.com/account/billing/limits
|
||||
3. **Expected costs**: ~$0.15 per 1M input tokens
|
||||
|
||||
---
|
||||
|
||||
## 🎓 Learn More
|
||||
|
||||
- **Avante GitHub**: https://github.com/yetone/avante.nvim
|
||||
- **OpenAI Models**: https://platform.openai.com/docs/models
|
||||
- **Copilot Plans**: https://github.com/features/copilot
|
||||
|
||||
---
|
||||
|
||||
## ✨ Pro Tips
|
||||
|
||||
1. **Visual selection**: `v` + select + `<leader>aa` = instant context
|
||||
2. **Project context**: Create `avante.md` in your project root
|
||||
3. **Keyboard only**: Use `<Tab>` to navigate between sidebar and code
|
||||
4. **LSP integration**: Avante sees your diagnostics automatically
|
||||
5. **Cost saving**: Use `gpt-4o-mini` for routine tasks
|
||||
|
||||
---
|
||||
|
||||
## 📞 Quick Reference
|
||||
|
||||
**Installation status**: ✅ Complete
|
||||
**Plugin**: `yetone/avante.nvim`
|
||||
**Version**: Latest (auto-updating)
|
||||
**API**: OpenAI (Copilot Premium)
|
||||
**Keybindings**: `<leader>a*` (zero conflicts)
|
||||
**Documentation**: This index + 3 guides
|
||||
|
||||
---
|
||||
|
||||
## 🎉 You're All Set!
|
||||
|
||||
Next steps:
|
||||
1. Read `AVANTE_QUICK_START.md`
|
||||
2. Open Neovim: `nvim`
|
||||
3. Press `<leader>at` to start
|
||||
4. Have fun! 🚀
|
||||
|
||||
---
|
||||
|
||||
**Last updated**: Feb 1, 2025
|
||||
**Status**: Ready to use
|
||||
**Need help?**: Check troubleshooting in `AVANTE_SETUP.md`
|
||||
|
|
@ -0,0 +1,161 @@
|
|||
# 🚀 Avante Quick Start
|
||||
|
||||
## ✅ You're All Set!
|
||||
|
||||
Avante has been successfully installed and configured for your Neovim setup.
|
||||
|
||||
## What You Get
|
||||
|
||||
- **Native Neovim Integration**: No more switching to terminal
|
||||
- **Copilot Premium Powered**: Uses your existing OpenAI API key
|
||||
- **Instant Access**: Press `<leader>at` to toggle the sidebar
|
||||
- **Full Context**: Works with your selected code, open buffers, and diagnostics
|
||||
|
||||
## 🎯 Try It Now (5 seconds)
|
||||
|
||||
1. Open Neovim: `nvim`
|
||||
2. Open a code file
|
||||
3. Press: `<leader>at` (toggle Avante sidebar)
|
||||
4. Select some code with `v` key
|
||||
5. Press: `<leader>aa` (ask Avante)
|
||||
6. Type your question and press Enter!
|
||||
|
||||
## 📋 Main Commands
|
||||
|
||||
**Basic Workflow:**
|
||||
```
|
||||
<leader>aa = Ask about selected code
|
||||
<leader>ae = Edit/apply Avante suggestions
|
||||
<leader>at = Toggle sidebar (on/off)
|
||||
```
|
||||
|
||||
**Advanced Tasks:**
|
||||
```
|
||||
<leader>ar = Refactor code
|
||||
<leader>ad = Add documentation
|
||||
<leader>af = Fix issues/bugs
|
||||
<leader>ax = Use slash commands (e.g., /debug, /analyze)
|
||||
```
|
||||
|
||||
## 💡 Common Use Cases
|
||||
|
||||
### Quick Question
|
||||
```
|
||||
1. Select function: v + select lines
|
||||
2. Press <leader>aa
|
||||
3. Ask: "What does this do?"
|
||||
4. Read response in sidebar
|
||||
```
|
||||
|
||||
### Refactor Code
|
||||
```
|
||||
1. Place cursor on code
|
||||
2. Press <leader>ar
|
||||
3. Avante suggests improvements
|
||||
4. Press 'a' to apply or review changes
|
||||
```
|
||||
|
||||
### Get Documentation
|
||||
```
|
||||
1. Select function
|
||||
2. Press <leader>ad
|
||||
3. Avante generates comments
|
||||
4. Review and apply with 'a' key
|
||||
```
|
||||
|
||||
### Use Your Project Context
|
||||
- Create `avante.md` in your project root
|
||||
- Avante will automatically use it for context
|
||||
- Example: Tell it your tech stack, coding standards, etc.
|
||||
|
||||
## 🔑 Important: Set Your API Key
|
||||
|
||||
Before first use, make sure your OpenAI API key is set:
|
||||
|
||||
```bash
|
||||
# Check if it's set:
|
||||
echo $OPENAI_API_KEY
|
||||
|
||||
# If empty, add to ~/.zshrc or ~/.bash_profile:
|
||||
export OPENAI_API_KEY="sk-..."
|
||||
|
||||
# Then restart terminal or:
|
||||
source ~/.zshrc
|
||||
```
|
||||
|
||||
## 🎮 Sidebar Navigation
|
||||
|
||||
Once `<leader>at` opens the sidebar:
|
||||
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| `<Tab>` | Switch between Avante and code |
|
||||
| `<S-Tab>` | Switch back |
|
||||
| `a` | Apply suggestion |
|
||||
| `A` | Apply all suggestions |
|
||||
| Arrow keys | Navigate responses |
|
||||
| `i` | Enter insert mode to edit prompt |
|
||||
|
||||
## 🐛 Something Not Working?
|
||||
|
||||
1. **Sidebar won't appear?**
|
||||
```vim
|
||||
:checkhealth avante
|
||||
```
|
||||
Check for red X marks and fix any issues
|
||||
|
||||
2. **API errors?**
|
||||
- Verify key: `echo $OPENAI_API_KEY` should show `sk-...`
|
||||
- Check balance: https://platform.openai.com/account/billing/overview
|
||||
- Restart Neovim after setting the key
|
||||
|
||||
3. **Need to change model?**
|
||||
- Edit: `/Users/stuartstephens/.config/nvim/lua/custom/plugins/avante.lua`
|
||||
- Find line with `model = 'gpt-4o'`
|
||||
- Change to `'gpt-4o-mini'` for cheaper option
|
||||
|
||||
## 🆚 Compare with OpenCode
|
||||
|
||||
You now have TWO AI tools:
|
||||
|
||||
**OpenCode** (`<leader>o*`):
|
||||
- Agent-based orchestration
|
||||
- Best for: Complex, multi-step tasks
|
||||
- Terminal UI in a split
|
||||
- Access to MCP tools
|
||||
|
||||
**Avante** (`<leader>a*`):
|
||||
- Direct LLM access
|
||||
- Best for: Quick edits, refactoring
|
||||
- Integrated sidebar
|
||||
- Fast and focused
|
||||
|
||||
Use whichever feels right for each task!
|
||||
|
||||
## 📊 Monitor Your Costs
|
||||
|
||||
Both tools use OpenAI API, so costs add up:
|
||||
- Check usage: https://platform.openai.com/account/billing/usage
|
||||
- Set spending limit: https://platform.openai.com/account/billing/limits
|
||||
|
||||
## 🎓 Learn More
|
||||
|
||||
- Full guide: Read `AVANTE_SETUP.md` in your nvim config directory
|
||||
- Avante docs: https://github.com/yetone/avante.nvim
|
||||
- OpenAI models: https://platform.openai.com/docs/models
|
||||
|
||||
## ✨ Tips & Tricks
|
||||
|
||||
1. **With selections**: Visual mode (`v`) + select + `<leader>aa` = instant context
|
||||
2. **Multi-file**: Avante can see your whole open buffer context
|
||||
3. **Diagnostics**: Avante can see LSP errors - use it to fix them
|
||||
4. **Project instructions**: Create `avante.md` with your standards
|
||||
5. **Keyboard only**: Everything works without mouse (vim-native)
|
||||
|
||||
---
|
||||
|
||||
**You're ready to go! 🎉**
|
||||
|
||||
Try it now: Open Neovim and press `<leader>at`
|
||||
|
||||
Questions? Check `AVANTE_SETUP.md` for troubleshooting.
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
# Avante Setup Guide
|
||||
|
||||
## ✅ Installation Complete
|
||||
|
||||
Avante has been installed and configured to use your existing **Copilot Premium** subscription (OpenAI API).
|
||||
|
||||
## 🔑 Configuration
|
||||
|
||||
Your Avante setup is configured to:
|
||||
- **Provider**: Copilot (OpenAI - using your existing subscription)
|
||||
- **Model**: gpt-4o
|
||||
- **UI**: Native Neovim sidebar on the right
|
||||
- **Dependencies**: Uses existing telescope, fzf-lua, snacks.nvim
|
||||
|
||||
## ⌨️ Keybindings
|
||||
|
||||
All Avante commands use the `<leader>a` prefix:
|
||||
|
||||
| Keybinding | Action |
|
||||
|------------|--------|
|
||||
| `<leader>aa` | **A**sk Avante about code (selection or cursor) |
|
||||
| `<leader>ae` | **E**dit with Avante |
|
||||
| `<leader>at` | **T**oggle Avante sidebar |
|
||||
| `<leader>ar` | **R**efactor code |
|
||||
| `<leader>ax` | E**X**ecute slash command (e.g., `/code`, `/debug`) |
|
||||
| `<leader>ad` | **D**ocument code |
|
||||
| `<leader>af` | **F**ix code issues |
|
||||
|
||||
## 🚀 First Use
|
||||
|
||||
1. **Open Neovim** - Avante will be automatically loaded
|
||||
2. **First time setup** - If you haven't set your OpenAI API key, Avante will prompt you
|
||||
3. **Test it**:
|
||||
- Select some code in visual mode: `v` + select code
|
||||
- Press `<leader>aa` to ask Avante about it
|
||||
- Or press `<leader>at` to toggle the sidebar
|
||||
|
||||
## 🔐 API Key Setup
|
||||
|
||||
Your existing `OPENAI_API_KEY` environment variable is used. If not set:
|
||||
|
||||
1. Get your API key from https://platform.openai.com/api-keys
|
||||
2. Add to your shell profile (`~/.zshrc` or `~/.bash_profile`):
|
||||
```bash
|
||||
export OPENAI_API_KEY="your-api-key-here"
|
||||
```
|
||||
3. Restart your terminal or run: `source ~/.zshrc`
|
||||
|
||||
## 📝 Project Instructions (Optional)
|
||||
|
||||
Create an `avante.md` file in your project root to give Avante project-specific context:
|
||||
|
||||
```markdown
|
||||
# Project Instructions
|
||||
|
||||
## Your Role
|
||||
You are an expert developer specializing in [your tech stack].
|
||||
|
||||
## Your Mission
|
||||
Help build and maintain [project description].
|
||||
|
||||
## Tech Stack
|
||||
- Frontend: [your frontend tech]
|
||||
- Backend: [your backend tech]
|
||||
- Testing: [your testing framework]
|
||||
|
||||
## Code Standards
|
||||
- Use [your coding style]
|
||||
- Follow [your project's patterns]
|
||||
- Prioritize [performance/readability/etc]
|
||||
```
|
||||
|
||||
## 🎯 Workflow Tips
|
||||
|
||||
### Quick Ask About Code
|
||||
```
|
||||
1. Place cursor on code
|
||||
2. Press <leader>aa
|
||||
3. Type your question
|
||||
4. Press Enter
|
||||
```
|
||||
|
||||
### Visual Selection
|
||||
```
|
||||
1. Select code: v + arrow keys
|
||||
2. Press <leader>aa or <leader>ar
|
||||
3. Ask your question
|
||||
```
|
||||
|
||||
### Toggle Sidebar
|
||||
```
|
||||
Press <leader>at to toggle the sidebar on/off
|
||||
Use <Tab> to switch between Avante and your code
|
||||
```
|
||||
|
||||
## 🔄 Comparing with OpenCode
|
||||
|
||||
You now have both tools:
|
||||
|
||||
| Tool | Best For |
|
||||
|------|----------|
|
||||
| **OpenCode** (`<leader>o*`) | Agent-orchestrated complex tasks, multi-step coding |
|
||||
| **Avante** (`<leader>a*`) | Quick focused edits, refactoring, inline suggestions |
|
||||
|
||||
## ❓ Troubleshooting
|
||||
|
||||
### Avante not working?
|
||||
- Run `:checkhealth avante` in Neovim
|
||||
- Verify `OPENAI_API_KEY` is set: `echo $OPENAI_API_KEY`
|
||||
- Restart Neovim
|
||||
|
||||
### API errors?
|
||||
- Check your API key is valid at https://platform.openai.com/api-keys
|
||||
- Verify you have API credits/quota available
|
||||
- Check OpenAI status: https://status.openai.com
|
||||
|
||||
### Sidebar not appearing?
|
||||
- Try `:lua require('avante.api').toggle()` manually
|
||||
- Check dependencies are installed: `:checkhealth avante`
|
||||
|
||||
## 📚 More Resources
|
||||
|
||||
- **Avante Docs**: https://github.com/yetone/avante.nvim
|
||||
- **Copilot Premium**: Verify you're on a paid plan at https://github.com/account/billing/overview
|
||||
- **OpenAI Docs**: https://platform.openai.com/docs
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. ✅ Plugin installed - you're here!
|
||||
2. 🚀 **Try Avante** on a real coding task
|
||||
3. 📊 Compare with OpenCode to find your workflow
|
||||
4. 🎯 Customize keybindings if needed (edit `/lua/custom/plugins/avante.lua`)
|
||||
5. 💡 Create `avante.md` for better context
|
||||
|
||||
Happy coding! 🎉
|
||||
|
|
@ -0,0 +1,120 @@
|
|||
# ✅ Avante Installation Checklist
|
||||
|
||||
## What Was Done
|
||||
|
||||
✅ **1. Created Avante Plugin Configuration**
|
||||
- File: `/Users/stuartstephens/.config/nvim/lua/custom/plugins/avante.lua`
|
||||
- Provider: `copilot` (uses your existing OpenAI API key)
|
||||
- Model: `gpt-4o` (latest GPT-4 Omni model)
|
||||
- Dependencies: telescope, fzf-lua, nui, dressing, snacks
|
||||
- Auto-suggestions: Disabled to save API costs
|
||||
|
||||
✅ **2. Set Up Keybindings** (No Conflicts!)
|
||||
```
|
||||
<leader>aa → Ask Avante about code
|
||||
<leader>ae → Edit with Avante
|
||||
<leader>at → Toggle sidebar
|
||||
<leader>ar → Refactor
|
||||
<leader>ax → Execute slash command
|
||||
<leader>ad → Document code
|
||||
<leader>af → Fix issues
|
||||
```
|
||||
|
||||
✅ **3. Configured for Your Existing Copilot Premium**
|
||||
- Uses your existing `OPENAI_API_KEY` environment variable
|
||||
- No second subscription needed
|
||||
- Same API key as OpenCode uses (if you have it set)
|
||||
|
||||
✅ **4. Created Setup Documentation**
|
||||
- File: `AVANTE_SETUP.md` in your nvim config
|
||||
- Quick reference guide for all features
|
||||
- Troubleshooting tips
|
||||
|
||||
## Current Status
|
||||
|
||||
🔄 **Lazy.nvim is installing Avante now**
|
||||
- Cloning repository
|
||||
- Installing dependencies (avante.nvim, fzf-lua, etc.)
|
||||
- Building Rust components
|
||||
- Should complete shortly
|
||||
|
||||
## Next Steps
|
||||
|
||||
### ⏳ When Installation Completes (in a few minutes):
|
||||
|
||||
1. **Restart Neovim** - Open any file: `nvim ~/.config/nvim/init.lua`
|
||||
|
||||
2. **Verify Installation**
|
||||
```
|
||||
:checkhealth avante
|
||||
```
|
||||
Should show green checkmarks for all components
|
||||
|
||||
3. **Test It Out**
|
||||
- Open any code file
|
||||
- Select a function: `v` + select lines
|
||||
- Press `<leader>aa` to ask Avante a question
|
||||
- Or press `<leader>at` to toggle the sidebar
|
||||
|
||||
4. **Compare Workflows**
|
||||
- Try `<leader>oa` (OpenCode) vs `<leader>aa` (Avante)
|
||||
- See which feels better for your workflow
|
||||
- Document your preference
|
||||
|
||||
### 📊 Comparison Points to Test
|
||||
|
||||
| Aspect | OpenCode | Avante |
|
||||
|--------|----------|--------|
|
||||
| **Startup** | Terminal-based | Integrated in Neovim |
|
||||
| **UI** | TUI in terminal | Sidebar panel |
|
||||
| **Speed** | Full agent system | Quick suggestions |
|
||||
| **Best for** | Complex tasks | Quick edits |
|
||||
| **Keybinding** | `<leader>o*` | `<leader>a*` |
|
||||
|
||||
## ⚠️ Important Notes
|
||||
|
||||
1. **API Key**: Avante needs `OPENAI_API_KEY` environment variable set
|
||||
- Verify: `echo $OPENAI_API_KEY`
|
||||
- Set it: Add to `~/.zshrc`: `export OPENAI_API_KEY="sk-..."`
|
||||
|
||||
2. **Costs**: Both tools use the same OpenAI API, so usage is cumulative
|
||||
- Monitor costs at https://platform.openai.com/account/billing/overview
|
||||
|
||||
3. **Model**: Avante uses `gpt-4o` by default
|
||||
- Switch to cheaper model (e.g., `gpt-4o-mini`) if needed
|
||||
- Edit: `/lua/custom/plugins/avante.lua` → change `model` value
|
||||
|
||||
4. **Keybindings**: Zero conflicts with existing setup
|
||||
- `<leader>o*` → OpenCode (unchanged)
|
||||
- `<leader>a*` → Avante (new)
|
||||
- All other bindings unaffected
|
||||
|
||||
## 📚 Documentation Files
|
||||
|
||||
- **This file**: Current checklist and status
|
||||
- **AVANTE_SETUP.md**: Full setup guide with troubleshooting
|
||||
- **avante.lua**: Plugin configuration with inline comments
|
||||
|
||||
## 🎯 Success Criteria
|
||||
|
||||
You'll know Avante is working when:
|
||||
|
||||
✓ Neovim starts without errors
|
||||
✓ `:checkhealth avante` shows green checks
|
||||
✓ `<leader>at` toggles a sidebar panel
|
||||
✓ `<leader>aa` on selected code shows Avante chat
|
||||
✓ You can type questions and get responses
|
||||
|
||||
## 💬 Ready to Test?
|
||||
|
||||
Once the installation finishes, just:
|
||||
1. Open Neovim
|
||||
2. Press `<leader>at` to toggle the Avante sidebar
|
||||
3. Select some code
|
||||
4. Press `<leader>aa` to ask Avante a question!
|
||||
|
||||
---
|
||||
|
||||
**Installation started**: Feb 1, 2025
|
||||
**Status**: Downloading dependencies...
|
||||
**Next check**: In ~5 minutes after plugin finishes building
|
||||
|
|
@ -1,55 +1,57 @@
|
|||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "73813308abc2eaeff2bc0d3f2f79270c491be9d7" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
|
||||
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
|
||||
"LuaSnip": { "branch": "master", "commit": "dae4f5aaa3574bd0c2b9dd20fb9542a02c10471c" },
|
||||
"avante.nvim": { "branch": "main", "commit": "fde9a524457d17661618678f085649d4e8d3fd6f" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
||||
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "fd3e882e56956675c620898bf1ffcf4fcbe7ec84" },
|
||||
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"conform.nvim": { "branch": "master", "commit": "fbcb4fa7f34bfea9be702ffff481a8e336ebf6ed" },
|
||||
"copilot.vim": { "branch": "release", "commit": "da369d90cfd6c396b1d0ec259836a1c7222fb2ea" },
|
||||
"conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" },
|
||||
"copilot.vim": { "branch": "release", "commit": "a12fd5672110c8aa7e3c8419e28c96943ca179be" },
|
||||
"dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||
"fidget.nvim": { "branch": "main", "commit": "3f5475949679953af6d78654db29b944fa826e6a" },
|
||||
"flutter-tools.nvim": { "branch": "main", "commit": "65b7399804315a1160933b64292d3c5330aa4e9f" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"git-blame.nvim": { "branch": "main", "commit": "54da04264ec5313d602aebea7c5dc90141696ad7" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "1ee5c1fd068c81f9dd06483e639c2aa4587dc197" },
|
||||
"fidget.nvim": { "branch": "main", "commit": "7fa433a83118a70fe24c1ce88d5f0bd3453c0970" },
|
||||
"flutter-tools.nvim": { "branch": "main", "commit": "677cc07c16e8b89999108d2ebeefcfc5f539b73c" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||
"fzf-lua": { "branch": "main", "commit": "b4b1f05957a77f7662de834328827890c1a8c02b" },
|
||||
"git-blame.nvim": { "branch": "main", "commit": "5c536e2d4134d064aa3f41575280bc8a2a0e03d7" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "abf82a65f185bd54adc0679f74b7d6e1ada690c9" },
|
||||
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "e28ce52fc7ff79fcb76f0e79ee6fb6182fca90b9" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
|
||||
"lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" },
|
||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
|
||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||
"mini.nvim": { "branch": "main", "commit": "6a224ddd28b4b21a488d6d87e1c2643a029caaa4" },
|
||||
"neorg": { "branch": "main", "commit": "e206c9642f4a115cd836e76c98ef785623d335bc" },
|
||||
"noice.nvim": { "branch": "main", "commit": "38c702be0d8fea81527ee6a73e1e834e72481193" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "c953789db7fd28eafe5eb5659846d34b5024b3cc" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "9a10e096703966335bd5c46c8c875d5b0690dade" },
|
||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" },
|
||||
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
|
||||
"mini.nvim": { "branch": "main", "commit": "9b935c218ddba02e5dc75c94f90143bce1f7c646" },
|
||||
"neorg": { "branch": "main", "commit": "408fc04013a95da8f217cb0958a06b6a77c01743" },
|
||||
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "7a2c97cccd60abc559344042fefb1d5a85b3e33b" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" },
|
||||
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
||||
"nvim-dap": { "branch": "master", "commit": "881f7dc17c0b4204a1d844732f95539575350e5b" },
|
||||
"nvim-dap": { "branch": "master", "commit": "e47878dcf1ccc30136b30d19ab19fe76946d61cd" },
|
||||
"nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
|
||||
"nvim-lint": { "branch": "master", "commit": "9da1fb942dd0668d5182f9c8dee801b9c190e2bb" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" },
|
||||
"nvim-lint": { "branch": "master", "commit": "bcd1a44edbea8cd473af7e7582d3f7ffc60d8e81" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "3f58aeca0c6ece8a9fb8782ea3fcb6024f285be3" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "41847d3dafb5004464708a3db06b14f12bde548a" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" },
|
||||
"opencode.nvim": { "branch": "main", "commit": "4393e41377289eb8e9bdd6851b7ce7c2112e1627" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "64dd4cf3f6fd0ab17622c5ce15c91fc539c3f24a" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "803353450c374192393f5387b6a0176d0972b848" },
|
||||
"opencode.nvim": { "branch": "main", "commit": "ed2a936b163df9e92ef210daad3a9ae89ca7e073" },
|
||||
"pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "a0df15ebcdbb540980f3dcc1795626dc134c656a" },
|
||||
"solarized-osaka.nvim": { "branch": "main", "commit": "f796014c14b1910e08d42cc2077fef34f08e0295" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" },
|
||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "19d461ddd543e938eb22505fb03fa878800270b6" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
|
||||
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" }
|
||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,169 @@
|
|||
return {
|
||||
'yetone/avante.nvim',
|
||||
event = 'VeryLazy',
|
||||
lazy = false,
|
||||
version = false, -- set this if you want to always pull the latest change
|
||||
opts = {
|
||||
provider = 'copilot',
|
||||
auto_suggestions_provider = nil, -- Disable auto-suggestions to save API calls
|
||||
providers = {
|
||||
claude = {
|
||||
endpoint = 'https://api.anthropic.com',
|
||||
model = 'claude-4-5-haiku',
|
||||
timeout = 30000,
|
||||
extra_request_body = {
|
||||
temperature = 1,
|
||||
max_tokens = 4096,
|
||||
},
|
||||
},
|
||||
openai = {
|
||||
endpoint = 'https://api.openai.com/v1',
|
||||
model = 'gpt-4o',
|
||||
timeout = 30000,
|
||||
extra_request_body = {
|
||||
temperature = 0,
|
||||
max_tokens = 4096,
|
||||
},
|
||||
},
|
||||
copilot = {
|
||||
endpoint = 'https://api.openai.com/v1',
|
||||
model = 'claude-haiku-4.5',
|
||||
timeout = 30000,
|
||||
extra_request_body = {
|
||||
temperature = 0,
|
||||
max_tokens = 4096,
|
||||
},
|
||||
},
|
||||
},
|
||||
behaviour = {
|
||||
auto_suggestions = false, -- Disable auto-suggestions
|
||||
auto_set_highlight_group = true,
|
||||
auto_set_keymaps = true,
|
||||
support_paste_from_clipboard = false,
|
||||
minimize_diff = true, -- Whether to only show the difference in changes
|
||||
},
|
||||
mappings = {
|
||||
--- When you band `change_keymap` to change `select_ai_model`, you replace the default key.
|
||||
diff = {
|
||||
ours = 'co',
|
||||
theirs = 'ct',
|
||||
all_theirs = 'ca',
|
||||
both = 'cb',
|
||||
cursor = 'cc',
|
||||
next = ']x',
|
||||
prev = '[x',
|
||||
},
|
||||
suggestion = {
|
||||
accept = '<M-l>',
|
||||
next = '<M-]>',
|
||||
prev = '<M-[>',
|
||||
dismiss = '<C-]>',
|
||||
},
|
||||
jump = {
|
||||
next = ']]',
|
||||
prev = '[[',
|
||||
},
|
||||
submit = {
|
||||
normal = '<CR>',
|
||||
insert = '<C-s>',
|
||||
},
|
||||
sidebar = {
|
||||
apply_all = 'A',
|
||||
apply_cursor = 'a',
|
||||
switch_windows = '<Tab>',
|
||||
reverse_switch_windows = '<S-Tab>',
|
||||
},
|
||||
},
|
||||
windows = {
|
||||
---@type "right" | "left" | "top" | "bottom"
|
||||
position = 'right', -- the position of the sidebar
|
||||
wrap = true, -- whether the lines in the sidebar are wrapped
|
||||
width = 30, -- width of the sidebar in percentage
|
||||
sidebar_header = {
|
||||
enabled = true, -- whether the header is enabled
|
||||
align = 'center', -- left, center, right
|
||||
rounded = true,
|
||||
},
|
||||
input = {
|
||||
prefix = '> ',
|
||||
height = 8, -- height of the input window in lines
|
||||
},
|
||||
edit = {
|
||||
border = 'rounded',
|
||||
start_header = '--- Avante Edit ---',
|
||||
end_header = '--- End Avante Edit ---',
|
||||
},
|
||||
ask = {
|
||||
floating = true, -- make ask window floating so it can have borders
|
||||
start_header = '--- Avante Ask ---',
|
||||
end_header = '--- End Avante Ask ---',
|
||||
border = 'rounded',
|
||||
},
|
||||
},
|
||||
highlights = {
|
||||
---@type AvanteConflictHighlights
|
||||
diff = {
|
||||
current = 'DiffText',
|
||||
incoming = 'DiffAdd',
|
||||
},
|
||||
},
|
||||
--- @class AvanteGetStatusFunction
|
||||
get_status = function()
|
||||
return ''
|
||||
end,
|
||||
},
|
||||
build = 'make',
|
||||
dependencies = {
|
||||
'stevearc/dressing.nvim',
|
||||
'nvim-lua/plenary.nvim',
|
||||
'MunifTanjim/nui.nvim',
|
||||
--- The below dependencies are optional,
|
||||
'nvim-telescope/telescope.nvim', -- for file selector
|
||||
'ibhagwan/fzf-lua', -- for file selector
|
||||
'folke/snacks.nvim', -- for input
|
||||
},
|
||||
config = function(_, opts)
|
||||
require('avante').setup(opts)
|
||||
|
||||
-- Keybindings for Avante
|
||||
local keymap = vim.keymap.set
|
||||
local opts_desc = function(desc)
|
||||
return { noremap = true, silent = true, desc = desc }
|
||||
end
|
||||
|
||||
-- Ask about code (with Copilot Premium)
|
||||
keymap({ 'n', 'x' }, '<leader>aa', function()
|
||||
require('avante.api').ask()
|
||||
end, opts_desc('[A]vante [A]sk'))
|
||||
|
||||
-- Edit with Avante
|
||||
keymap({ 'n', 'x' }, '<leader>ae', function()
|
||||
require('avante.api').edit()
|
||||
end, opts_desc('[A]vante [E]dit'))
|
||||
|
||||
-- Toggle Avante sidebar
|
||||
keymap('n', '<leader>at', function()
|
||||
require('avante.api').toggle()
|
||||
end, opts_desc('[A]vante [T]oggle'))
|
||||
|
||||
-- Refactor code
|
||||
keymap({ 'n', 'x' }, '<leader>ar', function()
|
||||
require('avante.api').ask('Refactor this code for better performance and readability.')
|
||||
end, opts_desc('[A]vante [R]efactor'))
|
||||
|
||||
-- Add/run slash command
|
||||
keymap('n', '<leader>ax', function()
|
||||
require('avante.api').ask('/')
|
||||
end, opts_desc('[A]vante e[X]ecute command'))
|
||||
|
||||
-- Explain code
|
||||
keymap({ 'n', 'x' }, '<leader>ad', function()
|
||||
require('avante.api').ask('Explain this code in detail.')
|
||||
end, opts_desc('[A]vante [D]ocument'))
|
||||
|
||||
-- Fix errors/issues
|
||||
keymap({ 'n', 'x' }, '<leader>af', function()
|
||||
require('avante.api').ask('Fix any issues or errors in this code.')
|
||||
end, opts_desc('[A]vante [F]ix'))
|
||||
end,
|
||||
}
|
||||
Loading…
Reference in New Issue