How monkoose/neocodeium works
NeoCodeium is a Neovim plugin for Windsurf AI completions. The user configures the plugin, requests or receives suggestions, and accepts, edits, cycles, or clears them through its API. The README also documents authentication, enterprise server settings, and Windsurf Chat workspace-root configuration. It explicitly describes code being sent to Windsurf’s server for completion; source excerpts were not provided, so internal call relationships are not asserted.
Main entry points: server.lua Language server · binary.lua Server binary · init.lua Plugin API · commands.lua Commands
Components 20
Plugin interface
- Plugin API
lua/neocodeium/init.lua - Commands
lua/neocodeium/commands.lua - Configuration
lua/neocodeium/options.lua
Completion experience
- Completion engine
lua/neocodeium/completer.lua - Suggestion renderer
lua/neocodeium/renderer.lua - Plugin state
lua/neocodeium/state.lua - User events
lua/neocodeium/events.lua - Filetype handling
lua/neocodeium/filetype.lua
Windsurf services
- Windsurf Chat
lua/neocodeium/chat.lua - API authentication
lua/neocodeium/api_key.lua - Language server
lua/neocodeium/server.lua - Windsurf service
- Server binary
lua/neocodeium/binary.lua
Runtime support
- Health checks
lua/neocodeium/health.lua - Logging
lua/neocodeium/log.lua - Help documentation
lua/neocodeium/doc.lua - Utilities
lua/neocodeium/utils/init.lua - Process I/O
lua/neocodeium/utils/stdio.lua - Config utilities
lua/neocodeium/utils/conf.lua
Other components
- Neovim user
Connections 5
- Neovim user → Plugin API: configures and invokes
README.md - Neovim user → Commands: runs auth command
README.md - Language server → Windsurf service: sends code; receives completions
README.md - Neovim user → Windsurf Chat: configures workspace roots
README.md - Server binary → Windsurf service: downloads from portal
README.md