From 4a37984780f3a228b61ffd483737baa95f72cc74 Mon Sep 17 00:00:00 2001 From: Michael Uloth Date: Thu, 21 May 2026 05:13:46 +0000 Subject: [PATCH 1/2] docs: document check commands and headless nvim invocation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #28 CLAUDE.md previously had no documented way for an agent to verify its changes. An agent editing plugin specs, keymaps, or LSP config had no feedback loop — no formatting check, no load test. Add a Checks section listing `stylua --check .` as the formatting check and `nvim --headless -c "lua require('config')" -c "qa"` as a way to exercise real Lua code paths without an interactive session. Also note `stylua .` as the fix command for formatting violations. --- CLAUDE.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 71e0635..904b022 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,5 +1,19 @@ # Neovim Config — Agent Notes +## Checks + +Run these before and after making changes to verify nothing is broken: + +```bash +# Check formatting (must pass before committing) +stylua --check . + +# Load the config headlessly to catch Lua errors and plugin spec issues +nvim --headless -c "lua require('config')" -c "qa" +``` + +If `stylua --check .` reports violations, fix them with `stylua .`. + ## Docs | Playbook | Description | From 6cf58206fb34dea9ef6896f2fb8a674408ebc50b Mon Sep 17 00:00:00 2001 From: Michael Uloth Date: Sun, 24 May 2026 20:56:16 -0400 Subject: [PATCH 2/2] docs: fix headless nvim check to load from repo checkout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #89 The previous command relied on the repo already being on Neovim's runtimepath, so it silently loaded the config module from the system config directory rather than the current checkout. Adding -u NONE --cmd "set rtp^=." disables the user config and prepends the working directory to runtimepath, ensuring the check validates the checkout's own lua/config/init.lua. Also corrected the inline comment to stop claiming the check catches plugin spec issues — require('config') only loads init.lua, which defines an empty setup() and does not pull in any spec files. --- CLAUDE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 904b022..27e50a0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,8 +8,8 @@ Run these before and after making changes to verify nothing is broken: # Check formatting (must pass before committing) stylua --check . -# Load the config headlessly to catch Lua errors and plugin spec issues -nvim --headless -c "lua require('config')" -c "qa" +# Load the config module headlessly to catch Lua errors +nvim --headless -u NONE --cmd "set rtp^=." -c "lua require('config')" -c "qa" ``` If `stylua --check .` reports violations, fix them with `stylua .`.