Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
kinetix-keyboard-shortcuts
kinetix-keyboard-shortcuts
happones/kinetix
claude-code
keyboard-shortcuts
hotkeys
vue-directives
composables
help-overlay
key-sequences
settings

App-wide keyboard hotkeys — conflict-safe single keys & sequences, a v-kinetix-hotkey directive, a useKinetixHotkeys composable, a `?` help overlay, and per-user overrides. Activates when adding shortcuts, binding actions to keys, or building the help UI.

Install
php artisan boost:add-skill happones/kinetix

Save this content to: .claude/skills/kinetix-keyboard-shortcuts/SKILL.md

# Kinetix Keyboard Shortcuts Development

## When to Apply

Activate this skill when:
- Adding keyboard shortcuts (`v-kinetix-hotkey` directive or `useKinetixHotkeys`).
- Binding a Kinetix Action (or any element) to a key.
- Building the `?` help overlay or wiring per-user binding overrides.

## Documentation

For full details, reference `docs/keyboard-shortcuts.md` (published at https://happones.github.io/kinetix/keyboard-shortcuts).

Frontend-only module — no backend, no config.

---

## Conflict-safe scheme (important)

Do **not** map actions to browser/OS-reserved `Ctrl+`-combos (copy/new/save/print).
Use: single keys when not typing (`c`/`e`/`d`/`/`), Gmail-style sequences (`g i`),
`mod+…` for the rare modifier case (⌘/Ctrl, fires while typing), and `?` for help.
Keystrokes are ignored while typing in inputs; `preventDefault` only on a match.

---

## Usage

Register the plugin once: `app.use(KinetixHotkeys)` (from `@/plugins/kinetixHotkeys`).

```vue
<button v-kinetix-hotkey="'c'" @click="create">New</button>            <!-- clicks the element -->
<button v-kinetix-hotkey:Inbox="{ keys: 'g i', handler: goInbox }">Inbox</button>
```

```ts
import { useKinetixHotkeys } from '@/composables/useKinetixHotkeys'
const { register } = useKinetixHotkeys()
register({ keys: 'c', label: 'Create', handler: openCreate }) // auto-cleanup on unmount
```

- **Grammar**: space-separated steps = a sequence; within a step `+`-join
  modifiers + one key (`mod+s`, `shift+?`). Sequences are plain keys only.
- **Help overlay**: mount `<KinetixShortcuts>` once; `?` lists labelled shortcuts.
- **Bind an Action**: put the directive on the action button (`v-kinetix-hotkey="'e'"`).
- **Per-user overrides**: `setHotkeyOverrides({ create: 'n' })`, persisted via the
  Settings module (`KinetixSettings::set('shortcuts.bindings', ...)`).
- Native matcher (no dep); `@vueuse/core` `useMagicKeys` is a documented drop-in
  alternative.

Kinetix Keyboard Shortcuts Development

When to Apply

Activate this skill when:

  • Adding keyboard shortcuts (v-kinetix-hotkey directive or useKinetixHotkeys).
  • Binding a Kinetix Action (or any element) to a key.
  • Building the ? help overlay or wiring per-user binding overrides.

Documentation

For full details, reference docs/keyboard-shortcuts.md (published at https://happones.github.io/kinetix/keyboard-shortcuts).

Frontend-only module — no backend, no config.


Conflict-safe scheme (important)

Do not map actions to browser/OS-reserved Ctrl+-combos (copy/new/save/print). Use: single keys when not typing (c/e/d//), Gmail-style sequences (g i), mod+… for the rare modifier case (⌘/Ctrl, fires while typing), and ? for help. Keystrokes are ignored while typing in inputs; preventDefault only on a match.


Usage

Register the plugin once: app.use(KinetixHotkeys) (from @/plugins/kinetixHotkeys).

<button v-kinetix-hotkey="'c'" @click="create">New</button>            <!-- clicks the element -->
<button v-kinetix-hotkey:Inbox="{ keys: 'g i', handler: goInbox }">Inbox</button>
import { useKinetixHotkeys } from '@/composables/useKinetixHotkeys'
const { register } = useKinetixHotkeys()
register({ keys: 'c', label: 'Create', handler: openCreate }) // auto-cleanup on unmount
  • Grammar: space-separated steps = a sequence; within a step +-join modifiers + one key (mod+s, shift+?). Sequences are plain keys only.
  • Help overlay: mount <KinetixShortcuts> once; ? lists labelled shortcuts.
  • Bind an Action: put the directive on the action button (v-kinetix-hotkey="'e'").
  • Per-user overrides: setHotkeyOverrides({ create: 'n' }), persisted via the Settings module (KinetixSettings::set('shortcuts.bindings', ...)).
  • Native matcher (no dep); @vueuse/core useMagicKeys is a documented drop-in alternative.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect