← Back to agents

AGENTS.md from Massolari/neoment

14 starsLast commit Sep 17, 2025

Neoment.nvim - Agent Guidelines

Build/Test Commands

  • `make test` - Run all tests using Plenary/Busted
  • `make test-watch` - Run tests in watch mode
  • Tests use Plenary 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