Skip to content

Latest commit

 

History

History
25 lines (22 loc) · 1.12 KB

File metadata and controls

25 lines (22 loc) · 1.12 KB

Neoment.nvim - Agent Guidelines

Build/Test Commands

  • devbox run test - Run all tests using Busted
  • devbox run test:watch - Run tests in watch mode
  • Tests use Busted test framework with luassert assertions

Code Style

  • Use tabs for indentation
  • Module pattern: local M = {} and return M
  • Import style: local module = require("neoment.module")
  • Function docs: Use --- comments with @param and @return annotations
  • Type annotations: Use --- @type and --- @class for LSP support
  • Error handling: Use custom error monad pattern from neoment.error
  • Async patterns: Use vim.schedule() for UI updates from async contexts
  • Naming: snake_case for variables/functions, PascalCase for classes
  • File organization: One module per file, grouped by functionality
  • Tests: Use describe() and it() with descriptive names
  • Vim API: Prefer vim.api.* over legacy vim.fn.* where possible

Architecture

  • Matrix client implementation for Neovim
  • Modular design with separate concerns (sync, rooms, storage, etc.)
  • Custom error handling with Result-like pattern
  • Async operation handling with proper scheduling