User templates are read only during rule initialization/reset. Opening the picker still uses the cached project rules file and does not scan template directories.
## Summary
- Add `template_dirs` config with default user template locations under Neovim config/data paths.
- Support `templates.user` as `string[]` for selected user templates or `true` for all discovered user templates.
- Support user template JSON files as either an array of presets or an object with `presets[]`.
- Add `:ProjectSearch templates` to inspect builtin/user template directories, active templates, and discovered user templates.
- Include template information in `:ProjectSearch health`.
- Add `docs/user-templates.md` with usage examples.
- Add a stable single-command interface: `:ProjectSearch <subcommand>`.
- Keep old command aliases after plugin load for backward compatibility.
- Fix command help output to include `help`.
- Deduplicate discovered user templates by template name so `templates.user = true` does not load the same name twice.
- Update user template docs to use the new subcommand style.
## Single command mode
After this PR, lazy.nvim users only need:
```lua
cmd = { "ProjectSearch" }
```
Subcommands:
```vim
:ProjectSearch
:ProjectSearch edit
:ProjectSearch init
:ProjectSearch init!
:ProjectSearch reset
:ProjectSearch path
:ProjectSearch validate
:ProjectSearch reload
:ProjectSearch templates
:ProjectSearch health
:ProjectSearch help
```
## Notes
User templates are read only during rule initialization/reset. Opening the picker still uses the cached project rules file and does not scan template directories.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
template_dirsconfig with default user template locations under Neovim config/data paths.templates.userasstring[]for selected user templates ortruefor all discovered user templates.presets[].:ProjectSearch templatesto inspect builtin/user template directories, active templates, and discovered user templates.:ProjectSearch health.docs/user-templates.mdwith usage examples.:ProjectSearch <subcommand>.help.templates.user = truedoes not load the same name twice.Single command mode
After this PR, lazy.nvim users only need:
Subcommands:
Notes
User templates are read only during rule initialization/reset. Opening the picker still uses the cached project rules file and does not scan template directories.