Transform your Neovim into a powerful AI-powered coding environment with integrated terminals and intelligent assistants.
Nvibe requires NvChad to function!
Install NvChad first, then install Nvibe.
Nvibe is a revolutionary Neovim plugin that automatically transforms your editor into a vibe coding environment with AI-powered assistants running right alongside your code. No more switching between windows, no more context switching β just pure, uninterrupted coding flow.
Ever found yourself constantly alt-tabbing between your editor and terminal? Or switching between different AI tools and losing your coding momentum? Nvibe eliminates all of that.
- β Before: Alt-tab between editor, terminal, AI tools, documentation
- β After: Everything you need is right there, always visible, always ready
- Cursor Agent running in the top terminal - your intelligent coding companion
- CodeRabbit running in the bottom terminal - automated code review and suggestions
- Both assistants are always visible and always interactive
- 30% left panel dedicated to your AI assistants
- 70% main editor for your code
- Automatic setup - just launch Neovim and you're ready to code
- Zero configuration - works out of the box with NvChad
- Instant startup - terminals launch automatically
- No performance impact - lightweight and optimized
- Smart window management - handles all the complexity for you
- Configurable commands - customize your AI tools
- Flexible sizing - adjust panel width based on your screen
- Shell integration - full terminal functionality with your profile
β οΈ IMPORTANT: Nvibe requires NvChad to function! Install NvChad first: https://github.com/NvChad/NvChad
# Backup your current config
mv ~/.config/nvim ~/.config/nvim.backup
# Install NvChad
git clone https://github.com/NvChad/NvChad ~/.config/nvim{
'michaelmonetized/nvibe',
config = function()
require('nvibe').setup()
end
}use {
'michaelmonetized/nvibe',
config = function()
require('nvibe').setup()
end
}git clone https://github.com/michaelmonetized/nvibe.git ~/.config/nvim/lua/nvibeThat's it! Just launch Neovim and Nvibe automatically:
- π― Creates a left panel (30% of screen width)
- π€ Launches Cursor Agent in the top terminal
- π° Launches CodeRabbit in the bottom terminal
- β¨ You're ready to code with AI assistance!
Nvibe requires NvChad to function!
If you don't have NvChad installed, you'll see an error like:
E5113: Error while calling lua chunk: .../nvibe/lua/nvibe/init.lua:36: module 'nvchad.term' not found
Solutions:
- Install NvChad (recommended): https://github.com/NvChad/NvChad
- Install nvchad.term separately (advanced users)
- Use alternative terminal plugin (requires code modification)
Customize Nvibe to fit your workflow:
require('nvibe').setup({
width_percent = 30, -- Panel width (default: 30%)
cursor_agent_cmd = "cursor-agent", -- Your AI coding assistant
coderabbit_cmd = "coderabbit" -- Your code review assistant
})βββββββββββββββββββ¬ββββββββββββββββββ
β β β
β Your Code β Terminal β
β β (Alt+Tab) β
β β β
βββββββββββββββββββ΄ββββββββββββββββββ
βββββββββββ¬ββββββββββββββββββββββββββ
β Cursor β β
β Agent β Your Code β
βββββββββββ€ β
βCodeRabbitβ β
βββββββββββ΄ββββββββββββββββββββββββββ
- π Zero Context Switching - AI assistants are always visible and ready
- β‘ Instant Access - No need to remember commands or open separate windows
- π― Focused Workflow - Keep your code in view while getting AI help
- π§ Seamless Integration - Works perfectly with your existing Neovim setup
- π€ Always Available - AI assistance that never sleeps or takes breaks
- π± Modern Experience - Clean, intuitive interface that just works
IMPORTANT: Nvibe requires NvChad or the nvchad.term module to function properly.
- Neovim 0.7+ - Modern Neovim with Lua support
- NvChad - REQUIRED for terminal integration (
nvchad.termmodule) - Cursor Agent - Your AI coding assistant
- CodeRabbit - Your code review assistant
Option 1: Full NvChad (Recommended)
-- Install NvChad first, then Nvibe
-- NvChad provides the nvchad.term moduleOption 2: Standalone nvchad.term
-- If you don't want full NvChad, install just the term module
-- This is more complex and not officially supportedOption 3: Alternative Terminal Plugin
-- You can modify Nvibe to use other terminal plugins
-- See docs/CUSTOMIZATION.md for detailsNvibe includes a comprehensive test suite with 100% function coverage:
# Install test dependencies
make install-deps
# Run tests
make test
# Run tests with coverage
make test-coverage
# Run linter
make lint
# Run all checks
make checkTest Coverage:
- β Configuration management
- β Terminal width calculation
- β Window management operations
- β Autocmd creation and handling
- β Error conditions and edge cases
Nvibe automatically handles NvimTree layout conflicts so your panels stay intact when you toggle the file explorer.
- Issue #4 β Opening NvimTree no longer rebalances and breaks the nvibe layout
- Issue #5 β NvimTree is constrained to the editor-row height; it won't span the full Neovim height over your terminal panes
For best results with nvibe's layout, configure NvimTree to not auto-resize on open:
{
"nvim-tree/nvim-tree.lua",
opts = {
view = {
width = 30,
side = "left",
-- Prevent NvimTree from resizing other windows when it opens
preserve_window_proportions = true,
},
-- Keep focus in the editor after NvimTree opens
hijack_cursor = false,
update_focused_file = {
enable = true,
update_root = false, -- don't re-root when switching files
},
},
}Note:
preserve_window_proportions = trueis the key setting. Without it, NvimTree triggers a full window equalization that resets the nvibe panel widths.
We love contributions! Here's how you can help:
- π΄ Fork the repository
- π Star it if you like it
- π Report bugs or suggest features
- π» Submit pull requests
- π§ͺ Add tests for new functionality
- π Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
- NvChad - For the amazing terminal integration
- Neovim Community - For the incredible editor
- All Contributors - For making this project better
GitHub β’ Issues β’ Discussions