Skip to content

Monitors ​

A monitor is a saved view of one stream of work: a set of work buckets, the jobs that work them, and the repository the work happens in. It is where you will watch progress, answer questions and steer the agents doing that work.

In development

You can create and edit monitors from the command line, read a monitor's board (flightdeck monitor board) and chat with it (flightdeck monitor chat). In the app, a monitor is a saved group of Flights on Overview, with its board. Questions beside the board, and acting on notification and wake rules, are still being built. This page marks each part.

Part of the redesign

The redesigned Overview page is where you watch a monitor in the app. See What's coming.

A monitor is a note ​

Each monitor is a note in your workspace's monitors/ folder:

markdown
---
fd: monitor
id: example-work
title: Example work
repo: ~/projects/example-app
buckets:
  - "[[ops-bucket-example]]"
jobs:
  - "[[example-job]]"
notify:
  - run-failed
  - question-opened
  - idle-runs
idle_runs: 3
wake_on:
  - run-failed
wake_prompt: "Look at the failed run and tell me what broke."
---
Free notes, kept byte for byte.
  • buckets: 1 to 20 work buckets. jobs: up to 20 jobs.
  • repo: the repository the monitor's work happens in, as a ~/ path.
  • Unknown properties and the body are kept as you wrote them. Flightdeck never overwrites a monitor note it can't read.

Manage monitors from the command line ​

Available now:

sh
flightdeck monitor list
flightdeck monitor show example-work --json
flightdeck monitor create example-work --title "Example work" \
  --repo ~/projects/example-app --bucket ops-bucket-example \
  --job example-job --dry-run
flightdeck monitor edit example-work --notify run-failed
flightdeck monitor delete example-work
flightdeck monitor board example-work
flightdeck monitor chat example-work --message-file note.md

Buckets and jobs are given as bare ids, and each must already exist as a valid note. --dry-run checks everything and prints the note it would write, without writing anything. Each real change is committed to your workspace.

Watching a monitor ​

  • On Overview (Works today): the Flight picker and saved groups let you choose what to watch, and the board shows counters, an estimated finish, what is running now and recent runs.
  • The chat (Works today, from the command line): each message starts one short headless run in the monitor's repository, at most 30 minutes, one at a time. The transcript stays on your Mac.
  • Questions beside the board (In development): the open questions for the work you're watching, answered in place. They also stay in Needs You.

Notification and wake rules ​

In development

You can save these rules in a monitor note today. Acting on them is still being built.

A monitor can notify you when:

RuleWhen it fires
run-failedA run of one of its jobs failed
question-openedA new question opened
idle-runsidle_runs runs in a row found nothing to do (1 to 20)
eta-slippedThe estimated finish slipped by more than a day

Flightdeck decides these from data, with no AI model. A wake rule goes one step further: when one of the chosen notifications fires, it starts a chat run with your wake_prompt. Every wake rule must also be a notify rule.