Skip to content

michaelmonetized/nvibe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Nvibe - The Ultimate Neovim Coding Experience

Nvibe Banner Version License

Transform your Neovim into a powerful AI-powered coding environment with integrated terminals and intelligent assistants.

⚠️ DEPENDENCY WARNING ⚠️

Nvibe requires NvChad to function!

Install NvChad first, then install Nvibe.

Product Hunt GitHub Stars Neovim NvChad


✨ What is 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.

🎯 The Problem It Solves

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

🌟 Key Features

πŸ€– AI-Powered Coding Assistants

  • 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

🎨 Seamless Integration

  • 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

⚑ Lightning Fast

  • Instant startup - terminals launch automatically
  • No performance impact - lightweight and optimized
  • Smart window management - handles all the complexity for you

πŸ”§ Developer Friendly

  • Configurable commands - customize your AI tools
  • Flexible sizing - adjust panel width based on your screen
  • Shell integration - full terminal functionality with your profile

πŸš€ Quick Start

⚠️ IMPORTANT: Nvibe requires NvChad to function! Install NvChad first: https://github.com/NvChad/NvChad

Step 1: Install NvChad (Required)

# Backup your current config
mv ~/.config/nvim ~/.config/nvim.backup

# Install NvChad
git clone https://github.com/NvChad/NvChad ~/.config/nvim

Step 2: Install Nvibe

Option 1: Using Lazy.nvim (Recommended)

{
  'michaelmonetized/nvibe',
  config = function()
    require('nvibe').setup()
  end
}

Option 2: Using Packer

use {
  'michaelmonetized/nvibe',
  config = function()
    require('nvibe').setup()
  end
}

Option 3: Manual Installation

git clone https://github.com/michaelmonetized/nvibe.git ~/.config/nvim/lua/nvibe

Usage

That's it! Just launch Neovim and Nvibe automatically:

  1. 🎯 Creates a left panel (30% of screen width)
  2. πŸ€– Launches Cursor Agent in the top terminal
  3. 🐰 Launches CodeRabbit in the bottom terminal
  4. ✨ You're ready to code with AI assistance!

⚠️ Dependency Warning

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:

  1. Install NvChad (recommended): https://github.com/NvChad/NvChad
  2. Install nvchad.term separately (advanced users)
  3. Use alternative terminal plugin (requires code modification)

βš™οΈ Configuration

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
})

🎬 Demo

Before Nvibe

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 β”‚                 β”‚
β”‚   Your Code     β”‚   Terminal      β”‚
β”‚                 β”‚   (Alt+Tab)     β”‚
β”‚                 β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

After Nvibe

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Cursor  β”‚                         β”‚
β”‚ Agent   β”‚     Your Code           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€                         β”‚
β”‚CodeRabbitβ”‚                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ† Why Developers Love Nvibe

  • πŸš€ 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

⚠️ Requirements

IMPORTANT: Nvibe requires NvChad or the nvchad.term module to function properly.

πŸ”§ Required Dependencies

  • Neovim 0.7+ - Modern Neovim with Lua support
  • NvChad - REQUIRED for terminal integration (nvchad.term module)
  • Cursor Agent - Your AI coding assistant
  • CodeRabbit - Your code review assistant

πŸ“¦ Dependency Options

Option 1: Full NvChad (Recommended)

-- Install NvChad first, then Nvibe
-- NvChad provides the nvchad.term module

Option 2: Standalone nvchad.term

-- If you don't want full NvChad, install just the term module
-- This is more complex and not officially supported

Option 3: Alternative Terminal Plugin

-- You can modify Nvibe to use other terminal plugins
-- See docs/CUSTOMIZATION.md for details

πŸ§ͺ Testing

Nvibe 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 check

Test Coverage:

  • βœ… Configuration management
  • βœ… Terminal width calculation
  • βœ… Window management operations
  • βœ… Autocmd creation and handling
  • βœ… Error conditions and edge cases

🌲 NvimTree Integration

Nvibe automatically handles NvimTree layout conflicts so your panels stay intact when you toggle the file explorer.

What's fixed (v0.1.2+)

  • 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

Recommended NvimTree config (in your NvChad plugins.lua)

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 = true is the key setting. Without it, NvimTree triggers a full window equalization that resets the nvibe panel widths.


🀝 Contributing

We love contributions! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌟 Star it if you like it
  3. πŸ› Report bugs or suggest features
  4. πŸ’» Submit pull requests
  5. πŸ§ͺ Add tests for new functionality
  6. πŸ“š Update documentation as needed

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • NvChad - For the amazing terminal integration
  • Neovim Community - For the incredible editor
  • All Contributors - For making this project better

Ready to transform your coding experience?

Get Started Product Hunt

Made with ❀️ for the Neovim community

GitHub β€’ Issues β€’ Discussions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors