Command Palette

The Command Palette is the fastest way to move around Axogram. Press Ctrl+K (or +K) anywhere in the app and a single input field becomes four tools at once: a global search, a route launcher, an ID lookup, and a command runner.

The Golden Rule: the first character you type decides what the palette does. No first character means a global search across all your content.

Mode strip and the five modes

* (or no prefix)
Global search
Searches across all entities — works, artists, exhibitions, literature, dictionaries, posts, pages, categories, tags, assets, authors, licenses. Uses PostgreSQL full-text search with diacritic folding (orleans matches Orléans).
/
Goto routes
Lists in-app routes from the app manifests. As you type, the list narrows: / → all apps; /cm → CMS routes; /dam/ → all DAM types.
#
ID lookup
Finds entities whose ID starts with the digits you type. #112 matches 112, 1120…1129, 11200…11299, etc., across every searchable table.
>
Commands only
Filters only the registered application commands — toggling panels, opening menus, navigation. No entity search noise.
?
Inline help mode
Shows a compact in-palette reference of all modes and syntax shortcuts. Your current term is retained (?dam stays contextual).

The mode strip at the top-right mirrors these five modes. You can click a chip or keep typing prefixes directly — both stay synchronized.

Global search

Command Palette in global search mode showing results for "orleans"

Type at least three characters and the palette fans out a parallel PGroonga search across every searchable entity, scores the hits, and shows the top eight. Each row tells you which app and entity it came from, so “mam · assets” is unmistakable next to “dam · works”.

Diacritics are folded server-side, so “orleans”, “Orléans”, and “ORLEANS” all return the same hits.

Goto routes — typing /

Command Palette in goto mode showing all in-app routes

The route list is built from each app’s manifest, sorted alphabetically by app, with the app overview followed by each registered type. As you type, the list narrows by prefix:

/
Show everything
All apps and all their types.
/cm
Filter by app prefix
/cms, /cms/posts, /cms/pages, /cms/categories, /cms/tags.
/dam/
Show all types in DAM
/dam/works, /dam/artists, /dam/exhibitions, /dam/literature, /dam/dictionaries.

If the typed input parses as a handle or URL — like @tansey/dam/works/10567 or a full https://… link — a “Go to …” entry is added at the bottom for direct navigation.

ID lookup — typing #

Command Palette in ID lookup mode showing all entities whose ID starts with 11

If you remember an ID — or even just the first few digits — type # followed by the digits. The palette returns every entity across every app whose ID starts with that prefix, shortest IDs first. #11 finds 11, 112, 117, then 1100, 1101, … and so on, capped at the eight closest matches.

This is the fastest way to jump straight to a record when you have a reference number from a database, an email, or a colleague.

Commands only — typing >

Command Palette in commands-only mode

Borrowed from the VS Code convention, > tells the palette to look only at registered application commands — toggling panels, switching navigation, opening the help panel. No entity rows mixed in, just the things the application itself can do.

Keyboard shortcuts

Ctrl+K / +K
Open the palette
Anywhere in the app. The current query is preselected, so just start typing to overwrite it.
Ctrl+Enter
Next mode
Cycles mode chips in order: * → / → > → # → ?. Keeps focus in the input and preserves your term.
Ctrl+Shift+Enter
Previous mode
Cycles backwards through the same mode sequence.
/
Move selection
Up and down through the result list, with edge wrap.
Enter
Execute
Navigate to the selected result, jump to the route, or run the command.
Esc
Close
Closes the palette without changing context.

Edit the previous query
When the palette reopens with the previous query preselected, an arrow key drops the cursor at the end of the text instead of overwriting.

Tips

Three-character minimum
For global search
Below three characters the palette stays quiet. Two-character queries match too much, both for the database and the eye.
Eight results, always
Predictable ceiling
Across all result-producing modes, the palette caps at eight rows so it never feels noisy. Refine the query if your target isn’t there.
Recent-first empty state
Discovery by habit
When the input is empty, the palette starts with a Recent section (entities, routes, and commands from your own usage history).
Mode prefixes are exclusive
/, #, > never trigger global search
This keeps each mode focused: typing /m won’t accidentally search every table for the letter m.
Click or keyboard
Both work everywhere
Every result is also a button — click is equivalent to selecting and pressing Enter.

Summary

One shortcut, five modes, eight results. The Command Palette removes the question of where in Axogram a thing lives — search by name, jump by route, find by ID, inspect help inline, or run a command, all from the same input.