Skip to content
Black FridayBlack Friday launch price: Lifetime $149 until 30 Nov. Regular price $299 from 1 Dec.ends in 15d 03:13:30Get Lifetime →
loopkit
proDashboard · Next.js + Tailwind

Foreman

A dashboard for operating a fleet of AI agents: live status, runs by hour, a per-run trace in a side sheet, an approvals queue with per-agent rules, and daily budgets that agents stop themselves at.

loopkitui.com/t/agent-ops-consolescroll inside ↓

Built from

For: Ops and platform teams running several AI agents against real systems.

prompt
You are building a complete dashboard app screen with Loopkit: the "Foreman" template.

Goal: A dashboard for operating a fleet of AI agents: live status, runs by hour, a per-run trace in a side sheet, an approvals queue with per-agent rules, and daily budgets that agents stop themselves at.
Audience: Ops and platform teams running several AI agents against real systems.

Stack: Next.js App Router, TypeScript, Tailwind CSS v4, framer-motion. Colour tokens are shadcn's plus Loopkit's --signal, --ok, --warn, --info (see https://loopkitui.com/docs/theming). Light theme by default, dark via the .dark class.

1. Install the Loopkit components this page uses:
   npx shadcn@latest add https://loopkitui.com/r/agent-status.json   # Agent Status
   npx shadcn@latest add https://loopkitui.com/r/run-timeline.json   # Run Timeline
   npx shadcn@latest add https://loopkitui.com/r/approval-inbox.json   # Approval Inbox
   npx shadcn@latest add https://loopkitui.com/r/dash-kit.json   # dash-kit
2. Create app/page.tsx with the source below. Keep the section order and the copy structure; replace the product name, copy and links with mine.
3. Check it at 360, 768, 1440 and 2560 px wide, in light and dark, with reduced motion on and off. The console must be clean.

Page source:

```tsx
"use client";

import * as React from "react";
import { AgentStatus } from "@/components/loopkit/agent-status";
import { RunTimeline } from "@/components/loopkit/run-timeline";
import { ApprovalInbox } from "@/components/loopkit/approval-inbox";
import {
  DashShell,

The full page is in Pro.

Get Pro