Create or update Vicinae extensions in this repo...
Follow the repo’s established Vicinae extension patterns for structure, caching, actions, and build workflow. Prefer the same defaults and shortcut semantics used across existing extensions.
references/extension-template.md.package.json using the Vicinae schema.persistQueryClient (see references/cache-patterns.md).references/action-ux-standards.md), preferring Keyboard.Shortcut.Common.* values before hardcoded key combos.pnpm -C <extension> lint and pnpm -C <extension> build.pnpm -C <extension> dev.staleTime aligned unless there is a clear reason to diverge.package.json name.extension_icon.png (512x512) in assets/.mode: "view".@vicinae/api in dependencies.persistQueryClient with a Vicinae Cache-backed persister for cross-session persistence.gcTime aligned with persistQueryClient maxAge.onError.Keyboard.Shortcut.Common.* for standard actions so user-customized keybindings are respected.{ modifiers, key } shortcuts only when there is no matching common shortcut (for example: Toggle Detail).Copy, CopyName, CopyPath, CopyDeeplink, Open, OpenWith, Refresh, Save, New, Edit, Duplicate, MoveUp, MoveDown, Pin, Remove, RemoveAll).Action.* wrappers (Action.OpenInBrowser, Action.CopyToClipboard, Action.RunInTerminal) before custom Action when behavior matches.showToast during render; it causes repeated toasts and jitter.Keyboard.Shortcut.Common.* value exists.closeMainWindow().Official Vicinae Documentation:
https://docs.vicinae.com/extensions/introductionhttps://docs.vicinae.com/extensions/createhttps://docs.vicinae.com/extensions/file-structurehttps://docs.vicinae.com/extensions/manifesthttps://docs.vicinae.com/extensions/view-commandhttps://docs.vicinae.com/extensions/no-view-commandhttps://docs.vicinae.com/extensions/debug-raycasthttps://api-reference.vicinae.com/modules.htmlRepo-specific patterns:
references/extension-template.md.references/cache-patterns.md before coding.references/action-ux-standards.md.