chore: migrate global agent rules into repository and update deployment scripts
This commit is contained in:
1 parent
917a9058f9
commit
5dd413c397
20 files changed
+295
No files matched your search
@@ -0,0 +1,34 @@
|
||||
---
|
||||
name: nvim_editing
|
||||
description: Route code edits to Neovim buffers instead of disk/console when Neovim is running.
|
||||
trigger: always_on
|
||||
---
|
||||
# Neovim Code Editing
|
||||
|
||||
## Never Spawn Headless Instances (CRITICAL)
|
||||
**NEVER** run `nvim <filename>` via bash/terminal commands (`run_command`) to "open" or "show" a file to the user. Because agent terminal commands run in the background, this spawns an invisible ghost process.
|
||||
|
||||
If the user asks to "open", "show", or "see" a file in Neovim, you MUST use the `linux-nvim` (or `win-nvim`) MCP Server to communicate with their *active* UI (e.g., using `nvim_execute_lua` with `vim.cmd('edit <file>')`).
|
||||
|
||||
When making code edits or displaying search results/outputs:
|
||||
1. Verify if the win-nvim (on Windows) or linux-nvim (on WSL) MCP server is responsive.
|
||||
2. If Neovim is running, apply code changes directly into the relevant Neovim buffers using nvim_execute_lua (e.g., using vim.api.nvim_buf_set_lines or vim.cmd).
|
||||
3. DO NOT output large diffs or file contents to the chat console. Prefer live buffer manipulation over replace_file_content if the file is open in Neovim.
|
||||
4. **Fallback Constraint (CRITICAL):** If Neovim is NOT running, you MUST use the `replace_file_content` tool to edit files. This ensures the user is presented with a visual diff block in the chat. **NEVER** use `sed`, `awk`, or `echo` to blindly modify file contents from the terminal.
|
||||
|
||||
## Visual Cues & Auto-Save Policy (MANDATORY)
|
||||
When manipulating buffers via Lua, you MUST provide visual feedback:
|
||||
1. **Notifications:** Always trigger a notification explaining what you did using `require("notify")("Antigravity edited [File]: [Summary]", "info", { title = "Antigravity" })` (since `rcarriga/nvim-notify` and `noice.nvim` are installed).
|
||||
2. **Buffer Focus:** Always switch the active Neovim window to the buffer you just edited (e.g., `vim.cmd('b ' .. bufnr)`).
|
||||
3. **Cursor Jump:** Move the cursor to the line you edited (`vim.api.nvim_win_set_cursor(0, {line, 0})`).
|
||||
4. **Auto-Save by Default:** You MUST save the buffer (`vim.cmd('write')`) after making edits so that external tools (tests, compilers, linters, git) can see the changes immediately and unattended tasks are not stalled.
|
||||
5. **Interactive Review Mode (Exception):** The ONLY time you should disable auto-save (leaving the buffer modified and unsaved) is when you are actively halting execution to seek manual user confirmation for a highly sensitive change. This allows the user to visually review the `gitsigns` diff in the gutter before manually saving (`:w`).
|
||||
|
||||
## Interactive Review & Automatic Wakeup (MANDATORY)
|
||||
When you modify a buffer and disable auto-save to allow the user to visually review the changes, you MUST NOT just wait idly for them to chat back.
|
||||
You MUST spawn a background task to listen for their :w save event:
|
||||
1. Use the ␍un_command tool to execute:
|
||||
curl -s "http://127.0.0.1:3000/events/wait?topic=nvim:save:$((Get-Item $File).FullName.Replace('\', '/'))&session_id=$SessionId"
|
||||
2. Set WaitMsBeforeAsync to a low value (e.g., 500ms) so it goes to the background immediately.
|
||||
3. Stop calling tools and end your turn.
|
||||
When the user saves the file, the curl command will complete and the system will automatically wake you up to proceed.
|
||||
Reference in new issue
Block a user