Dashboard Tour

How the /account dashboard shell is laid out, and the palette, menus and shortcuts that move you through it.

CaptainCore Manager serves its dashboard at /account. It is a hand-maintained single page application in templates/core/, with no build step and no bundler. The markup lives in app.html, the logic in app.js, and each screen adds a mixin file beside them. The original Vue dashboard from the 0.x era still ships as a fallback behind ?ui=legacy.

This page covers the shell: the sidebar, the top bar, the command palette, right-click menus, shortcuts and themes.

The sidebar

The sidebar starts with the brand lockup. The anchor glyph links to the site homepage, and the company name beside it returns to the Home screen. Under it sits a “Search fleet…” box with a ⌘K hint that opens the command palette.

Navigation is split into three labelled groups.

Workspace holds the day to day screens: Home, Sites, Domains, Accounts and Billing. Sites and Domains carry a count badge once the fleet has hydrated. Customers get Reports in this group as well.

Operate only renders for operators. It holds Security, Site Audits, Activity, Reports and Archives.

Manage holds Users and Settings for operators, and Settings alone for customers.

Below the groups is the user card, showing your name, your role and your Gravatar (or an initials monogram when you have none). Clicking the card opens Profile. A log out arrow sits at its right edge. When the Minn Admin plugin is active on the same site, administrators also get a small m button here that opens Minn Admin in a new tab. When you are viewing the dashboard as another user, a “Switch back” pill appears above the user card.

The sidebar collapses with the toggle at the far left of the top bar or with ⌘., and the choice is stored per browser. On screens at or below 760 pixels it behaves as an overlay drawer instead, and phones start with it closed.

The top bar

The top bar shows the current screen title with an optional context chip beside it, then a set of controls on the right.

Screens with a primary create action put their button here: “+ New site” on Sites, “+ New domain” on Domains, “+ New account” on Accounts and “+ Add user” on Users.

When work is running you get a pulsing jobs pill. It reads “1 job running” or “3 jobs running”, and a lone fleet bulk run reads as its live progress instead, for example update · 47.1%. Clicking the pill opens the terminal dock. The count covers both jobs dispatched from your session and fleet bulk runs polled from the CLI dispatch server.

Next to it is the terminal dock button, titled “Terminal · ⌃`”, which carries a red dot while anything is running.

The question mark button opens “Help & shortcuts”. The dialog explains what ⌘K searches, how the terminal dock works, where right-click menus live, and lists every keyboard shortcut. It also stamps the plugin version. “Try ⌘K” closes it straight into the palette.

The last button toggles the theme. See Light and dark below.

The command palette

Press ⌘K from any screen, or click “Search fleet…” in the sidebar. The palette searches:

  • every site you can see, labelled with its provider and environments
  • every domain with an active DNS zone
  • a set of commands

The commands are “Open terminal”, “Show sidebar” or “Hide sidebar”, “Go to Billing → Invoices” and “Help & shortcuts”. Operators also get “Go to Security → Coverage”, “Go to Security → Core” and “Bulk tools on filtered sites…”.

With an empty query the palette shows the first eight items. Once you type, results are filtered on label, subtitle and kind, commands are ranked ahead of sites and domains, and the list is capped at eight. and move the selection, runs it, Esc closes.

Right-click menus

Rows across the dashboard answer a right-click with a menu built from that row’s own actions, so the menu cannot drift from the row.

A fleet site (in the Sites table, the cards, the list sections, the pinned strip and the Home pinned rows) offers “Open site”, “Login to WordPress ↗”, “Pin to top” or “Unpin”, “Visit site ↗”, “Open terminal” and “Copy domain”.

A domain row offers “Open domain”, “Visit site ↗”, “Copy domain” and, for operators, “Delete domain…”.

An account row offers “Open account”, “Open sites in terminal” and “Copy account name”.

A user row on the Users screen offers “Edit user”, “Access as ” when switching is available, “Open account ” for up to three of their accounts, and “Copy email”.

A site user row offers “Magic login”, “Copy email” and “Delete user…”.

A job in the terminal dock offers “Copy output” once the stream has content, and “Cancel job” while it is running.

The theme button and the Sites view switcher answer a right-click with a preference picker rather than actions.

Keyboard shortcuts

These are the shortcuts listed in the Help & shortcuts dialog. On Windows and Linux, use Ctrl in place of .

Shortcut Action
⌘K Command palette: sites, domains and commands
⌃` Show or hide the terminal dock
⌘⏎ Run the terminal command, or submit a timeline note
⌘. Show or hide the sidebar
↑ ↓ ⏎ Move through palette results and pick one
Esc Close menus and dialogs, one layer at a time

Esc peels one layer at a time: a rollback sub-dialog first, then an open dropdown, then a context menu, then every remaining dialog.

Light and dark

The theme button click toggles light and dark only. Right-click it for the full picker: System, Light and Dark, with the current choice ticked. The preference is stored in localStorage under captaincore-theme and syncs across open tabs. System follows the operating system setting live. The button title reads “Theme: System”, “Theme: Light” or “Theme: Dark”.

Operator and customer

The role comes from WordPress. templates/core.php maps the administrator role to operator and every other role to customer, and the user card prints the result as “Operator” or “Customer”.

Operators see the full Operate group, get the “+ New account” button, can delete domains from the row menu, and get the operator-only palette commands. On a site’s Environment card, the “Uptime monitor” and “Managed updates” rows are shown to operators only.

Customers see a shorter shell. Their Workspace group includes Reports, their Manage group is Settings alone, and the Operate group is not rendered. The Home launcher reads “My sites”, “Domains”, “Billing”, “Reports” and “Get help” rather than the operator’s “Sites”, “Domains & DNS”, “Security”, “Billing” and “Activity”. Under the Accounts list, customers get a live chat banner, since Intercom ships only on customer sessions. Creating accounts is operator-only on the server, so customers reach accounts through invites or site requests.

Scoping is enforced in the REST API, not just the interface. Non-admin users are automatically scoped to the accounts they belong to.

Home

Home opens on a greeting and a fleet summary line, then a launcher grid of section cards with a live count on each. Below that, “Needs attention” lists open signals with a coloured dot and a suggested action, “Recent activity” plays the activity log, and a pinned section reads “Pinned sites” for operators and “Your sites” for customers.

The attention feed is built from real signals: /activity-logs for any logged in user, and /security-threats plus /update-queue for operators only. Sites with no account are derived client side from the hydrated fleet.