···77{"id":"nvim-registry-atn","title":"Implement cleanup.lua - Async socket validation","description":"Create cleanup.lua with async functionality using plenary.nvim. Check stats for all sockets in listen-registery using async operations. Perform batch update to remove invalid sockets after all stats are gathered. Expose :RegistryCleanup command.","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-01-08T18:25:46.936796595-05:00","created_by":"rektide","updated_at":"2026-01-08T18:36:32.278258028-05:00","closed_at":"2026-01-08T18:36:32.278258028-05:00","close_reason":"Closed via update"}
88{"id":"nvim-registry-bk8","title":"Create plugin directory for automatic registration","description":"The plugin currently lacks a proper `plugin/` directory entry for automatic registration. Neovim only automatically sources files from the root `plugin/` directory on startup.\n\nThe current structure has:\n- `lua/registry-nvim/plugin/registry.lua` - This is just a module directory, not automatically loaded\n- No root `plugin/` directory with autoload manifest\n\nThe fix requires:\n- Create `plugin/` directory at project root\n- Create `plugin/registry-nvim.lua` file that calls require('registry-nvim').setup()\n- This will be automatically sourced by Neovim on plugin load\n- Current instance will register itself automatically\n\nWithout this, users must manually call `require('registry-nvim').setup()` in their config for automatic registration to work, which defeats the purpose of auto-discovery.\n\nThe plugin manifest in `lua/registry-nvim/plugin/` directory should be removed or kept as a reference, but the actual auto-registration needs to happen from the root `plugin/` directory.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-08T19:22:58.903525978-05:00","created_by":"rektide","updated_at":"2026-01-08T19:24:02.651284292-05:00","closed_at":"2026-01-08T19:24:02.651284292-05:00","close_reason":"Closed via update"}
99{"id":"nvim-registry-cst","title":"Implement health.lua - Neovim healthcheck","description":"Create health.lua that provides healthcheck diagnostics. Check neoconf availability, plenary availability, and registry status. Report on any issues or misconfigurations.","status":"closed","priority":3,"issue_type":"task","created_at":"2026-01-08T18:25:47.889265985-05:00","created_by":"rektide","updated_at":"2026-01-08T18:37:31.359142755-05:00","closed_at":"2026-01-08T18:37:31.359142755-05:00","close_reason":"Closed via update"}
1010-{"id":"nvim-registry-ecx","title":"Make setup optional - plugin should work without config","description":"Since the plugin now has a plugin/ directory manifest that automatically calls setup(), calling `require('registry-nvim').setup()` in user config is redundant. The setup() call should be optional for users who want to customize settings, while the plugin should work out-of-the-box without any configuration.\n\nRequirements:\n- Ensure plugin works without any user config (automatic registration on load)\n- Keep setup() function available for passing custom options\n- Document that config is optional in README\n- Show examples of:\n 1. Basic usage (no config needed)\n 2. Custom configuration (if user wants to change settings like registry key)\n- Lazy.nvim config should show plugin works without setup() call\n- Example customization could include:\n - Changing the neoconf registry key name\n - Disabling automatic monitoring\n - Custom cleanup behavior\n\nThis makes the plugin truly zero-config while still allowing power users to customize behavior.","status":"in_progress","priority":2,"issue_type":"task","created_at":"2026-01-08T19:26:24.911973858-05:00","created_by":"rektide","updated_at":"2026-01-08T19:26:36.433344197-05:00"}
1010+{"id":"nvim-registry-ecx","title":"Make setup optional - plugin should work without config","description":"Since the plugin now has a plugin/ directory manifest that automatically calls setup(), calling `require('registry-nvim').setup()` in user config is redundant. The setup() call should be optional for users who want to customize settings, while the plugin should work out-of-the-box without any configuration.\n\nRequirements:\n- Ensure plugin works without any user config (automatic registration on load)\n- Keep setup() function available for passing custom options\n- Document that config is optional in README\n- Show examples of:\n 1. Basic usage (no config needed)\n 2. Custom configuration (if user wants to change settings like registry key)\n- Lazy.nvim config should show plugin works without setup() call\n- Example customization could include:\n - Changing the neoconf registry key name\n - Disabling automatic monitoring\n - Custom cleanup behavior\n\nThis makes the plugin truly zero-config while still allowing power users to customize behavior.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-08T19:26:24.911973858-05:00","created_by":"rektide","updated_at":"2026-01-08T19:27:33.229826614-05:00","closed_at":"2026-01-08T19:27:33.229826614-05:00","close_reason":"Closed via update"}
1111{"id":"nvim-registry-gxz","title":"Create example configuration and usage examples","description":"Add example configuration to README. Create usage examples in documentation. Show how to use the plugin manually and in automated workflows. Document the expected behavior.","status":"closed","priority":4,"issue_type":"chore","created_at":"2026-01-08T18:25:56.569158454-05:00","created_by":"rektide","updated_at":"2026-01-08T18:40:01.1203033-05:00","closed_at":"2026-01-08T18:40:01.1203033-05:00","close_reason":"Closed via update"}
1212{"id":"nvim-registry-hai","title":"Add --match regex flag to registry-send CLI","description":"Enhance the registry-send CLI script to add a `--match` / `-m` flag that allows conditional updates based on regex matching of stdin content.\n\nThe new flag should:\n- Accept a regex pattern as argument\n- Only send content to registry sessions if stdin matches the provided regex\n- Support all standard regex syntax\n- Provide clear feedback if the content doesn't match (skip update with informative message)\n- Work in combination with existing flags (--register, --env-guard)\n\nExample usage:\n```\necho \"some text\" | registry-send --match \"^some.*\"\n```\n\nThis enables more precise control over when clipboard content should be synced, allowing users to filter content based on patterns before distribution.","status":"closed","priority":3,"issue_type":"feature","created_at":"2026-01-08T18:43:59.742088525-05:00","created_by":"rektide","updated_at":"2026-01-08T18:49:59.317668571-05:00","closed_at":"2026-01-08T18:49:59.317668571-05:00","close_reason":"Closed via update","dependencies":[{"issue_id":"nvim-registry-hai","depends_on_id":"nvim-registry-iwa","type":"parent-child","created_at":"2026-01-08T18:44:01.692044715-05:00","created_by":"rektide"}]}
1313{"id":"nvim-registry-iwa","title":"Extra Features for registry-nvim","description":"Epic for additional features beyond the core functionality. Includes CLI tools, integration utilities, and enhanced workflow capabilities.","status":"open","priority":4,"issue_type":"epic","created_at":"2026-01-08T18:30:35.840964917-05:00","created_by":"rektide","updated_at":"2026-01-08T18:30:35.840964917-05:00"}
+11-36
README.md
···11# registry-nvim
2233-registry-nvim helps you coordinate multiple Neovim instances by automatically tracking all listen servers. This enables workflows where you need to send commands, content, or data to every running Neovim session from the command line or external tools. Common use cases include synchronizing clipboard content across all Neovim instances, executing bulk operations, or coordinating editor state from shell scripts.
33+`registry-nvim` helps you coordinate multiple Neovim instances by automatically tracking all listen servers. This enables workflows where you need to send commands, content, or data to every running Neovim session from the command line or external tools. Common use cases include synchronizing clipboard content across all Neovim instances, executing bulk operations, or coordinating editor state from shell scripts.
44+55+`registry-nvim` is particularly useful in combination with [`nvim-auto-listen`](https://github.com/rektide/nvim-auto-listen), which will automatically open a listening socket at project root. together, these two form an easy way to find and remote control all of your neovims.
4657## Features
68···154156155157### Lazy.nvim Configuration
156158157157-**Basic Usage (No Config Needed):**
158158-159159-Since the plugin has a plugin manifest that automatically sets up, no configuration is required:
160160-161159```lua
162160{
163161 'yourusername/registry-nvim',
···165163 'folke/neoconf.nvim',
166164 'nvim-lua/plenary.nvim',
167165 },
168168-}
169169-```
166166+ config = function()
167167+ local registry = require('registry-nvim')
170168171171-**With Custom Configuration:**
172172-173173-If you want to customize settings like the neoconf registry key:
169169+ -- Basic setup
170170+ registry.setup()
174171175175-```lua
176176-{
177177- 'yourusername/registry-nvim',
178178- dependencies = {
179179- 'folke/neoconf.nvim',
180180- 'nvim-lua/plenary.nvim',
181181- },
182182- opts = {
183183- listen_registry_key = "custom_registry_name",
184184- },
185185-}
186186-```
187187-188188-Or using the setup function:
189189-190190-```lua
191191-{
192192- 'yourusername/registry-nvim',
193193- dependencies = {
194194- 'folke/neoconf.nvim',
195195- 'nvim-lua/plenary.nvim',
196196- },
197197- config = function()
198198- require('registry-nvim').setup({
199199- listen_registry_key = "custom_registry_name",
200200- })
172172+ -- Or with manual control of monitoring
173173+ registry.setup()
174174+ -- Later in your config:
175175+ registry.start_monitor()
201176 end,
202177}
203178```