App Shell

The frame every module renders inside: the five regions of an authenticated page, how workspace scoping reaches the routes, the command palette's three modes, the Settings overlay, and notifications.

The App Shell is the frame every module renders inside — the navigation, chrome, and persistent surfaces that stay put while Dotabases, Chat, or Marketplace occupies the page. It determines what you can reach from the current page and what carries over when you move to another.

What Is Dots? describes the platform model these surfaces expose, and Quickstart brings up an instance of your own.

The Five Regions

Every authenticated page is assembled from the same five regions.

The module rail is the narrow strip down the left edge, and it is the application switcher. Each entitled module gets one item; the Dots mark at the top returns you to the home canvas. The rail shows at most seven items and spills the rest into a More popover rather than scrolling, and you can run it as icons only or icons with labels.

The module sidebar sits beside the rail and belongs to whichever module is active — each module supplies its own, and some supply none. Under Dotabases it is the Spaces sidebar: your Spaces, the Dotabases filed inside them, and the nested pages beneath those, all drag-reorderable across Spaces, with collapse state remembered per user. Under Chat it is your conversations.

The top bar carries three zones. On the left, the workspace switcher — the chip naming your active workspace, which opens to the workspaces you belong to, a Settings cog, an Invite button, and Create Workspace. In the center, the search field, which is really a launcher for the command palette. On the right, the notification bell and your avatar.

The page canvas is the module's own surface, topped by breadcrumbs that truncate from the trailing crumb so the current page keeps its name.

The right drawer is a stack. Opening a row from search or a table gives you a peek — a resizable panel you can read without losing your place — and the peek can be expanded into its own full page, pinned, or left open while you open another on top of it. Layers pop in reverse order, so you can walk back out the way you came in.

One Workspace At A Time

Everything you see is scoped to one workspace, the tenant the switcher names. Modules your workspace is not entitled to are not merely hidden from the rail — their routes do not exist, so a deep link into one is an honest 404 rather than a silent redirect.

The Command Palette

The palette is the shell's keyboard surface, and it has three modes in one control. Press the platform modifier with K and you get search, over every you can read. Type a leading > and it becomes an action list. Press the modifier with / and it becomes a module launcher.

The palette is non-modal: no scrim, no focus trap. Clicking outside closes it and lets the click land on whatever you hit, so the page underneath stays interactive. Escape closes it and returns focus where it came from. Search Your Workspace covers it in full, including the scope and filter bands and the handoff into Chat.

Beyond the palette, the shell binds a full shortcut map — switching modules by number, tab management, drawer navigation, pinning the sidebar. Press ? anywhere to see the current list rather than trusting a copy of it.

Settings

Settings opens as an overlay from the avatar menu, the workspace switcher's cog, or the modifier with comma. It is deep-linkable: the open tab is written into the URL hash, so a settings screen can be bookmarked or handed to someone else.

The tabs are grouped four ways — Account, Workspace, HUMAN.md, and Modules — covering your profile and notification preferences, appearance, workspace general and AI configuration, integrations, repositories, usage, registered project folders, and the module-contributed tabs for access and MCP. Some tabs appear only where they apply; the desktop-only surfaces are absent from a plain browser session rather than shown broken.

Appearance is where the theme lives: light, dark, or system, plus a DIIICE accent color and the accessibility toggles for reduced motion, high contrast, and focus rings. Theme is stored on your account rather than in the browser, so it follows you between machines.

Notifications

The bell carries a live unread count and opens an inbox drawer — filtered by unread, all, or archived, grouped into today, this week, and older. Notifications arrive over a live connection, so the count moves without a refresh.

What Else Lives Here

Two adjacent surfaces are documented elsewhere. Views and lenses covers the view types a Dotabase can be seen through — table, board, gallery, calendar, graph, and dashboard — all of which render on the page canvas. llms.txt describes the machine-readable index this documentation site publishes for agents.

App Shell · This page in the graph

Connected Records19

Documented by
Mentions
DOT
References
19 connections.

Where To Go Next

Reading this as an agent?For Agents
Something wrong on this page?Dots On GitHub