Skip to main content
Nexus is Pylon’s full-screen terminal dashboard, built with Bubbletea. It lets you manage pylons, start and stop the daemon, monitor jobs, and configure pipelines — all from one screen.

Layout

Nexus uses a two-panel design:
  • Left sidebar — Shows the Pylon logo with an animated spinner, the current version (with upgrade indicator when a new release is available), daemon status (ON/OFF), and a list of all configured pylons. Each pylon has a status indicator: a filled diamond means active, an empty diamond means disabled.
  • Right panel — Switches between the home view (detail for the selected pylon) and wizard views (setup, construct).
A vertical gold separator divides the two panels. The bottom of the screen shows context-sensitive keybinding hints that change based on the current view and focus state.

Home view

The home view is the default screen. The left sidebar lists all your pylons. Navigate the list with j/k (or arrow keys), and press l or enter to shift focus into the detail panel for the selected pylon. Press h or esc to return focus to the list. When no pylons exist, Nexus shows a prompt to press c to construct one or g to run global setup. Each pylon row in the sidebar shows:
  • The pylon name (truncated if too long)
  • A status diamond: filled green when a job is active, filled dim when idle, outlined when disabled

Detail view

When you select a pylon, the right panel shows its full configuration and job history.

Configuration section

The detail view displays:
  • Trigger — The trigger type and its path (for webhooks) or cron expression with a human-readable description (for cron triggers)
  • Timezone — For cron pylons, the resolved timezone
  • Next run — For cron pylons, the next scheduled fire time with a countdown (e.g. “Mon Apr 13 09:00 (in 2h 30m)”)
  • Webhook URL — For webhook pylons, the full public URL with a [y] copy hint
  • Workspace — The workspace type, repository, ref, and path
  • Agent — The agent type and authentication method
  • Channel — The notification channel type
  • Topic — The topic template (if configured), truncated to 36 characters
  • Message — The message template (if configured), truncated to 36 characters
  • Auto-run — Whether the pylon runs automatically or requires approval
  • Prompt — The agent prompt, shown as a truncated single line by default. Press p to expand the full prompt text.

Job history table

Below the config section, a job history table shows the 20 most recent jobs. Toggle visibility with t. The table columns are: Navigate jobs with j/k when the detail panel is focused. Selecting a failed job shows its error message inline below the row.

Keybindings

Pylon management

Daemon control

Detail view actions

These keys are available when the detail panel is focused (after pressing l or enter):

Job actions

These keys are available when a job is selected in the job history table:

Global

Message template builder

The message template builder is an interactive tool for composing notification message templates from webhook payload fields. Open it by pressing a from the detail view. The builder reads the most recent job’s trigger payload and presents its fields organized into collapsible groups. You can browse the payload structure, see sample values from the real data, and check off the fields you want included in your message template. Selected fields are rendered as labeled Go template expressions (e.g. Title: {{ .body.event.title }}). A live preview of the generated template appears at the bottom of the screen as you select fields. The template is saved to the pylon’s channel.message config field.

Setup wizard

Press g from the home view to launch the global setup wizard inside Nexus. This is the same wizard as pylon setup, but embedded in the TUI rather than running as a separate process. It walks through Docker verification, channel configuration, agent selection, and public URL setup. Press esc to cancel the wizard (with confirmation) and return to the home view.
Nexus requires a terminal with at least 60 columns. If the terminal is too narrow, it displays a resize prompt instead of the dashboard.