Skip to main content

Lovelace Neovim Extension

Neovim extension for task submission and agent orchestration on the Lovelace platform

Overview

The Lovelace Neovim extension brings powerful AI agent orchestration directly into your editor. Submit tasks, monitor agent workers, and manage sessions without leaving your workflow.

Key Features:

  • ✅ Submit tasks to AI agent workers
  • ✅ Monitor agent worker status and task execution
  • ✅ View results with syntax-highlighted diffs
  • ✅ Apply code changes with a single keypress
  • ✅ Authentication with device authorization flow
  • ✅ Session persistence across Neovim sessions
  • ✅ Local-first operation via Localhost daemon

Requirements

  • Neovim: 0.9.0 or later
  • Localhost Daemon: Running Lovelace Localhost daemon
  • Platform: Unix-like systems (Linux, macOS)

Default Keybindings

With default configuration (prefix = "<leader>l"):

ModeKeyCommandDescription
Visual<leader>lt:LovelaceTaskSubmit selected code as task
Normal<leader>lT:LovelaceTasksList all tasks
Normal<leader>la:LovelaceAgentsList agent workers
Normal<leader>lh:LovelaceHealthRun health check

Available Commands

CommandDescription
:LovelaceHealthCheck daemon connection and auth status
:LovelaceAuthShow auth status or start device flow
:LovelaceTaskSubmit task with description
:LovelaceTasksList all tasks (queued, running, completed)
:LovelaceAgentsList agent workers and their status
:LovelaceTaskStatus [task_id]Show detailed status of specific task
:LovelaceCancel [task_id]Cancel running task
:LovelaceSessionShow current session/workspace info

For detailed command documentation, see the Command Reference.

Architecture

┌────────────────────────────────┐
│       Neovim Editor            │
│  ┌──────────────────────────┐  │
│  │  Lua Plugin              │  │
│  │  (lovelace.nvim)         │  │
│  └──────────┬───────────────┘  │
│             │ JSON-RPC         │
└─────────────┼──────────────────┘
              │
              ▼
   /tmp/lovelace-localhost.sock
              │
┌─────────────▼──────────────────┐
│   Localhost Daemon (Rust)      │
│   - Agent Pool Management      │
│   - Task Assignment            │
│   - Session Persistence        │
└────────────────────────────────┘

Key Concepts:

  • Task-Centric: Users submit tasks, not select agents
  • Agent Workers: Generic UUID-identified processes
  • Local-First: Communicates with local daemon via Unix sockets
  • Async Operations: Non-blocking design, never freezes editor

Quick Example

Submit your first task:

  1. Open a file:

    bash
    nvim src/example.js
    
  2. Select code (visual mode):

    vim
    V5j  # Select 5 lines
    
  3. Submit task:

    vim
    :LovelaceTask
    
  4. Enter description:

    Refactor this function to use async/await
    
  5. Wait for completion (notifications will appear)

  6. Review results (opens automatically in split window)

  7. Apply changes (in result buffer):

    vim
    a  # Press 'a' to apply
    

Next Steps

Related Documentation