Sub-issue of #10. Tracking the UI consumer for `catalog/keybindings.json`.
State today
- Sync: `scripts/sync-keybindings.js` runs on the weekly cron, writes `catalog/keybindings.json` (20 contexts: `Global`, `Chat`, `Autocomplete`, `Settings`, `Confirmation`, `Tabs`, `Help`, `Transcript`, `HistorySearch`, `Task`, `ThemePicker`, `Attachments`, `Footer`, `MessageSelector`, `DiffDialog`, `ModelPicker`, `Select`, `Plugin`, `Scroll`, `Doctor`).
- Backend: round-trips through `read_catalog` as `keybindings` on the wire.
- Frontend: nothing reads it. Declared as `keybindings: unknown` in `src/lib/catalog.ts`.
Blocker on the natural consumer
The natural consumer is a drawer cross-reference for `~/.claude/keybindings.json` entries — but knobs.cc doesn't read `keybindings.json` today (only `settings.json` layers across the precedence stack). A UI consumer requires a new read path first.
Decision needed: add the prerequisite read path, or de-scope the catalog from cron sync until a consumer exists.
Related
Sub-issue of #10. Tracking the UI consumer for `catalog/keybindings.json`.
State today
Blocker on the natural consumer
The natural consumer is a drawer cross-reference for `~/.claude/keybindings.json` entries — but knobs.cc doesn't read `keybindings.json` today (only `settings.json` layers across the precedence stack). A UI consumer requires a new read path first.
Decision needed: add the prerequisite read path, or de-scope the catalog from cron sync until a consumer exists.
Related