Sidebar, search, and keyboard
This page holds what every screen of the web UI shares: the sidebar, search, vector search, and the keyboard shortcuts. For what a work item, chain, node and gate are, see Vocabulary.
The sidebar
The sidebar on the left reaches every page.
| Entry | What it opens |
|---|---|
| Search (⌘K, or Ctrl+K) | A search box over any page. See Search. |
| Board, Analytics | The work items by what they need from you, and the Analytics page. |
| Templates | Chains and Library. |
| Settings | Repos, Harnesses, Policy, Auto-intake, Notifications, Access, Appearance, Storage and About. |
| The version, at the foot | About. update beside it appears when a newer Kraft is available, and restart when an installed update waits on a restart. |
The sidebar starts pinned open. The button at the top right of the sidebar (⌘\, or Ctrl+\) unpins it. It then takes no room, and opens over the page while the pointer is at the left edge of the window or over the sidebar, closing shortly after the pointer leaves. Keyboard focus opens it too. Your choice is kept in the browser.
Search
Search finds work items, documents, issues in beads and pages.
- An item waiting at a gate shows there as Review and the gate's name, and opens straight onto that gate's review.
- A document opened from a search shows the search's matches in it, with ↑/↓ to step through them.
- Filters, at the right of the tabs, narrows the documents.
Search is full-text out of the box. Vector search says how to add semantic matching.
Vector search
Search works out of the box in full-text mode. To add vector (semantic) search
to a uv or script install, reinstall the version you run, on the Python it runs
on, with the vector extra. It downloads a model of about 130 MB on the first
search.
uv tool install --force --python 3.X "kraft-sdlc[vector]==X.Y.Z"
Name both the Python and the version. Without the version, uv installs the
newest final release, which on a release candidate is an older Kraft that
refuses to start on its database. Without --python, uv rebuilds Kraft on its
own default Python. kraft --version prints kraft X.Y.Z.
kraft admin doctor's embeddings row prints this command filled in for your
install. On a pipx or pip install it prints that installer's command instead;
the Homebrew formula does not ship the vector extra.
If the model cannot be downloaded (offline, or a proxy refuses Hugging Face),
search keeps working as full-text search and says so in a note. A search
that asks for mode=vector answers 422 with the reason. kraft admin doctor
fails its embeddings row, and /api/health reports the model's state as
failing.
On an Intel Mac, or on Apple Silicon before macOS 14, the vector extra
installs only on Python 3.12 or 3.13: on 3.14 the package that runs the model,
onnxruntime, has no build for those Macs, and the install fails to resolve.
Install Kraft with --python 3.13 there. A plain uv tool install or
install.sh can pick 3.14 when the machine has no Python 3.12 or newer.
Keyboard shortcuts
The shortcuts the web UI has, by screen. Keys that work as in any form, such as Tab, or ↵ in a one-line box, are listed only where a screen adds a rule. ⌘ is the Mac key; on any other keyboard use Ctrl in its place, and the web UI prints the one your keyboard has. A shortcut marked "outside a box" does not fire while the cursor is in a box that takes text.
Everywhere
| Keys | Where | What it does |
|---|---|---|
| ⌘K | Every page, with the cursor in a box too | Opens search. |
| ⌘\ | Every page, outside a box | Pins the sidebar open, or unpins it. |
| Esc | The sidebar, while it is unpinned | Gives focus back to the page, which hides the sidebar. |
| ↑, ↓, ↵, Esc | Search | ↑/↓ move through the results and stop at the first and the last, ↵ opens the highlighted one, Esc closes search. |
| ⌘↵ | A box you write a steer, an answer, a note, a reason or a comment in | Sends it, as its button would, once the button is enabled. ↵ starts a new line. |
| ←, →, Home, End | A row of tabs, such as the tabs in search | Moves to the previous, next, first or last tab, and selects it. |
| ←, →, ↑, ↓, ↵, ⌘↵ | A focused node in a chain graph | The arrows move between the steps and between the tasks in a step. ↵ opens the node, and ⌘↵ expands it. |
| ←, →, Home, End | A pane's resize handle | ← widens the pane and → narrows it. Home and End set its smallest and largest width. |
Board
| Keys | Where | What it does |
|---|---|---|
| / | The board, outside a box | Moves the cursor to Filter by title or id. |
| ↑, ↓ | The board, on a row | Moves to the row above or below, across groups. |
| Space | The board, on a row | Ticks or unticks the row, to select several items. |
| ⌘↵ | The board, on a row | Opens the item's full page instead of the side panel. |
| Esc | The board, with the side panel open | Closes the side panel. |
| Esc | The new work item box, and the new-item page | Closes it. If you typed a title or a brief, it asks before it throws them away. |
Item page
| Keys | Where | What it does |
|---|---|---|
| Esc | An item's page, with the cursor outside a box and no menu or dialog open | Steps back one: whatever is open over the page first, then the inspector folds, then a node view goes back to the chain. See What Esc does on the page. |
| ↵, Esc | The item's title, while you rename it | ↵ saves the new title, Esc keeps the old one. |
Review page
| Keys | Where | What it does |
|---|---|---|
| Esc | The review page, outside a box and with no menu or dialog open | Goes back to the item's chain. |
| ↑, ↓, Shift+↑, Shift+↓ | The review page, on a file's lines | Picks the line above or below, or extends the pick to it on the same side. |
| c, ↵ | The review page, with a line picked | Opens the comment box on the pick. |
| n, p | The review page, on a file's lines | Moves to the next or previous file's lines. |
| Esc | A comment box on the review page | Cancels the comment. If you wrote something, it asks first. |
Templates and Settings
| Keys | Where | What it does |
|---|---|---|
| ⌘Z | Chains, Library, and the Repos, Harnesses, Policy and Auto-intake screens, outside a box | Undoes the last change to the draft. |
| ⌥←, ⌥→ | Chains and Library, outside a box | Moves the selected node, or the selected step in a node view, one place earlier or later. |
| F2 | The Library pane, outside a box | Renames what the pane shows. |
| / | The Library list, outside a box | Moves the cursor to the list's filter. |
| Esc | Repos, Harnesses, Policy and Auto-intake, outside a box | Leaves Review & publish, then the YAML view. |
| Esc, Tab | A YAML editor | Esc leaves the editor. Tab indents two spaces, and Shift+Tab leaves it. |
| ↑, ↓, Home, End | The bottom pane's resize handle in Chains and Library | ↑ makes the pane taller and ↓ shorter. Home and End set its smallest and largest height. |
Menus and dialogs
| Keys | Where | What it does |
|---|---|---|
| Esc | A dialog, menu or card | Closes it. One that holds text you typed stays open: use its Cancel. |
| ↑, ↓, Home, End | An open menu | Moves between its entries. Tab closes the menu. |
How Tab and Shift work on the review page's lines is in From the keyboard.
Related
- The setup wizard on first start: the setup steps the board shows when no repo is connected.
- File a work item: the composer and the new-item page.
- The board: the groups, a row's button, the filters, selecting several items, archived items and the side panel.
- An item's page: the header's actions, the chain graph and the inspector.
- The review page: Compare, Viewed, commenting on a line, Finish review and the page at a gate.
- Templates and Settings: the Chains and Library screens and each Settings screen.
- Kraft on a phone: the phone layout and the buttons on a stopped item.