ui-lab.app
React component library and design system with accessible, themeable components.

I design and build digital products with a focus on great UI — tools and interfaces that are clear, useful, and enjoyable to use.
My work blends design and development, especially around UI systems and developer-facing products. See more on my GitHub , including ui-lab.
KyzaMain Projects
Side Projects
Neovim plugin for AI coding agent communication via Agent Client Protocol.
agent.nvim enables seamless communication with AI coding agents directly from Neovim via the Agent Client Protocol (ACP) — a JSON-RPC 2.0 protocol developed by Zed Industries. The plugin bridges Neovim and various AI agent implementations, handling complex communication while presenting a simple, user-friendly chat interface. Built-in adapters support Claude Code, Google Gemini CLI, and Zed Codex ACP.
Multi-Provider Support
Integrated Chat Interface
File Operations
Advanced UI Features
Conversation Management
Completion Integration
@ triggerOpen a chat session with :Agent or target a specific adapter:
:Agent " default adapter
:Agent claude " Claude Code
:Agent gemini " Gemini CLI
Inside the chat window, <C-CR> sends a message, q closes it, and <C-l> clears the session.
The plugin implements the full ACP lifecycle: initialize, authenticate, session creation, streaming prompt/response, and file operation handlers. Key aspects:
Each adapter wraps a CLI tool that already handles authentication, so there's no credential management inside the plugin. Supports multiple authentication methods per provider (Claude Code built-in auth, Codex with ChatGPT/OpenAI keys, Gemini with OAuth/API keys).
Primary Workflows:
Target Users:
Core Modules:
lua/agent/acp/): Connection management, protocol methods, adapter architecture, tool handlerslua/agent/interactions/chat/): State management, window layout (80/20 split), buffer management, message formattinglua/agent/ui/): Syntax highlighting, message formatting, status indicators, animationslua/blink-cmp-agent/): File path and command completion with smart triggerslua/agent/utils/): Logging, async utilities, adapter resolutionDesign Patterns: