Skip to content

Keyboard Shortcuts

Sia edited this page May 31, 2026 · 2 revisions

Keyboard Shortcuts

Global keyboard shortcuts loaded on every SSR page via defer-loaded /static/keyboard.js (no external dependencies).

Press ? on any page to toggle a help overlay.

Shortcuts

Two-key sequences inspired by vim and GitHub:

Keys Goes to
g d / (dashboard)
g p /projects
g c /chat (General Chat)
g h /history (cross-project search)
g l /logs (build log grep)
g e /env-setup
g s /settings
g a /audit
? Toggle help overlay
Esc Close overlay

Behavior

  • Disabled while typing. Ignored when focus is inside <input>, <textarea>, <select>, or a contenteditable element. So normal text entry in the console / prompt template forms is unaffected.
  • Modifier keys reserved. Ignored when Ctrl / Cmd / Alt is held — those belong to the browser and OS.
  • Sequence timeout 800 ms. Type g then wait too long → the leading g is forgotten. Type g p quickly → navigation fires.
  • Help overlay opens centered, click-outside or Esc to close.

Customization

The shortcut map is in server/src/main/resources/static/admin/keyboard.js (shortcuts object literal). Add or change entries there; no build step needed — the file is served as-is.

If you fork and want shortcuts that don't conflict with browser defaults:

  • Avoid Ctrl-K, Ctrl-/ (in-page search), and any single-key alphabet.
  • 2-key sequences starting with g (go) are the safest pattern.

Why not Cmd-K-style command palette?

A palette is more discoverable but needs fuzzy search, icons, and a fetched index of routes. The current shortcut set covers every page that gets repeated daily; the help overlay (?) acts as a lightweight reference. A full palette is on the Home roadmap.

Clone this wiki locally